import { Marpit, Options, RenderResult } from '@marp-team/marpit'; import { OutlinePage } from '../engine/pdf/outline-plugin'; import { EngineTransition } from '../engine/transition-plugin'; type RendererResult = RenderResult & TemplateMeta & { length: number; size: RenderedSize; transition?: EngineTransition; outline?: OutlinePage[]; }; interface TemplateRendererOptions extends Options { modifier?: (marpit: Marpit) => void; } interface TemplateCoreOption { base?: string; notifyWS?: string; renderer: (tplOpts: TemplateRendererOptions) => RendererResult | Promise; } export interface TemplateMeta { author: string | undefined; description: string | undefined; image: string | undefined; keywords: string[] | undefined; title: string | undefined; url: string | undefined; lang: string | undefined; } interface RenderedSize { height: number; width: number; } export type TemplateOption = TemplateBareOption | TemplateBespokeOption; interface TemplateBareOption { } interface TemplateBespokeOption { osc?: boolean; progress?: boolean; transition?: boolean; } export interface TemplateResult { rendered: RendererResult; result: string; } export type Template = ((locals: TemplateCoreOption & T) => Promise) & { printable?: boolean; }; export declare const bare: Template; export declare const bespoke: Template; declare const _default: { bare: Template; bespoke: Template; }; export default _default;