import type { IDumiElmNode } from '..'; import type { IPreviewerComponentProps } from '../../../theme'; type KnownKeys = { [K in keyof T as string extends K ? never : number extends K ? never : K]: T[K]; }; type OmitFromKnownKeys = KnownKeys extends infer U ? keyof U extends keyof T ? Pick> & Pick>> : never : never; interface ITransformerPreviewerProps extends OmitFromKnownKeys { sources: Record; } export type IPreviewerTransformerResult = { /** * render component props; */ rendererProps?: Record; /** * previewer component props */ previewerProps: Partial; }; export type IPreviewerTransformer = { /** * transformer type * @note 'builtin' means builtin transformer */ type: string; /** * previewer component file path of current transformer * @note builtin transformer has not this field */ component?: string; /** * transformer function */ fn: (opts: { /** * attributes from code HTML tag */ attrs: { src: string; [key: string]: any; }; /** * current markdown file path */ mdAbsPath: string; /** * mdast node */ node: IDumiElmNode; }) => IPreviewerTransformerResult; }; declare const _default: { type: string; fn: (opts: { /** * attributes from code HTML tag */ attrs: { [key: string]: any; src: string; }; /** * current markdown file path */ mdAbsPath: string; /** * mdast node */ node: IDumiElmNode; }) => IPreviewerTransformerResult; }; export default _default;