import type { PerformanceMetrics } from './types.js';
interface RenderOptions {
    enableContentEditable?: boolean;
    cssFiles?: string[];
    handlers?: typeof Handler[];
    autoResize?: boolean;
    scale?: {
        width: number;
    };
}
declare class Handler {
    chunker: any;
    polisher: any;
    caller: any;
    constructor(chunker: any, polisher: any, caller: any);
}
export declare class PageHandler extends Handler {
    beforePreview(content: Document, renderTo: HTMLElement): void;
    afterPreview(pages: NodeList): void;
    beforeParsed(content: Document): void;
    filter(content: Document): void;
    afterParsed(parsed: Document): void;
    beforePageLayout(page: HTMLElement): void;
    onPageLayout(pageWrapper: HTMLElement, breakToken: any, layout: any): void;
    afterPageLayout(pageElement: HTMLElement, page: any, breakToken: any): void;
    finalizePage(pageElement: HTMLElement, page: any, breakToken: any): void;
    afterRendered(pages: NodeList): void;
    beforeTreeParse(text: string, sheet: any): void;
    beforeTreeWalk(ast: any): void;
    afterTreeWalk(ast: any, sheet: any): void;
    onUrl(urlNode: any): void;
    onAtPage(atPageNode: any): void;
    onRule(ruleNode: any): void;
    onDeclaration(declarationNode: any, ruleNode: any): void;
    onContent(contentNode: any, declarationNode: any, ruleNode: any): void;
    layoutNode(node: HTMLElement): void;
    renderNode(node: HTMLElement, sourceNode: HTMLElement, layout: any): void;
    onOverflow(overflow: any, rendered: HTMLElement, bounds: any): void;
    onBreakToken(breakToken: any, overflow: any, rendered: HTMLElement): void;
    afterOverflowRemoved(removed: HTMLElement, rendered: HTMLElement): void;
    beforeRenderResult(breakToken: any, pageWrapper: HTMLElement): void;
}
export declare class PagedjsManager {
    private static instance;
    private previewer;
    private isInitialized;
    private registeredHandlers;
    private performance;
    private constructor();
    static getInstance(): PagedjsManager;
    registerHandler(handler: typeof Handler): void;
    registerHandlers(handlers: typeof Handler[]): void;
    initialize(): Promise<void>;
    render(element: HTMLElement, options?: RenderOptions): Promise<void>;
    getPerformanceMetrics(): PerformanceMetrics | null;
    cleanup(): void;
    isReady(): boolean;
}
export declare const manager: PagedjsManager;
export {};
