import { ModuleName } from "@readium/navigator-html-injectables";
import { Locator, Publication } from "@readium/shared";
import { WebPubFrameManager } from "./WebPubFrameManager.ts";
import { Injector } from "../injection/Injector.ts";
import { IContentProtectionConfig, IKeyboardPeripheralsConfig } from "../Navigator.ts";
export declare class WebPubFramePoolManager {
    private readonly container;
    private _currentFrame;
    private currentCssProperties;
    private readonly pool;
    private readonly blobs;
    private readonly inprogress;
    private pendingUpdates;
    private currentBaseURL;
    private readonly injector?;
    private readonly contentProtectionConfig;
    private readonly keyboardPeripheralsConfig;
    constructor(container: HTMLElement, cssProperties?: {
        [key: string]: string;
    }, injector?: Injector | null, contentProtectionConfig?: IContentProtectionConfig, keyboardPeripheralsConfig?: IKeyboardPeripheralsConfig);
    destroy(): Promise<void>;
    update(pub: Publication, locator: Locator, modules: ModuleName[]): Promise<void>;
    setCSSProperties(properties: {
        [key: string]: string;
    }): void;
    get currentFrames(): (WebPubFrameManager | undefined)[];
    get currentBounds(): DOMRect;
}
