import type { SystemStyleObject } from "./css.types"; import type { JsxFactoryOptions } from "./factory.types"; import type { ConfigRecipeSlots } from "./generated/recipes.gen"; import { type SlotRecipeKey, type UseSlotRecipeOptions } from "./use-slot-recipe"; interface WrapElementProps

{ wrapElement?(element: React.ReactElement, props: P): React.ReactElement; } export interface WithRootProviderOptions

extends WrapElementProps

{ defaultProps?: Partial

; } export interface WithProviderOptions

extends JsxFactoryOptions

, WrapElementProps

{ } export interface WithContextOptions

extends JsxFactoryOptions

{ } export declare const createSlotRecipeContext: (options: UseSlotRecipeOptions) => { StylesProvider: import("react").Provider>; ClassNamesProvider: import("react").Provider>; PropsProvider: import("react").Provider>; usePropsContext: () => Record; useRecipeResult: (props: any) => { styles: Record; classNames: Record; props: { [x: string]: any; [x: number]: any; [x: symbol]: any; }; }; withProvider: (Component: React.ElementType, slot: R extends keyof ConfigRecipeSlots ? ConfigRecipeSlots[R] : string, options?: WithProviderOptions

) => React.ForwardRefExoticComponent & React.RefAttributes>; withContext: (Component: React.ElementType, slot?: R extends keyof ConfigRecipeSlots ? ConfigRecipeSlots[R] : string, options?: WithContextOptions) => React.ForwardRefExoticComponent & React.RefAttributes>; withRootProvider: (Component: React.ElementType, options?: WithRootProviderOptions) => React.FC>; useStyles: () => Record; useClassNames: () => Record; }; export {};