import type { PublicAccessRequestModel } from '../../../core/backend-api/index.js';
import type { UmbControllerHost } from '../../../../libs/controller-api/index.js';
/**
 * A data source for the Document Public Access that fetches data from the server
 * @class UmbDocumentPublicAccessServerDataSource
 * @implements {RepositoryDetailDataSource}
 */
export declare class UmbDocumentPublicAccessServerDataSource {
    #private;
    /**
     * Creates an instance of UmbDocumentPublicAccessServerDataSource.
     * @param {UmbControllerHost} host - The controller host for this controller to be appended to
     * @memberof UmbDocumentPublicAccessServerDataSource
     */
    constructor(host: UmbControllerHost);
    /**
     * Creates the Public Access for the given Document unique
     * @param {string} unique
     * @param {PublicAccessRequestModel} data
     * @memberof UmbDocumentPublicAccessServerDataSource
     */
    create(unique: string, data: PublicAccessRequestModel): Promise<import("../../../core/resources/index.js").UmbApiResponse<{
        data: unknown;
        request: Request;
        response: Response;
    }>>;
    /**
     * Fetches the Public Access for the given Document unique
     * @param {string} unique
     * @param {boolean} includeAncestors - Whether to include ancestor Public Access settings in the response
     * @memberof UmbDocumentPublicAccessServerDataSource
     */
    read(unique: string, includeAncestors: boolean): Promise<import("../../../core/resources/index.js").UmbApiResponse<{
        data: import("../../../core/backend-api/index.js").PublicAccessResponseModel;
        request: Request;
        response: Response;
    }>>;
    /**
     * Updates Public Access for the given Document unique
     * @param {string} unique
     * @param {PublicAccessRequestModel} data
     * @param body
     * @memberof UmbDocumentPublicAccessServerDataSource
     */
    update(unique: string, body: PublicAccessRequestModel): Promise<import("../../../core/resources/index.js").UmbApiResponse<{
        data: unknown;
        request: Request;
        response: Response;
    }>>;
    /**
     * Deletes Public Access for the given Document unique
     * @param {string} unique
     * @memberof UmbDocumentPublicAccessServerDataSource
     */
    delete(unique: string): Promise<import("../../../core/resources/index.js").UmbApiResponse<{
        data: unknown;
        request: Request;
        response: Response;
    }>>;
}
