import { PropertiesFallback, PropertiesHyphenFallback, AtRule, SimplePseudos } from 'csstype'; interface CSSCustomProperties { '--tw-bg-opacity'?: string; '--tw-text-opacity'?: string; '--tw-border-opacity'?: string; '--tw-divide-opacity'?: string; '--tw-placeholder-opacity'?: string; '--tw-shadow'?: string; '--tw-ring-inset'?: string; '--tw-ring-color'?: string; '--tw-ring-opacity'?: string; '--tw-ring-shadow'?: string; '--tw-ring-offset-color'?: string; '--tw-ring-offset-shadow'?: string; '--tw-ring-offset-width'?: string; '--tw-gradient-from'?: string; '--tw-gradient-to'?: string; '--tw-gradient-stops'?: string; '--tw-divide-y-reverse'?: string; '--tw-divide-x-reverse'?: string; '--tw-space-y-reverse'?: string; '--tw-space-x-reverse'?: string; '--tw-translate-x'?: string; '--tw-translate-y'?: string; '--tw-rotate'?: string; '--tw-skew-x'?: string; '--tw-skew-y'?: string; '--tw-scale-x'?: string; '--tw-scale-y'?: string; '--tw-ordinal'?: string; '--tw-slashed-zero'?: string; '--tw-numeric-figure'?: string; '--tw-numeric-spacing'?: string; '--tw-numeric-fraction'?: string; } interface CSSProperties extends PropertiesFallback, PropertiesHyphenFallback, CSSCustomProperties { } interface FontFace extends AtRule.FontFaceFallback, AtRule.FontFaceHyphenFallback { } interface CounterStyle extends AtRule.CounterStyleFallback, AtRule.CounterStyleHyphenFallback { } declare type Falsy = '' | 0 | -0 | false | null | undefined | void; declare type MaybeArray = T | readonly T[]; declare type MaybeObjInterpolationGeneric = T[] | [TemplateStringsArray, ...T[]]; declare type MaybeTokenInterpolation = MaybeObjInterpolationGeneric; interface TWCallable { (strings: TemplateStringsArray, ...interpolations: Token[]): string; (...tokens: Token[]): string; } interface TW extends TWCallable { theme: ThemeResolver; } interface Context { /** Allow composition */ readonly tw: TWCallable; /** Access to theme values */ readonly theme: ThemeResolver; /** Create unique identifier (group, custom properties) */ readonly tag: (key: string) => string; readonly css: (rule: Rule[] | string) => CSSRules; } interface Instance { readonly tw: TW; readonly setup: (options?: Configuration) => void; } declare type MaybeThunk = T | ((context: Context) => T); interface Preflight { (preflight: CSSRules, context: Context): MaybeThunk; } interface ThemeConfiguration extends Partial { extend?: Partial; } interface SheetConfig { /** * Sets a cryptographic nonce (number used once) on the enclosing `