import { CSSPropertySetLoose } from '@o/css'; import React from 'react'; import { StyleTracker } from './stylesheet/gc'; import { StyleSheet } from './stylesheet/sheet'; import { CompiledTheme } from './theme/createTheme'; import { ThemeTrackState } from './theme/useTheme'; import { GlossProps, GlossPropsPartial, GlossThemeProps, GlossViewConfig } from './types'; export { StyleTracker } from './stylesheet/gc'; export interface GlossView> { (props: P, context?: any): React.ReactElement | null; defaultProps?: Partial

; displayName?: string; ignoreAttrs?: { [key: string]: boolean; }; theme: (...themeFns: ThemeFn[]) => this; readonly internal: GlossInternals

; readonly shouldUpdateMap: WeakMap; compile?: () => void; staticStyleConfig?: { parentView?: GlossView; cssAttributes?: Object; deoptProps?: string[]; avoidProps?: string[]; tagName?: string; }; } export interface ThemeFn { (themeProps: GlossThemeProps, previous?: RawProps & CSSPropertySetLoose | null): CSSPropertySetLoose | void | null; hoistTheme?: boolean; } declare type GlossInternals = { depth: number; parent: any; targetElement: any; themeFns: ThemeFn[] | null; compiledInfo?: GlossStaticStyleDescription; glossProps: GlossParsedProps; getConfig: () => { displayName: string; themeFns: ThemeFn[][] | null; }; }; declare type GlossParsedProps = { staticClasses: string[] | null; config: GlossViewConfig | null; defaultProps: Partial | null; internalDefaultProps: any; styles: Object | null; conditionalStyles: Object | null; }; export declare type GlossStaticStyleDescription = { className: string; conditionalClassNames?: { [key: string]: string; }; }; export declare const tracker: StyleTracker; export declare const sheet: StyleSheet; export declare function gloss = any, Props = GlossProps, PartialProps = GlossPropsPartial>(a?: PartialProps | Parent | ((props: MyProps) => any) | string, b?: PartialProps, compiledInfo?: GlossStaticStyleDescription): GlossView; export declare function getGlossProps(allProps: GlossProps | null, parent: GlossView | null, depth: number): GlossParsedProps; export declare type BaseRules = { [key: string]: string | number; }; export declare const isGlossView: (view: any) => boolean; export declare const baseIgnoreAttrs: { width: boolean; height: boolean; size: boolean; src: boolean; }; export declare type StaticStyleDesc = { css: string; className: string; ns: string; }; declare function getAllStyles(props: any, depth?: number, ns?: string): StaticStyleDesc[]; declare function getStyles(props: any, depth?: number, ns?: string): StaticStyleDesc; export declare type ThemeStyleInfo = { trackState: ThemeTrackState | null; themeStyles: StaticStyleDesc[] | null; }; declare function getThemeStyles(view: GlossView, userTheme: CompiledTheme, props: any, extraDepth?: number): ThemeStyleInfo; export declare const StaticUtils: { getAllStyles: typeof getAllStyles; getStyles: typeof getStyles; getThemeStyles: typeof getThemeStyles; }; //# sourceMappingURL=gloss.d.ts.map