import { types } from "typestyle"; import { NestedCSSPropertiesExtends } from "@omnia/fx/models"; type CSSClassNames = { [P in T]?: string | any; }; type CSSClasses = CustomRecord; type CSSClassesExtends = CustomRecord; type CustomRecord = { [P in K]?: T | ((...args: any[]) => T); }; export declare module StyleFlow { export function define = any>(targetCSSClasses: TCSSClasses, classes?: TCSSClasses, prefixClassName?: string): TCSSClasses; export function override>(target: T): InternalStyleFlow.StyleOverride; export function use(targetCSSClasses: CSSClassesExtends, ...mergeCSSClasses: Array>): CSSClassNames; /** * Takes CSSProperties and registers it to a global selector (body, html, etc.) */ export function stylesheet(selector: string, ...objects: types.NestedCSSProperties[]): void; module InternalStyleFlow { function define = any>(target: TCSSClasses, classes?: TCSSClasses, prefixClassName?: string): TCSSClasses; function override(target: T): StyleOverride; function use(target: CSSClassesExtends, ...mergeCSSClasses: Array>): CSSClassNames; function stylesheet(selector: string, ...objects: types.NestedCSSProperties[]): void; class StyleOverride { private target; constructor(target: T); define(classes: T, /** * This influence the order of the nodes, be nice, use ordering with gap -100, 0, 100, 200 So other extensions etc can inject between */ weight?: number): void; } } export {}; } export {};