import { Element } from '../../../../client/element';
import { System } from '../../../../system';
import { Dict } from '../../../../types/Dict';
import { CH } from '../../../../types/interface/CH';
import { W } from '../../../../types/interface/W';
export interface Props {
    id: string;
    className?: string;
    style?: Dict<string>;
    src?: string;
    srcdoc?: string;
    attr?: Dict<string>;
    allow?: {
        autoplay?: boolean;
        camera?: boolean;
        encryptedMedia?: boolean;
        fullscreen?: boolean;
        microphone?: boolean;
        pictureInPicture?: boolean;
        scripts?: boolean;
    };
}
export default class Iframe extends Element<HTMLSlotElement | HTMLIFrameElement, Props> implements CH, W {
    _iframe: HTMLIFrameElement;
    private _slot_id;
    private _prop_handler;
    constructor($props: Props, $system: System);
    onPropChanged(prop: string, current: any): void;
    private _setSrc;
    private _parseSrc;
    onMount(): void;
    onUnmount(): void;
    onDestroy(): void;
    send(data: any): Promise<void>;
    postMessage(data: any, target: string, transferables: Transferable[]): void;
}
