import type { UmbDataSourceResponse } from '../repository/index.js';
import type { UmbControllerHost } from '../../../libs/controller-api/index.js';
/**
 * A data source to upload temporary files to the server
 * @class UmbTemporaryFileServerDataSource
 * @implements {RepositoryDetailDataSource}
 */
export declare class UmbTemporaryFileServerDataSource {
    #private;
    /**
     * Creates an instance of UmbTemporaryFileServerDataSource.
     * @param {UmbControllerHost} host - The controller host for this controller to be appended to
     * @memberof UmbTemporaryFileServerDataSource
     */
    constructor(host: UmbControllerHost);
    /**
     * Uploads a temporary file to the server
     * @param {string} id
     * @param {File} file
     * @returns {*}
     * @memberof UmbTemporaryFileServerDataSource
     */
    create(id: string, file: File, onProgress?: (progress: ProgressEvent) => void, abortSignal?: AbortSignal): Promise<UmbDataSourceResponse<unknown>>;
    /**
     * Gets a temporary file from the server
     * @param {string} id
     * @returns {*}
     * @memberof UmbTemporaryFileServerDataSource
     */
    read(id: string): Promise<import("../resources/index.js").UmbApiResponse<{
        data: import("../backend-api/index.js").TemporaryFileResponseModel;
        request: Request;
        response: Response;
    }>>;
    /**
     * Deletes a temporary file from the server
     * @param {string} id
     * @returns {*}
     * @memberof UmbTemporaryFileServerDataSource
     */
    delete(id: string): Promise<import("../resources/index.js").UmbApiResponse<{
        data: unknown;
        request: Request;
        response: Response;
    }>>;
}
