import type { UmbMediaCollectionFilterModel, UmbMediaCollectionItemModel } from './types.js';
import type { UmbFileDropzoneItemStatus } from '../../dropzone/index.js';
import { UmbDefaultCollectionContext } from '../../../core/collection/index.js';
import type { UmbControllerHost } from '../../../../libs/controller-api/index.js';
export declare class UmbMediaCollectionContext extends UmbDefaultCollectionContext<UmbMediaCollectionItemModel, UmbMediaCollectionFilterModel> {
    #private;
    readonly placeholders: import("rxjs").Observable<UmbMediaCollectionItemModel[]>;
    constructor(host: UmbControllerHost);
    setPlaceholders(partial: Array<{
        unique: string;
        status: UmbFileDropzoneItemStatus;
        name?: string;
    }>): void;
    updatePlaceholderStatus(unique: string, status?: UmbFileDropzoneItemStatus): void;
    updatePlaceholderProgress(unique: string, progress: number): void;
    /**
     * Requests the collection from the repository.
     * @returns {Promise<void>}
     * @deprecated Deprecated since v.17.0.0. Use `loadCollection` instead.
     * @memberof UmbMediaCollectionContext
     */
    requestCollection(): Promise<void>;
    protected _requestCollection(): Promise<void>;
    /**
     * Returns the href for a specific media collection item.
     * @param {UmbMediaCollectionItemModel} item - The media item to get the href for.
     * @returns {Promise<string | undefined>} - The edit workspace href for the media.
     */
    requestItemHref(item: UmbMediaCollectionItemModel): Promise<string | undefined>;
}
export { UmbMediaCollectionContext as api };
