import { Pangu } from '../shared/index.js';
import { TaskScheduler } from './task-scheduler.js';
import { VisibilityDetector } from './visibility-detector.js';
export interface AutoSpacingPageConfig {
    pageDelayMs?: number;
    nodeDelayMs?: number;
    nodeMaxWaitMs?: number;
}
export declare class BrowserPangu extends Pangu {
    private static readonly maxSyncTextNodes;
    private isAutoSpacingPageExecuted;
    private autoSpacingPageObserver;
    private readonly lastWrittenData;
    readonly taskScheduler: TaskScheduler;
    readonly visibilityDetector: VisibilityDetector;
    autoSpacingPage({ pageDelayMs, nodeDelayMs, nodeMaxWaitMs }?: AutoSpacingPageConfig): void;
    spacingPage(): void;
    spacingNode(contextNode: Node): void;
    stopAutoSpacingPage(): void;
    isElementVisuallyHidden(element: Element): boolean;
    private isSpaceLikeSibling;
    private isGridOrFlexContainer;
    private spacingTextNodes;
    private applyTextRunSpacing;
    private spacingNodeSync;
    private hasSpacedTextInSubtree;
    private insertPanguElement;
    private findPreviousElementLastChar;
    private scanBetweenTextRuns;
    private isHiddenBoundaryBefore;
    private isHiddenBoundaryAfter;
    private schedule;
    private waitForVideosToLoad;
    private setupAutoSpacingPageObserver;
}
export declare const pangu: BrowserPangu;
export default pangu;
