import type { BlockService } from '@blockeditor/block-std';
import type { EditorHost } from '@blockeditor/lit';
import type { BlockModel, Page } from '@blockeditor/store';
import { type TopLevelBlockModel } from '../../_common/utils/index.js';
import type { EdgelessPageBlockComponent } from '../../page-block/edgeless/edgeless-page-block.js';
import type { IBound } from '../../surface-block/consts.js';
import type { SurfaceElement } from '../../surface-block/elements/surface-element.js';
import type { Renderer } from '../../surface-block/index.js';
export declare const DEFAULT_IMAGE_PROXY_ENDPOINT = "https://workers.toeverything.workers.dev/proxy/image";
export type ExportOptions = {
    imageProxyEndpoint: string;
};
export declare class ExportManager {
    private _exportOptions;
    private _blockService;
    constructor(blockService: BlockService, options: ExportOptions);
    get page(): Page;
    get editorHost(): EditorHost;
    private _checkReady;
    private _drawEdgelessBackground;
    private _html2canvas;
    private _createCanvas;
    edgelessToCanvas(surfaceRenderer: Renderer, bound: IBound, blockElementGetter?: (model: BlockModel) => Element | null, edgeless?: EdgelessPageBlockComponent, nodes?: TopLevelBlockModel[], surfaces?: SurfaceElement[], edgelessBackground?: {
        zoom: number;
    }): Promise<HTMLCanvasElement | undefined>;
    private _docToCanvas;
    private _replaceRichTextWithSvgElement;
    private _elementToSvgElement;
    private _checkCanContinueToCanvas;
    private _toCanvas;
    exportPng(): Promise<void>;
    exportPdf(): Promise<void>;
}
//# sourceMappingURL=export-manager.d.ts.map