import { css } from '@fuel-ui/css'; import type { CSSFnParams } from '@fuel-ui/css'; import type { StoreDefs } from '~/defs'; import { type ThemesObj } from './useTheme'; type DefKeys = keyof StoreDefs; type CSSFnReturn = ReturnType; type ComponentDef = { name: K; defaultProps?: StoreDefs[K]['props']; styles: StoreDefs[K]['styles'] extends string ? Record : never; }; type StoreDefitions = { [K in DefKeys]: ComponentDef; }; type StoreStyles = { [K in DefKeys]: StoreDefs[K]['styles'] extends string ? Record : never; }; type Store = { iconUrl?: string; defs: StoreDefitions; styles: StoreStyles; addDef(name: K, def: ComponentDef): void; theme: string; themes: ThemesObj; setTheme: (theme: string) => void; setThemes: (themes: ThemesObj) => void; }; export declare const useStore: import("zustand").UseBoundStore, "subscribe"> & { subscribe: { (listener: (selectedState: Store, previousSelectedState: Store) => void): () => void; (selector: (state: Store) => U, listener: (selectedState: U, previousSelectedState: U) => void, options?: { equalityFn?: ((a: U, b: U) => boolean) | undefined; fireImmediately?: boolean | undefined; } | undefined): () => void; }; }>; type Style = ReturnType>; export declare function createStyle(name: K, styles: StoreDefs[K]['styles'] extends string ? Record : never): { name: K; styles: StoreDefs[K]["styles"] extends string ? Record : never; }; export declare function useStyles(style: Style, props?: Record, filter?: F extends string[] ? F : any[]): StoreDefs[K]["styles"] extends string ? Record : never; export {};