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