import type { AddonTypes, InferTypes, Meta as FactoryMeta, Preview as FactoryPreview, PreviewAddon, Story as FactoryStory } from 'storybook/internal/csf'; import type { Args, ArgsStoryFn, ComponentAnnotations, DecoratorFunction, ProjectAnnotations, Renderer, StoryAnnotations } from 'storybook/internal/types'; import type { AureliaComponent, AureliaRenderer, AureliaStoryParameters } from './types'; type Simplify = { [Key in keyof T]: T[Key]; } & {}; type SetOptional = Omit & Partial>; type OmitIndexSignature = { [Key in keyof T as string extends Key ? never : number extends Key ? never : symbol extends Key ? never : Key]: T[Key]; }; type UnionToIntersection = (T extends unknown ? (value: T) => void : never) extends (value: infer Intersection) => void ? Intersection : never; type ComponentArgs = TComponent extends AureliaComponent ? Partial : Args; type DecoratorArgs = UnionToIntersection ? TArgs : unknown>; type InferArgs = Simplify>>>; type InferAureliaTypes = AureliaTypes & TTypes & { args: Simplify>; }; /** Renderer and parameter types used by Storybook's CSF Factories API. */ export interface AureliaTypes extends AureliaRenderer { parameters: AureliaStoryParameters; } /** * Creates an Aurelia preview with Storybook's typed CSF Factories API. * Renderer and docs annotations are included automatically. */ export declare function __definePreview[]>(input: { addons: Addons; } & ProjectAnnotations>): AureliaPreview>; export { __definePreview as definePreview }; /** Aurelia-specific preview returned by `definePreview`. */ export interface AureliaPreview extends FactoryPreview { type(): AureliaPreview; meta, MetaArgs extends Partial & T['args']>>(meta: { component?: Component; args?: MetaArgs; decorators?: Decorators | Decorators[]; } & Omit & T['args']>, 'decorators' | 'component' | 'args'>): AureliaMeta, Decorators>, Omit, Decorators>>, 'args'> & { args: keyof MetaArgs extends never ? Record : MetaArgs; }>; meta, MetaArgs extends Partial>(meta: { render?: ArgsStoryFn; args?: MetaArgs; decorators?: Decorators | Decorators[]; } & Omit, 'decorators' | 'component' | 'args' | 'render'>): AureliaMeta, Omit>, 'args'> & { args: keyof MetaArgs extends never ? Record : MetaArgs; }>; } /** Aurelia component metadata returned by `preview.meta`. */ export interface AureliaMeta> extends FactoryMeta { story AureliaTypes['storyResult']) | (StoryAnnotations & { render: () => AureliaTypes['storyResult']; })>(story: Input): AureliaFactoryStory AureliaTypes['storyResult'] ? { render: Input; } : Input>; story>>>(story: Input): AureliaFactoryStory; story(...args: Partial extends SetOptional ? [] : [never]): AureliaFactoryStory>; } /** Aurelia story returned by `meta.story`. */ export type AureliaFactoryStory> = FactoryStory; //# sourceMappingURL=csf-factories.d.ts.map