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; memoBuster: string; } export 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 type Platform = (typeof PLATFORMS)[number]; export declare function isPlatform(x: string): x is Platform; export declare const ORIENTATIONS: string[]; export type Orientation = 'portrait' | 'landscape'; export declare function isOrientation(x: string): x is Orientation; export type RnColorScheme = 'light' | 'dark' | null | undefined; export interface DeviceContext { windowDimensions?: { width: number; height: number; }; colorScheme?: 'light' | 'dark' | null; fontScale?: number; pixelDensity?: 1 | 2; platform?: Platform; } export interface ParseContext { isNegative?: boolean; fractions?: boolean; device?: DeviceContext; reactNativeVersion?: Version; } export type ColorStyleType = 'bg' | 'text' | 'border' | 'borderTop' | 'borderLeft' | 'borderRight' | 'borderBottom' | 'shadow' | 'tint' | 'decoration' | 'outline'; export type Direction = 'All' | 'Horizontal' | 'Vertical' | 'Left' | 'Right' | 'Top' | 'TopLeft' | 'TopRight' | 'Bottom' | 'BottomLeft' | 'BottomRight'; export type Style = { [key: string]: string[] | string | number | boolean | Style | Style[]; }; export declare enum ConfigType { fontSize = "fontSize", lineHeight = "lineHeight" } export type NullStyle = { kind: 'null'; }; export type CompleteStyle = { kind: 'complete'; style: Style; }; export type OrderedStyle = { kind: `ordered`; order: number; styleIr: StyleIR; }; export 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 type StyleIR = NullStyle | OrderedStyle | DependentStyle | CompleteStyle; export declare enum Unit { rem = "rem", em = "em", px = "px", percent = "%", vw = "vw", vh = "vh", deg = "deg", rad = "rad", none = "" } type NotImplemented = (...args: any) => unknown; export type AddedUtilities = Record; export type PluginFunction = (obj: { addUtilities(utilities: AddedUtilities): unknown; /** * @deprecated not supported in @jaredh159/twrnc */ addComponents: NotImplemented; /** * @deprecated not supported in @jaredh159/twrnc */ addBase: NotImplemented; /** * @deprecated not supported in @jaredh159/twrnc */ addVariant: NotImplemented; /** * @deprecated not supported in @jaredh159/twrnc */ e: NotImplemented; /** * @deprecated not supported in @jaredh159/twrnc */ prefix: NotImplemented; /** * @deprecated not supported in @jaredh159/twrnc */ theme: NotImplemented; /** * @deprecated not supported in @jaredh159/twrnc */ variants: NotImplemented; /** * @deprecated not supported in @jaredh159/twrnc */ config: NotImplemented; /** * @deprecated not supported in @jaredh159/twrnc */ corePlugins: NotImplemented; /** * @deprecated not supported in @jaredh159/twrnc */ matchUtilities: NotImplemented; /** * @deprecated not supported in @jaredh159/twrnc */ postcss: unknown; }) => unknown; export 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 type Version = { major: number; minor: number; patch: number; } | undefined; export {};