import type { IThemeLoadResult } from '../../features/theme/loader'; import { type IMdTransformerOptions, type IMdTransformerResult } from './transformer'; interface IMdLoaderDefaultModeOptions extends Omit { mode?: 'markdown'; builtins: IThemeLoadResult['builtins']; onResolveDemos?: (demos: NonNullable) => void; onResolveAtomMeta?: (atomId: string, meta: IMdTransformerResult['meta']['frontmatter']) => void; demoAssetsFile?: string; disableLiveDemo: boolean; } interface IMdLoaderDemosModeOptions extends Omit { mode: 'meta'; } interface IMdLoaderDemoModeOptions extends Omit { mode: 'demo'; } interface IMdLoaderDemoIndexModeOptions extends Omit { mode: 'demo-index'; } interface IMdLoaderFrontmatterModeOptions extends Omit { mode: 'frontmatter'; } interface IMdLoaderTextModeOptions extends Omit { mode: 'text'; } interface IMdLoaderRenderTextModeOptions extends Omit { mode: 'text-render'; } export type IMdLoaderOptions = IMdLoaderDefaultModeOptions | IMdLoaderDemosModeOptions | IMdLoaderDemoModeOptions | IMdLoaderFrontmatterModeOptions | IMdLoaderTextModeOptions | IMdLoaderRenderTextModeOptions | IMdLoaderDemoIndexModeOptions; type MdLoaderCache = { getSync: (key: string, defaultValue: any) => any; }; export declare function getMdLoaderCacheSync(cache: MdLoaderCache, key: string, defaultValue: T): T; export declare function getDemoSourceFiles(demos?: IMdTransformerResult['meta']['demos']): string[]; export declare function emitDefault(this: any, opts: IMdLoaderDefaultModeOptions, ret: IMdTransformerResult): string; export declare function emitFrontmatter(this: any, opts: IMdLoaderFrontmatterModeOptions, ret: IMdTransformerResult): string; export declare function emitText(this: any, opts: IMdLoaderTextModeOptions, ret: IMdTransformerResult): string; export declare function emitRenderText(this: any, _opts: IMdLoaderRenderTextModeOptions, ret: IMdTransformerResult): string; export default function mdLoader(this: any, content: string): void; export {};