import { IWebComponentInstance, OmniaContext } from "@omnia/fx";
import { MultiSelectMediaProviderComponentBase } from "@omnia/fx/ux";
import { MediaPickerImageTransformationResult, MediaPickerVideo, VideoInformation } from "@omnia/fx-models";
import { MediaflowService } from "./service/MediaflowService";
import { MediaflowProviderStore } from "./store/MediaflowProviderStore";
import "./MediaflowProviderStyles.css";
import { MediaFlowImage, MediaFlowVideo, MediaflowEventData, MediaflowImageInformation, MediaflowVideoInfo } from "./models";
import { MediaPickerStore } from "@omnia/fx/stores";
export declare class MediaflowProvider extends MultiSelectMediaProviderComponentBase implements IWebComponentInstance {
    mediaflowStore: MediaflowProviderStore;
    mediaflowService: MediaflowService;
    omniaContext: OmniaContext;
    mediaPickerStore: MediaPickerStore;
    private loc;
    private loadedMediaFlowJS;
    private loadedMediaFlowCSS;
    private containerIsSetup;
    private isTransformImage;
    private settings;
    private authenticationInfo;
    private settingsLoaded;
    private static mediaflowClientScriptId;
    private lastSelectedFolderId;
    private get mediaflowLoaded();
    private mediafileSelector;
    private mediaflowRefElement;
    private omniaDns;
    constructor();
    created(): void;
    loadMediaflowClient(): void;
    loadScript(url: any): Promise<any>;
    mounted(): void;
    updated(): void;
    private makeMediaflowUIFullScreen;
    onContainerIsSetupChanged(): void;
    beforeDestroy(): void;
    beforeSaved(resultToBeSaved: MediaPickerImageTransformationResult | VideoInformation): Promise<MediaPickerVideo | MediaPickerImageTransformationResult>;
    private getLocale;
    private setupMediaContainer;
    handleMediaflowEvent(eventName: string, eventData: MediaflowEventData): void;
    saveMediaflowMedia(): void;
    reportUsage(mediaId: number): Promise<void>;
    handleImageSelection(source: any): void;
    fixEmbedHtmlForTextArea(htmlString: string): string;
    downloadImage(source: MediaFlowImage): Promise<MediaflowImageInformation>;
    buildHtml: (videoSource: MediaFlowVideo, videoInfo: MediaflowVideoInfo) => string;
    extractSrcFromIframeHtmlString(iframeHtml: string): string;
    render(): VueTsxSupport.JSX.Element;
    renderMediaflowContainer(): VueTsxSupport.JSX.Element;
}
