import { AnnotatedStoryFn, Args, StoryContext as BaseStoryContext, StrictArgs } from '@storybook/csf'; import { Component, VNodeChild } from 'vue'; /** * Vue component type */ export type Cmp = Component; /** * Story context with Vue-specific types */ export type StoryContext = BaseStoryContext & { component?: Cmp; }; /** * Meta annotations for Vue CSF */ export interface Meta { title?: string; component?: Cmp; subcomponents?: Record; decorators?: any[]; parameters?: Record; args?: Partial; argTypes?: any; tags?: string[]; loaders?: any[]; render?: any; play?: any; globals?: any; moduleExport?: any; beforeEach?: any; } /** * Component annotations for Vue CSF */ export type ComponentAnnotations<_TCmp extends Cmp = Cmp, TArgs = Args> = Meta; /** * Story annotations for Vue CSF */ export interface StoryAnnotations { /** * Name of the story */ name?: string; /** * Export name of the story (used for variable name in exports) */ exportName?: string; /** * Render function for the story */ render?: AnnotatedStoryFn; /** * Play function for the story */ play?: (context: any) => Promise | void; /** * Decorators for the story */ decorators?: any[]; /** * Parameters for the story */ parameters?: Record; /** * Args for the story */ args?: Partial; /** * Arg types for the story */ argTypes?: any; /** * Tags for the story */ tags?: string[]; /** * Loaders for the story */ loaders?: any[]; /** * Globals for the story */ globals?: any; /** * Story function */ story?: any; } /** * Template render function type */ export type TemplateRenderFn = (args: TArgs, context: StoryContext) => VNodeChild; /** * Stories repository for extraction */ export interface StoriesRepository { stories: Map>; } /** * Options for the Vue CSF addon */ export interface VueCsfOptions { /** * Enable debug logging */ debug?: boolean; } //# sourceMappingURL=types.d.ts.map