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