import type Aurelia from 'aurelia'; import type { Constructable, IContainer } from 'aurelia'; import type { AnnotatedStoryFn, Args, ArgsFromMeta, ArgsStoryFn, Canvas, ComponentAnnotations, DecoratorFunction, LoaderFunction, ProjectAnnotations, StoryAnnotations, StoryContext as BaseStoryContext, StrictArgs, WebRenderer } from 'storybook/internal/types'; export type AureliaComponent = Constructable; export interface AureliaStoryResult { /** Aurelia markup to compile for this story. */ template?: string; /** Component used by this story. Overrides the component from the default export. */ Component?: AureliaComponent; /** Resources registered before the story starts. */ components?: unknown[]; /** Alias for components, useful for plugins and DI registrations. */ register?: unknown[]; /** DI registrations and other Aurelia registry items. */ items?: unknown[]; /** Existing container to use for this Aurelia app. */ container?: IContainer; /** Markup placed inside the generated component element. */ innerHtml?: string; /** Values exposed to the story template. Story props override Storybook args. */ props?: Partial; } export type AureliaStoryFnResult = AureliaStoryResult | AureliaComponent | string; export interface AureliaMountOptions extends Omit, 'Component' | 'template'> { template?: string; } export type AureliaMount = (story?: AureliaStoryFnResult, options?: AureliaMountOptions) => Promise; export interface AureliaRenderer extends WebRenderer { component: AureliaComponent; storyResult: AureliaStoryFnResult; mount: AureliaMount; } export type AureliaStoryContext = BaseStoryContext; export type AureliaArgsStoryFn = ArgsStoryFn; export interface AureliaParameters { /** Resources and plugins registered for every matching story. */ register?: unknown[]; /** Alias for register. */ components?: unknown[]; /** Alias for register, intended for DI registrations. */ items?: unknown[]; /** Configure the container before resources are registered. */ configureContainer?: (container: IContainer, context: AureliaStoryContext) => unknown; /** Configure the Aurelia instance before setup hooks and start. */ configure?: (aurelia: Aurelia, context: AureliaStoryContext) => unknown; } export interface AureliaStoryParameters { aurelia?: AureliaParameters; } type Simplify = { [Key in keyof T]: T[Key]; } & {}; type SetOptional = Omit & Partial>; type ComponentPropsOrArgs = TComponentOrArgs extends Constructable ? Partial : TComponentOrArgs extends Args ? TComponentOrArgs : Args; /** Metadata for an Aurelia component or an explicit args type. */ export type Meta = ComponentAnnotations>; /** CSF2 story function for Aurelia. */ export type StoryFn = AnnotatedStoryFn>; /** CSF3 story object for Aurelia. */ export type StoryObj = TMetaOrComponentOrArgs extends { render?: ArgsStoryFn; component?: infer TComponent; args?: infer TDefaultArgs; } ? Simplify & ArgsFromMeta> extends infer TArgs extends Args ? StoryAnnotations>> : never : StoryAnnotations>; export type Decorator = DecoratorFunction; export type Loader = LoaderFunction; export type StoryContext = BaseStoryContext; export type Preview = ProjectAnnotations; export type AureliaSetup = (aurelia: Aurelia, context: AureliaStoryContext) => unknown | Promise; export type { Args, StrictArgs } from 'storybook/internal/types'; //# sourceMappingURL=types.d.ts.map