import type { UmbImagingResizeModel } from './types.js';
import type { UmbControllerHost } from '../../../libs/controller-api/index.js';
import type { UmbApi } from '../../../libs/extension-api/index.js';
import { UmbContextBase } from '../../../libs/class-api/index.js';
export declare class UmbImagingStore extends UmbContextBase implements UmbApi {
    #private;
    constructor(host: UmbControllerHost);
    /**
     * Gets the data from the store.
     * @param {string} unique - The media key
     * @returns {Map<string, string> | undefined} - The data if it exists
     */
    getData(unique: string): Map<string, string> | undefined;
    /**
     * Gets a specific crop if it exists.
     * @param {string} unique - The media key
     * @param {string} data - The resize configuration
     * @returns {string | undefined} - The crop if it exists
     */
    getCrop(unique: string, data?: UmbImagingResizeModel): string | undefined;
    /**
     * Adds a new crop to the store.
     * @param {string} unique - The media key
     * @param {string} urlInfo - The URL of the crop
     * @param {UmbImagingResizeModel | undefined} data - The resize configuration
     */
    addCrop(unique: string, urlInfo: string, data?: UmbImagingResizeModel): void;
    /**
     * Clears all crops from the store.
     */
    clear(): void;
    /**
     * Clears the crop for a specific unique identifier.
     * @param {string} unique - The unique identifier for the media item
     */
    clearCropByUnique(unique: string): void;
    /**
     * Clears the crop for a specific unique identifier and resize configuration.
     * @param {string} unique - The unique identifier for the media item
     * @param {UmbImagingResizeModel | undefined} data - The resize configuration
     */
    clearCropByConfiguration(unique: string, data?: UmbImagingResizeModel): void;
}
export default UmbImagingStore;
