import { UmbImagingCropMode, type UmbImagingResizeModel } from './types.js'; import { UmbRepositoryBase } from '../../core/repository/index.js'; import type { UmbControllerHost } from '../../../libs/controller-api/index.js'; import type { UmbApi } from '../../../libs/extension-api/index.js'; import type { UmbMediaUrlModel } from '../media/index.js'; /** * Repository for managing imaging-related data. * You can use it to request (cached) thumbnail URLs or new resized images. */ export declare class UmbImagingRepository extends UmbRepositoryBase implements UmbApi { #private; constructor(host: UmbControllerHost); /** * Requests the items for the given uniques * @param {Array} uniques - The uniques * @param {UmbImagingResizeModel} imagingModel - The imaging model * @returns {Promise<{ data: UmbMediaUrlModel[] }>} - The resized absolute media URLs * @memberof UmbImagingRepository */ requestResizedItems(uniques: Array, imagingModel?: UmbImagingResizeModel): Promise<{ data: UmbMediaUrlModel[]; }>; /** * Internal method to clear the cache for a specific image. * @param {string} unique The unique identifier for the media item * @internal */ _internal_clearCropByUnique(unique: string): Promise; /** * Requests the thumbnail URLs for the given uniques * @param {Array} uniques - The unique identifiers for the media items * @param {number} height - The desired height in pixels of the thumbnail * @param {number} width - The desired width in pixels of the thumbnail * @param {UmbImagingCropMode} mode - The crop mode * @returns {Promise<{ data: UmbMediaUrlModel[] }>} - The resized absolute media URLs * @memberof UmbImagingRepository * @deprecated Use {@link UmbImagingRepository#requestResizedItems} instead for more flexibility and control over the imaging model. This will be removed in Umbraco 18. */ requestThumbnailUrls(uniques: Array, height: number, width: number, mode?: UmbImagingCropMode): Promise<{ data: UmbMediaUrlModel[]; }>; } export { UmbImagingRepository as api };