import { ComponentType } from 'react'; import { AllBaseProps, BaseProps, BaseStyleProps, Props } from './types'; import { Styles, StylesInterface } from './styles/types'; import { ResponsiveStyleValue } from './utils/styles'; declare type StyleList = readonly (keyof { [key in keyof StylesInterface]: StylesInterface[key]; })[]; export declare type PropsWithStyles = { styles?: Styles; } & Omit; export declare type VariantMap = Record; export declare type WithVariant = { variant?: keyof V; }; export declare type TastyProps = { /** The tag name of the element. */ as?: string; /** Default styles of the element. */ styles?: Styles; /** The list of styles that can be provided by props */ styleProps?: K; element?: BaseProps['element']; variants?: V; } & Partial> & Pick & WithVariant; export interface GlobalTastyProps { breakpoints?: number[]; } export declare type AllBasePropsWithMods = AllBaseProps & { [key in K[number]]?: ResponsiveStyleValue; } & BaseStyleProps; declare type TastyComponentPropsWithDefaults> = keyof DefaultProps extends never ? Props : { [key in Extract]?: Props[key]; } & { [key in keyof Omit]: Props[key]; }; declare function tasty(options: TastyProps, secondArg?: never): ComponentType & WithVariant>; declare function tasty(selector: string, styles?: Styles): any; declare function tasty = Partial>(Component: ComponentType, options?: TastyProps): ComponentType>; declare const Element: ComponentType & WithVariant>; export { tasty, Element };