import { MediaPickerImageRatio, MediaPickerImageScaling, MediaPickerProvider, GuidValue, MediaPickerImageRatioDefinition, MediaPickerRollupImageRatio, MultilingualString, MediaPickerImageScalingDefinition, MediaPickerImage, MediaPickerVideo, ProviderMetadata } from "../models";
import { Store } from "./Store";
export declare class MediaPickerStore extends Store {
    private mediaPickerService;
    private imageRatios;
    private imageScalings;
    private mediapickerProviders;
    private mediaMetadata;
    private providerHooks;
    private ensuredLoadImageRatiosPromise;
    private ensuredLoadImageScalingsPromise;
    getters: {
        imageRatios: () => Array<MediaPickerImageRatio>;
        imageRatioByUniqueId: (uniqueId: GuidValue) => MediaPickerImageRatio;
        rollupRatios: () => Array<MediaPickerRollupImageRatio>;
        imageScalings: () => Array<MediaPickerImageScaling>;
        imageScalingByUniqueId: (uniqueId: GuidValue) => MediaPickerImageScaling;
        mediapickerProviders: () => Array<MediaPickerProvider>;
        url: (media: MediaPickerImage | MediaPickerVideo, ratioId?: GuidValue) => string;
        currentImgMetadata: () => ProviderMetadata;
    };
    mutations: {
        registerMediaPickerProvider: import("./Store").StoreMutation<(provider: MediaPickerProvider | Array<MediaPickerProvider>) => void, (provider: MediaPickerProvider | MediaPickerProvider[]) => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
        registerMediaPickerConfigurationHook: import("./Store").StoreMutation<(filterFunc: (current: Array<MediaPickerProvider>) => Array<MediaPickerProvider>) => void, (filterFunc: (current: Array<MediaPickerProvider>) => Array<MediaPickerProvider>) => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
        setSelectedImgMetadata: import("./Store").StoreMutation<(metadata: ProviderMetadata) => void, (metadata: ProviderMetadata) => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
        resetSelectedImgMetadata: import("./Store").StoreMutation<() => void, () => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
    };
    actions: {
        ensureImageScalings: import("./Store").StoreAction<unknown, () => void, (result: void) => void, (failureReason: any) => void, () => Promise<void>>;
        addImageScaling: import("./Store").StoreAction<unknown, (imageScalingDefinition: MediaPickerImageScalingDefinition) => void, (result: void, imageScalingDefinition: MediaPickerImageScalingDefinition) => void, (failureReason: any, imageScalingDefinition: MediaPickerImageScalingDefinition) => void, (imageScalingDefinition: MediaPickerImageScalingDefinition) => Promise<void>>;
        updateImageScaling: import("./Store").StoreAction<unknown, (imageScalingToUpdate: MediaPickerImageScaling, newImageScalingDefinition: MediaPickerImageScalingDefinition) => void, (result: void, imageScalingToUpdate: MediaPickerImageScaling, newImageScalingDefinition: MediaPickerImageScalingDefinition) => void, (failureReason: any, imageScalingToUpdate: MediaPickerImageScaling, newImageScalingDefinition: MediaPickerImageScalingDefinition) => void, (imageScalingToUpdate: MediaPickerImageScaling, newImageScalingDefinition: MediaPickerImageScalingDefinition) => Promise<void>>;
        deleteImageScaling: import("./Store").StoreAction<unknown, (imageScalingToDelete: MediaPickerImageScaling) => void, (result: void, imageScalingToDelete: MediaPickerImageScaling) => void, (failureReason: any, imageScalingToDelete: MediaPickerImageScaling) => void, (imageScalingToDelete: MediaPickerImageScaling) => Promise<void>>;
        ensureImageRatios: import("./Store").StoreAction<unknown, () => void, (result: void) => void, (failureReason: any) => void, () => Promise<void>>;
        addImageRatio: import("./Store").StoreAction<unknown, (ratioDefinition: MediaPickerImageRatioDefinition) => void, (result: void, ratioDefinition: MediaPickerImageRatioDefinition) => void, (failureReason: any, ratioDefinition: MediaPickerImageRatioDefinition) => void, (ratioDefinition: MediaPickerImageRatioDefinition) => Promise<void>>;
        updateImageRatio: import("./Store").StoreAction<unknown, (ratioToUpdate: MediaPickerImageRatio, newTitle: MultilingualString, enableInRollup: boolean) => void, (result: void, ratioToUpdate: MediaPickerImageRatio, newTitle: MultilingualString, enableInRollup: boolean) => void, (failureReason: any, ratioToUpdate: MediaPickerImageRatio, newTitle: MultilingualString, enableInRollup: boolean) => void, (ratioToUpdate: MediaPickerImageRatio, newTitle: MultilingualString, enableInRollup: boolean) => Promise<void>>;
        deleteImageRatio: import("./Store").StoreAction<unknown, (ratioToDelete: MediaPickerImageRatio) => void, (result: void, ratioToDelete: MediaPickerImageRatio) => void, (failureReason: any, ratioToDelete: MediaPickerImageRatio) => void, (ratioToDelete: MediaPickerImageRatio) => Promise<void>>;
    };
    protected onActivated(): void;
    protected onDisposing(): void;
}
