import { UmbTemporaryFileConfigRepository } from './config/index.js';
import { type UmbTemporaryFileModel, type UmbUploadOptions } from './types.js';
import { UmbControllerBase } from '../../../libs/class-api/index.js';
import type { UmbControllerHost } from '../../../libs/controller-api/index.js';
export declare class UmbTemporaryFileManager<UploadableItem extends UmbTemporaryFileModel = UmbTemporaryFileModel> extends UmbControllerBase {
    #private;
    readonly queue: import("rxjs").Observable<UploadableItem[]>;
    constructor(host: UmbControllerHost);
    /**
     * Gets the temporary file configuration.
     * @returns {Promise<UmbTemporaryFileConfigRepository>} The temporary file configuration.
     */
    getConfiguration(): Promise<UmbTemporaryFileConfigRepository>;
    uploadOne(uploadableItem: UploadableItem, options?: UmbUploadOptions<UploadableItem>): Promise<UploadableItem>;
    upload(queueItems: Array<UploadableItem>, options?: UmbUploadOptions<UploadableItem>): Promise<Array<UploadableItem>>;
    removeOne(unique: string): void;
    remove(uniques: Array<string>): void;
    removeAll(): void;
}
