/// <reference types="jquery" />
import { IFrameEventMap, IFrameModel, KeyStrokeContext, Widget } from '../index';
export declare class IFrame extends Widget implements IFrameModel {
    model: IFrameModel;
    eventMap: IFrameEventMap;
    self: IFrame;
    location: string;
    sandboxEnabled: boolean;
    sandboxPermissions: string;
    scrollBarEnabled: boolean;
    trackLocation: boolean;
    /**
     * Iframe on iOS is always as big as its content. Workaround it by using a wrapper div with overflow: auto
     * Don't wrap it when running in the chrome emulator (in that case isIosPlatform returns false)
     */
    wrapIframe: boolean;
    $iframe: JQuery<HTMLIFrameElement>;
    constructor();
    protected _createKeyStrokeContext(): KeyStrokeContext;
    protected _render(): void;
    protected _renderProperties(): void;
    setLocation(location: string): void;
    protected _renderLocation(): void;
    setTrackLocation(trackLocation: boolean): void;
    protected _contentDocument(): Document;
    protected _onLoad(event: JQuery.TriggeredEvent): void;
    protected _updateLocation(): void;
    /**
     * Make keystrokes work even if pressed in the iframe
     */
    protected _propagateKeyEvents(): void;
    setScrollBarEnabled(scrollBarEnabled: boolean): void;
    protected _renderScrollBarEnabled(): void;
    setSandboxEnabled(sandboxEnabled: boolean): void;
    protected _renderSandboxEnabled(): void;
    /**
     * @param sandboxPermissions Permission names separated by space.
     * @see IFrame.sandboxPermissions
     */
    setSandboxPermissions(sandboxPermissions: string): void;
    protected _renderSandboxPermissions(): void;
    postMessage(message: any, targetOrigin: string, transfer?: Transferable[]): void;
}
//# sourceMappingURL=IFrame.d.ts.map