import type * as CSS from 'csstype'; import OnesySubscription from '@onesy/subscription'; import OnesyStyle from './OnesyStyle'; import OnesyStyleRule from './OnesyStyleRule'; import OnesyStyleSheet from './OnesyStyleSheet'; import OnesyStyleSheetManager from './OnesyStyleSheetManager'; import OnesyTheme from './OnesyTheme'; declare module 'csstype' { interface Properties { animationDuration?: CSS.Property.AnimationDuration | number | undefined; position?: CSS.Property.Position | CSS.Property.BackgroundPosition | undefined; [index: string]: any; } } export declare type TValueObjectValue = (string | ((props?: any) => TValueObjectValue) | OnesySubscription | CSS.Properties | Array> | Array | Array> | ((props?: any) => TValueObjectValue)> | Record | { [index: string]: CSS.Properties; }); export declare type TValueObject = Record; export declare type TValueMethod = (theme: OnesyTheme) => TValueObject; export declare type TValue = TValueObject | TValueMethod; export declare type TMode = 'regular' | 'atomic'; export declare type TDirection = 'ltr' | 'rtl'; export declare type TValueVersion = 'value' | 'method' | 'onesy_subscription'; export declare type TRef = { main: { sheet: OnesyStyleSheet; rule: OnesyStyleRule; }; className: string; refs: Array; }; export declare type TRefs = Record; export interface IIds { static: Array; dynamic: Array; } export declare type TStatus = 'idle' | 'inited' | 'active' | 'remove'; export interface IValuesVersion { css: string; } export interface IOptionsRule { sort?: boolean; prefix?: boolean; rtl?: boolean; } export interface IAddRuleResponse { className: string; classNames: string; keyframeName: string; } export interface IResponse { ids: IIds; classNames: Record; classes: Record; keyframes: Record; className: string; class: string; styles: (...args: string[]) => string; } export declare type TPriority = 'lower' | 'upper'; export interface ISheets { static: Array; dynamic: Array; } export interface IMethodResponse { onesy_style_sheet_manager: OnesyStyleSheetManager; sheets: ISheets; ids: IIds; add: (props?: any) => IResponse; update: (value: any) => void; props: { props: any; ids: string | Array; } | ((value: { props: any; ids: string | Array; }) => any); remove: (ids?: string | Array) => void; addRule: (value: any, property?: string) => IAddRuleResponse; } export interface IOptionsOnesyTheme { value?: OnesyTheme; get?: (value?: Element) => OnesyTheme; } export interface IOptionsOnesyStyle { value?: OnesyStyle; get?: (value?: Element) => OnesyStyle; } export interface IInsert { comment?: string; } export interface ICSSOptions { onesy_style?: IOptionsOnesyStyle; onesy_theme?: IOptionsOnesyTheme; mode?: TMode; pure?: boolean; reset?: boolean; resetProps?: { override?: boolean; }; css?: { file?: { name?: string; hash?: boolean; }; folders?: Array<{ url?: string; clear?: boolean; }>; clear?: boolean; minify?: boolean; }; html?: { files?: Array<{ url?: string; insert?: IInsert; }>; insert?: IInsert; add?: boolean; addNames?: boolean; }; rule?: IOptionsRule; log?: boolean; } export interface IOnesyStyleSheetManagerProps { props: any; ids: string | Array; }