///
import type {
PagedDocumentPayload,
PagedDocumentRenderResult,
RenderedMarkdownDocument
} from "@md-to-pdf/core";
declare global {
const __APP_VERSION__: string;
interface DesktopPdfResult {
pdf: Uint8Array;
pageCount: number;
echartsErrors: string[];
mermaidErrors: string[];
}
interface DesktopApplicationBridge {
openMarkdown(): Promise<
| {
markdown: string;
fileName: string;
}
| undefined
>;
renderMarkdown(input: {
markdown: string;
language: string;
resources?: Array<{
path: string;
data: string;
}>;
}): Promise;
listThemes(): Promise<{
themes: Array<{
id: string;
name: string;
version: string;
description: string;
bundled: boolean;
source: "bundled" | "local";
}>;
}>;
getThemeCss(themeId: string): Promise;
generatePdf(payload: PagedDocumentPayload): Promise;
savePdf(fileName: string, pdf: Uint8Array): Promise;
}
interface DesktopPdfRuntimeBridge {
ready(): void;
onRender(
listener: (
requestId: number,
payload: PagedDocumentPayload
) => Promise | void
): () => void;
complete(
requestId: number,
result: PagedDocumentRenderResult
): void;
fail(requestId: number, message: string): void;
}
interface Window {
mdToPdfDesktop?: DesktopApplicationBridge;
__mdToPdfDesktopPdf?: DesktopPdfRuntimeBridge;
}
}