import { MediaPickerPersistedImage, GuidValue, MediaPickerImageRatio, MediaPickerImageScaling, MediaPickerImageRatioDefinition, MultilingualString, MediaPickerImageScalingDefinition, MediaPickerRenditionData, MediaPickerStorageProviderContext, MediaPickerBase64Image, MediaPickerTransformedBase64Image, MediaPickerImage, MediaPickerImageInformation } from "@omnia/fx/models";
export declare class MediaPickerService {
    private httpClient;
    private serviceContainerContext;
    private extensionHttpClients;
    constructor();
    getMediaPickerImage: (mediaPickerImageId: number) => Promise<MediaPickerPersistedImage>;
    getPersistedImageAsync: (mediaPickerImageId: number) => Promise<MediaPickerPersistedImage>;
    getImageUrl: (mediapickerImage: MediaPickerImage, imageRatioId?: number, scalingId?: number, useWithToken?: boolean) => string;
    getOriginalImageUrl: (serviceId: GuidValue, mediaPickerImageId: number) => string;
    getMediaPickerBase64Image: (mediaPickerImage: MediaPickerImage, imageRatioId?: number, scalingId?: number) => Promise<MediaPickerBase64Image>;
    getMediaPickerBase64OriginalImage: (mediaPickerImage: MediaPickerImage) => Promise<MediaPickerBase64Image>;
    /**
     * Get image information from base data, like width, height, size
     * (This needs base64 data and the filename with atleast a fileextension "filename.format")
     * returns null when image information caould not be extracted, e.g. not valid image base64/filetype
     * @param mediaPickerBase64Image
     */
    getMediaPickerImageInformation: (mediaPickerBase64Image: MediaPickerBase64Image) => Promise<MediaPickerImageInformation>;
    getAllImageScalings: () => Promise<Array<MediaPickerImageScaling>>;
    addImageScaling: (imageScalingDefinition: MediaPickerImageScalingDefinition) => Promise<MediaPickerImageScaling>;
    updateImageScaling: (imageScalingToUpdate: MediaPickerImageScaling, newImageScalingDefinition: MediaPickerImageScalingDefinition) => Promise<MediaPickerImageScaling>;
    deleteImageScaling: (imageScalingToDelete: MediaPickerImageScaling) => Promise<void>;
    getAllImageRatios: () => Promise<Array<MediaPickerImageRatio>>;
    addImageRatio: (ratioDefinition: MediaPickerImageRatioDefinition) => Promise<MediaPickerImageRatio>;
    updateImageRatio: (ratioToUpdate: MediaPickerImageRatio, newTitle: MultilingualString, enableInRollup: boolean) => Promise<MediaPickerImageRatio>;
    deleteImageRatio: (ratioToDelete: MediaPickerImageRatio) => Promise<MediaPickerImageRatio>;
    addNewImage: (providerContext: MediaPickerStorageProviderContext, originalImage: MediaPickerBase64Image, transformedImage: MediaPickerTransformedBase64Image, renditions: Array<MediaPickerRenditionData>) => Promise<MediaPickerImage>;
    updateImage: (imageToUpdate: MediaPickerImage, transformedImage: MediaPickerTransformedBase64Image, renditionData: Array<MediaPickerRenditionData>) => Promise<MediaPickerImage>;
    getImage: (mediaPickerImageId: number) => Promise<MediaPickerImage>;
    /**
     * Copy an image to a new storage context
     * @param mediaPickerImage The image to copy
     * @param targetProviderContext The target context
     */
    copyImage: (mediaPickerImage: MediaPickerImage, targetProviderContext: MediaPickerStorageProviderContext) => Promise<MediaPickerImage>;
    ensureRenditions: (omniaServiceId: GuidValue, mediaPickerImageId: number) => Promise<void>;
    private createImageBase64FromImageUrl;
    removeBase64FormatTags(base64: string): string;
    ensureBase64String(base64: string, imgformat: string): string;
}
