import { Loader, ModuleName } from "@readium/navigator-html-injectables";
import { Page, ReadingProgression } from "@readium/shared";
import { FrameComms } from "../frame/FrameComms";
import { FXLPeripherals } from "./FXLPeripherals";
import { IContentProtectionConfig, IKeyboardPeripheralsConfig } from "../../Navigator";
export declare class FXLFrameManager {
    private frame;
    private loader;
    source: string;
    private comms;
    private readonly peripherals;
    private readonly contentProtectionConfig;
    private readonly keyboardPeripheralsConfig;
    private currModules;
    wrapper: HTMLDivElement;
    debugHref: string;
    private loadPromise;
    private showPromise;
    constructor(peripherals: FXLPeripherals, direction: ReadingProgression, debugHref: string, contentProtectionConfig?: IContentProtectionConfig, keyboardPeripheralsConfig?: IKeyboardPeripheralsConfig);
    load(modules: ModuleName[], source: string): Promise<Window>;
    loadPageSize(): {
        width: number;
        height: number;
    };
    update(page?: Page): void;
    destroy(): Promise<void>;
    unload(): Promise<void>;
    deselect(): void;
    unfocus(): Promise<void>;
    private applyContentProtection;
    private cachedPage;
    show(page: Page): Promise<void>;
    activate(): Promise<void>;
    get element(): HTMLDivElement;
    get iframe(): HTMLIFrameElement;
    get realSize(): DOMRect;
    get loaded(): boolean | null;
    set width(width: number);
    set height(height: number);
    get window(): Window;
    get atLeft(): boolean;
    get atRight(): boolean;
    get msg(): FrameComms | undefined;
    get ldr(): Loader<ModuleName> | undefined;
}
