import type { ViewStyle, TextStyle, ImageStyle } from 'react-native'; export interface TailwindFn { (strings: TemplateStringsArray, ...values: (string | number)[]): Style; style: (...inputs: ClassInput[]) => Style; color: (color: string) => string | undefined; prefixMatch: (...prefixes: string[]) => boolean; setWindowDimensions: (dimensions: { width: number; height: number; }) => unknown; setFontScale: (fontScale: number) => unknown; setPixelDensity: (pixelDensity: 1 | 2) => unknown; setColorScheme: (colorScheme: RnColorScheme) => unknown; } export declare type ClassInput = string | string[] | boolean | null | undefined | { [k: string]: boolean | string | number; } | ViewStyle | TextStyle | ImageStyle; export declare const PLATFORMS: readonly ["ios", "android", "windows", "macos", "web"]; export declare type Platform = typeof PLATFORMS[number]; export declare function isPlatform(x: string): x is Platform; export declare const ORIENTATIONS: string[]; export declare type Orientation = 'portrait' | 'landscape'; export declare function isOrientation(x: string): x is Orientation; export declare type RnColorScheme = 'light' | 'dark' | null | undefined; export interface RnWindow { fontScale: number; height: number; width: number; scale: number; } export interface DeviceContext { windowDimensions?: { width: number; height: number; }; colorScheme?: 'light' | 'dark' | null; fontScale?: number; pixelDensity?: 1 | 2; } export interface ParseContext { isNegative?: boolean; fractions?: boolean; device?: DeviceContext; } export declare type ColorStyleType = 'bg' | 'text' | 'border' | 'borderTop' | 'borderLeft' | 'borderRight' | 'borderBottom' | 'shadow' | 'tint'; export declare type Direction = 'All' | 'Horizontal' | 'Vertical' | 'Left' | 'Right' | 'Top' | 'TopLeft' | 'TopRight' | 'Bottom' | 'BottomLeft' | 'BottomRight'; export declare type Style = { [key: string]: string[] | string | number | boolean | Style; }; export declare enum ConfigType { fontSize = "fontSize", lineHeight = "lineHeight" } export declare type NullStyle = { kind: 'null'; }; export declare type CompleteStyle = { kind: 'complete'; style: Style; }; export declare type OrderedStyle = { kind: `ordered`; order: number; styleIr: StyleIR; }; export declare type DependentStyle = { kind: 'dependent'; complete: (style: Style) => string | void; }; /** * An "Intermediate Representation" of a style object, * that may, or may not require some post-processing, * merging with other styles, etc. */ export declare type StyleIR = NullStyle | OrderedStyle | DependentStyle | CompleteStyle; export declare enum Unit { rem = "rem", em = "em", px = "px", percent = "%", vw = "vw", vh = "vh", none = "" } declare type NotImplemented = (...args: any) => unknown; export declare type AddedUtilities = Record; export declare type PluginFunction = (obj: { addUtilities(utilities: AddedUtilities): unknown; addVariant: NotImplemented; /** * @deprecated not supported in @jaredh159/twrn */ addComponents: NotImplemented; /** * @deprecated not supported in @jaredh159/twrn */ addBase: NotImplemented; /** * @deprecated not supported in @jaredh159/twrn */ e: NotImplemented; /** * @deprecated not supported in @jaredh159/twrn */ prefix: NotImplemented; /** * @deprecated not supported in @jaredh159/twrn */ theme: NotImplemented; /** * @deprecated not supported in @jaredh159/twrn */ variants: NotImplemented; /** * @deprecated not supported in @jaredh159/twrn */ config: NotImplemented; /** * @deprecated not supported in @jaredh159/twrn */ corePlugins: NotImplemented; /** * @deprecated not supported in @jaredh159/twrn */ matchUtilities: NotImplemented; /** * @deprecated not supported in @jaredh159/twrn */ postcss: unknown; }) => unknown; export declare type CreatePlugin = (pluginFunction: PluginFunction) => { handler: PluginFunction; config: undefined; }; export declare function isString(value: unknown): value is string; export declare function isObject(value: unknown): value is Record; export {};