import { SystemStyleObject } from "./system.types"; type Dict = { [key: string]: T; }; export type StyleFunctionProps = { colorScheme: string; colorMode: "light" | "dark"; orientation?: "horizontal" | "vertical"; theme: Dict; [key: string]: any; }; export type SystemStyleFunction = (props: StyleFunctionProps) => SystemStyleObject; export type SystemStyleInterpolation = SystemStyleObject | SystemStyleFunction; export declare function defineStyle(styles: T): T; type DefaultProps = { size?: string; variant?: string; colorScheme?: string; }; export type StyleConfig = { baseStyle?: SystemStyleInterpolation; sizes?: { [size: string]: SystemStyleInterpolation; }; variants?: { [variant: string]: SystemStyleInterpolation; }; defaultProps?: DefaultProps; }; /** * Defines the style config for a single-part component. */ export declare function defineStyleConfig, Variants extends Dict>(config: { baseStyle?: BaseStyle; sizes?: Sizes; variants?: Variants; defaultProps?: { size?: keyof Sizes; variant?: keyof Variants; colorScheme?: string; }; }): { baseStyle?: BaseStyle | undefined; sizes?: Sizes | undefined; variants?: Variants | undefined; defaultProps?: { size?: keyof Sizes | undefined; variant?: keyof Variants | undefined; colorScheme?: string | undefined; } | undefined; }; type Anatomy = { keys: string[]; }; export type PartsStyleObject = Partial>; export type PartsStyleFunction = (props: StyleFunctionProps) => PartsStyleObject; export type PartsStyleInterpolation = PartsStyleObject | PartsStyleFunction; export interface MultiStyleConfig { parts: Parts["keys"]; baseStyle?: PartsStyleInterpolation; sizes?: { [size: string]: PartsStyleInterpolation; }; variants?: { [variant: string]: PartsStyleInterpolation; }; defaultProps?: DefaultProps; } /** * Returns an object of helpers that can be used to define * the style configuration for a multi-part component. */ export declare function createMultiStyleConfigHelpers(parts: Part[] | Readonly): { definePartsStyle>(config: PartStyles): PartStyles; defineMultiStyleConfig, Sizes extends Dict>, Variants extends Dict>>(config: { baseStyle?: BaseStyle | undefined; sizes?: Sizes | undefined; variants?: Variants | undefined; defaultProps?: { size?: keyof Sizes | undefined; variant?: keyof Variants | undefined; colorScheme?: string | undefined; } | undefined; }): { baseStyle?: BaseStyle | undefined; sizes?: Sizes | undefined; variants?: Variants | undefined; defaultProps?: { size?: keyof Sizes | undefined; variant?: keyof Variants | undefined; colorScheme?: string | undefined; } | undefined; parts: Part[]; }; }; export {};