/** @typedef {{ externalSourceType: string }} ActivityParams */
/**
 * @typedef {{
 *   type: 'file-selected';
 *   obj_type: 'selected_file';
 *   filename: string;
 *   url: string;
 *   alternatives?: Record<string, string>;
 * }} SelectedFileMessage
 */
/**
 * @typedef {{
 *   type: 'embed-css';
 *   style: string;
 * }} EmbedCssMessage
 */
/** @typedef {SelectedFileMessage | EmbedCssMessage} Message */
export class ExternalSource extends UploaderBlock {
    activityType: "external";
    init$: {
        activityIcon: string;
        activityCaption: string;
        selectedList: never[];
        counter: number;
        multiple: boolean;
        onDone: () => void;
        onCancel: () => void;
        '*commonProgress': number;
        '*uploadList': never[];
        '*uploadQueue': import("@uploadcare/upload-client").Queue;
        '*collectionErrors': any[];
        '*collectionState': import("../../index.js").OutputCollectionState<import("../../index.js").OutputCollectionStatus, "maybe-has-group"> | null;
        '*groupInfo': import("@uploadcare/upload-client").UploadcareGroup | null;
        '*uploadTrigger': Set<string>;
        '*secureUploadsManager': import("../../abstract/SecureUploadsManager.js").SecureUploadsManager | null;
        '*currentActivity': null;
        '*currentActivityParams': {};
        '*history': never[];
        '*historyBack': null;
        '*closeModal': () => void;
    };
    /** @type {ActivityParams} */
    get activityParams(): ActivityParams;
    /**
     * @private
     * @type {HTMLIFrameElement | null}
     */
    private _iframe;
    /**
     * @private
     * @param {SelectedFileMessage} message
     */
    private extractUrlFromMessage;
    /**
     * @private
     * @param {Message} message
     */
    private sendMessage;
    /**
     * @private
     * @param {SelectedFileMessage} message
     */
    private handleFileSelected;
    /** @private */
    private handleIframeLoad;
    /**
     * @private
     * @param {string} propName
     */
    private getCssValue;
    /** @private */
    private applyStyles;
    /** @private */
    private remoteUrl;
    /** @private */
    private mountIframe;
    /** @private */
    private unmountIframe;
}
export namespace ExternalSource {
    let template: string;
}
export type ActivityParams = {
    externalSourceType: string;
};
export type SelectedFileMessage = {
    type: 'file-selected';
    obj_type: 'selected_file';
    filename: string;
    url: string;
    alternatives?: Record<string, string>;
};
export type EmbedCssMessage = {
    type: 'embed-css';
    style: string;
};
export type Message = SelectedFileMessage | EmbedCssMessage;
import { UploaderBlock } from '../../abstract/UploaderBlock.js';
//# sourceMappingURL=ExternalSource.d.ts.map