import * as tailwindcss_types_config from 'tailwindcss/types/config'; declare const SCHEME: unique symbol; type NestedColors = { [SCHEME]?: 'light' | 'dark'; } & MaybeNested; type TwcObjectConfig = Record; type TwcFunctionConfig = (scheme: { light: typeof light; dark: typeof dark; }) => TwcObjectConfig; type DefaultThemeObject = { light: NoInfer | (string & {}); dark: NoInfer | (string & {}); }; type ResolvedVariants = Array<{ name: string; definition: string[]; }>; type ResolvedUtilities = { [selector: string]: Record; }; type ResolvedColors = { [colorName: string]: ({ opacityValue, opacityVariable, }: { opacityValue: string; opacityVariable: string; }) => string; }; type Resolved = { variants: ResolvedVariants; utilities: ResolvedUtilities; colors: ResolvedColors; }; type TwcConfig = TwcObjectConfig | TwcFunctionConfig; interface TwcOptions { produceCssVariable?: (colorName: string) => string; produceThemeClass?: (themeName: ThemeName) => string; produceThemeVariant?: (themeName: ThemeName) => string; defaultTheme?: NoInfer | (string & {}) | DefaultThemeObject; strict?: boolean; } /** * Resolves the variants, base and colors to inject in the plugin * Library authors might use this function instead of the createThemes function */ declare const resolveTwcConfig: (config?: TwcConfig, { produceCssVariable, produceThemeClass, produceThemeVariant, defaultTheme, strict, }?: TwcOptions) => Resolved; declare const createThemes: (config?: TwcConfig, options?: TwcOptions) => { handler: tailwindcss_types_config.PluginCreator; config?: Partial; }; declare function dark(colors: NestedColors): { [SCHEME]: 'dark'; } & MaybeNested; declare function light(colors: NestedColors): { [SCHEME]: 'light'; } & MaybeNested; interface MaybeNested { [key: string]: V | MaybeNested; } type NoInfer = [T][T extends any ? 0 : never]; export { TwcConfig, TwcOptions, createThemes, resolveTwcConfig };