import type { UmbDocumentTreeChildrenOfRequestArgs, UmbDocumentTreeItemModel, UmbDocumentTreeRootItemsRequestArgs } from '../types.js';
import { UmbControllerBase } from '../../../../../libs/class-api/index.js';
import type { UmbTreeAncestorsOfRequestArgs, UmbTreeDataSource } from '../../../../core/tree/index.js';
/**
 * A data source for the Document tree that fetches data from the server
 * @class UmbDocumentTreeServerDataSource
 */
export declare class UmbDocumentTreeServerDataSource extends UmbControllerBase implements UmbTreeDataSource<UmbDocumentTreeItemModel> {
    #private;
    getRootItems(args: UmbDocumentTreeRootItemsRequestArgs): Promise<{
        data: {
            items: UmbDocumentTreeItemModel[];
            total: number;
            totalBefore: number;
            totalAfter: number;
        } | undefined;
        error: import("../../../../core/resources/index.js").UmbError | undefined;
    }>;
    getChildrenOf(args: UmbDocumentTreeChildrenOfRequestArgs): Promise<{
        data: {
            items: UmbDocumentTreeItemModel[];
            total: number;
            totalBefore: number;
            totalAfter: number;
        } | undefined;
        error: import("../../../../core/resources/index.js").UmbError | undefined;
    }>;
    getAncestorsOf(args: UmbTreeAncestorsOfRequestArgs): Promise<{
        data: UmbDocumentTreeItemModel[] | undefined;
        error: import("../../../../core/resources/index.js").UmbApiError | import("../../../../core/resources/index.js").UmbCancelError | undefined;
    }>;
}
