import * as t from '@babel/types'; interface Meta { id?: string; title?: string; component?: string; includeStories?: string[] | RegExp; excludeStories?: string[] | RegExp; } interface Story { id: string; name: string; parameters: Record; } export interface CsfOptions { defaultTitle: string; fileName?: string; } export declare class NoMetaError extends Error { constructor(ast: t.Node, fileName?: string); } export declare class CsfFile { _ast: t.File; _defaultTitle: string; _fileName: string; _meta?: Meta; _stories: Record; _metaAnnotations: Record; _storyExports: Record; _storyAnnotations: Record>; _templates: Record; _namedExportsOrder?: string[]; constructor(ast: t.File, { defaultTitle, fileName }: CsfOptions); _parseTitle(value: t.Node): string; _parseMeta(declaration: t.ObjectExpression, program: t.Program): void; parse(): this; readonly meta: Meta; readonly stories: Story[]; } export declare const loadCsf: (code: string, options: CsfOptions) => CsfFile; export declare const formatCsf: (csf: CsfFile) => string; export declare const readCsf: (fileName: string, options: CsfOptions) => Promise; export declare const writeCsf: (csf: CsfFile, fileName?: string) => Promise; export {};