import { GuidValue } from "@omnia/fx-models/internal-do-not-import-from-here/shared/models";
import { MediaPickerEnums } from "../../Enums";
import { IIcon } from "../../Icon";
import { MediaPickerPersistedImage } from "..";
import { MediaPickerVideo } from "../MediaPickerMedia";
import { IMediaPostProcess } from "./IMediaPostProcess";
export declare abstract class MediaPickerProvider {
    abstract readonly id: GuidValue;
    abstract readonly category: string;
    abstract name: string;
    abstract icon: IIcon;
    /**
     * Use e.g. source for MediaPickerVideo to see if you should handle editing of this media.
     * For images we will provide a default editor if no provider handles the media.
     * @param media
     */
    abstract hasEditorForMedia: (media: MediaPickerVideo | MediaPickerPersistedImage) => boolean;
    sortOrder?: number;
    selectableMediaTypes: Array<MediaPickerEnums.OmniaMediaTypes>;
    providerComponentId: GuidValue;
    abstract supportGalleryFeature?: boolean;
    abstract postProcess?: IMediaPostProcess;
    constructor();
}
