/* eslint-disable */ import type { SlotRecipeRuntimeFn, RecipeVariantProps } from '../types/recipe'; import type { JsxHTMLProps, JsxStyleProps, Assign } from '../types/system-types'; import type { JsxFactoryOptions, DataAttrs, AsProps } from '../types/jsx'; import type { Component, FunctionalComponent, NativeElements } from 'vue' interface UnstyledProps { unstyled?: boolean | undefined } interface WithProviderOptions

{ defaultProps?: (Partial

& DataAttrs) | undefined } // Add v-model support types interface VModelProps { modelValue?: any 'onUpdate:modelValue'?: (value: any) => void } 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 IntrinsicElement = keyof NativeElements type ElementType = IntrinsicElement | Component type ComponentProps = T extends IntrinsicElement ? NativeElements[T] : T extends Component ? Props : never type StyleContextProvider = FunctionalComponent< JsxHTMLProps & UnstyledProps & AsProps & VModelProps, Assign, JsxStyleProps>> > type StyleContextRootProvider = FunctionalComponent< ComponentProps & UnstyledProps & VModelProps & RecipeVariantProps > type StyleContextConsumer = FunctionalComponent< JsxHTMLProps & UnstyledProps & AsProps & VModelProps, JsxStyleProps> > export interface StyleContext { withRootProvider: ( Component: T, options?: WithProviderOptions> | undefined ) => StyleContextRootProvider withProvider: ( Component: T, slot: InferSlot, options?: JsxFactoryOptions> | undefined ) => StyleContextProvider withContext: ( Component: T, slot: InferSlot, options?: JsxFactoryOptions> | undefined ) => StyleContextConsumer } export declare function createStyleContext(recipe: R): StyleContext