/* eslint-disable */ import type { SlotRecipeRuntimeFn, RecipeVariantProps } from '../types/recipe'; import type { JsxHTMLProps, JsxStyleProps, Assign } from '../types/system-types'; import type { JsxFactoryOptions } from '../types/jsx'; import type { ComponentType, ElementType, ComponentPropsWithoutRef, ElementRef, Ref } from 'react' interface UnstyledProps { unstyled?: boolean } type SvaFn = SlotRecipeRuntimeFn interface SlotRecipeFn { __type: any __slot: string (props?: any): any } type SlotRecipe = SvaFn | SlotRecipeFn type InferSlot = R extends SlotRecipeFn ? R['__slot'] : R extends SvaFn ? S : never type ComponentProps = Omit, 'ref'> & { ref?: Ref> } type StyleContextProvider = ComponentType< JsxHTMLProps & UnstyledProps, Assign, JsxStyleProps>> > type StyleContextConsumer = ComponentType< JsxHTMLProps & UnstyledProps, JsxStyleProps> > export interface StyleContext { withRootProvider: (Component: T) => StyleContextProvider withProvider: ( Component: T, slot: InferSlot, options?: JsxFactoryOptions> ) => StyleContextProvider withContext: ( Component: T, slot: InferSlot, options?: JsxFactoryOptions> ) => StyleContextConsumer } export declare function createStyleContext(recipe: R): StyleContext