import CSS from 'csstype'; import Adapter from './Adapter'; export declare type StyleName = string; export declare type ThemeName = string; export declare type ClassName = string; export declare type RawCss = string; export declare type Direction = 'neutral' | 'ltr' | 'rtl'; export declare type ExpandCompoundProperty = B | T | (B | T)[]; export declare type CompoundProperties = 'animationName' | 'fontFamily'; export interface SheetMap { [selector: string]: T; } export declare type AtRule = '@charset' | '@font-face' | '@global' | '@import' | '@keyframes' | '@media' | '@page' | '@selectors' | '@supports' | '@viewport' | '@fallbacks'; export declare type Properties = Omit, CompoundProperties> & { animationName?: ExpandCompoundProperty; fontFamily?: ExpandCompoundProperty; }; export declare type PropertiesFallback = CSS.PropertiesFallback; export declare type Pseudos = { [P in CSS.SimplePseudos]?: Block; }; export declare type Attributes = { [A in CSS.HtmlAttributes]?: Block; }; export declare type Block = Properties & Pseudos & Attributes; export declare type StyleBlock = Block; export declare type FontFace = CSS.FontFace & { local?: string[]; srcPaths: string[]; }; export interface Keyframes { [percent: string]: Block | string | undefined; from?: Block; to?: Block; name?: string; } export declare type ComponentBlock = Block & { '@fallbacks'?: PropertiesFallback; '@media'?: { [mediaQuery: string]: Block; }; '@selectors'?: { [selector: string]: Block; }; '@supports'?: { [featureQuery: string]: Block; }; }; export declare type ComponentBlockNeverize = T extends string ? string : { [K in keyof T]: K extends keyof ComponentBlock ? ComponentBlock[K] : never; }; export declare type StyleSheet = SheetMap; export declare type StyleSheetNeverize = { [K in keyof T]: ComponentBlockNeverize; }; export declare type StyleSheetFactory = (theme: Theme) => T extends unknown ? StyleSheet : StyleSheet & StyleSheetNeverize; export interface GlobalSheet { '@charset'?: string; '@font-face'?: { [fontFamily: string]: FontFace | FontFace[]; }; '@global'?: { [selector: string]: Block; }; '@import'?: string | string[]; '@keyframes'?: { [animationName: string]: Keyframes; }; '@page'?: Block; '@viewport'?: Block; } export declare type GlobalSheetNeverize = { [K in keyof T]: K extends keyof GlobalSheet ? GlobalSheet[K] : never; }; export declare type GlobalSheetFactory = (theme: Theme) => T extends unknown ? GlobalSheet : GlobalSheet & GlobalSheetNeverize; export interface ThemeSheet { [key: string]: any; } export declare type ClassNameTransformer = (...styles: (undefined | false | ClassName | object | Block)[]) => ClassName; export declare type CompiledStyleSheet = SheetMap; export interface AestheticOptions { adapter: Adapter; cxPropName: string; extendable: boolean; passThemeProp: boolean; rtl: boolean; stylesPropName: string; theme: ThemeName; themePropName: string; } export interface TransformOptions { dir?: Direction; global?: boolean; name?: StyleName; theme?: ThemeName; } //# sourceMappingURL=types.d.ts.map