import type { UmbMediaTreeChildrenOfRequestArgs, UmbMediaTreeItemModel, UmbMediaTreeRootItemsRequestArgs } 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 Media tree that fetches data from the server
 * @class UmbMediaTreeServerDataSource
 */
export declare class UmbMediaTreeServerDataSource extends UmbControllerBase implements UmbTreeDataSource<UmbMediaTreeItemModel> {
    #private;
    getRootItems(args: UmbMediaTreeRootItemsRequestArgs): Promise<{
        data: {
            items: UmbMediaTreeItemModel[];
            total: number;
            totalBefore: number;
            totalAfter: number;
        } | undefined;
        error: import("../../../../core/resources/index.js").UmbError | undefined;
    }>;
    getChildrenOf(args: UmbMediaTreeChildrenOfRequestArgs): Promise<{
        data: {
            items: UmbMediaTreeItemModel[];
            total: number;
            totalBefore: number;
            totalAfter: number;
        } | undefined;
        error: import("../../../../core/resources/index.js").UmbError | undefined;
    }>;
    getAncestorsOf(args: UmbTreeAncestorsOfRequestArgs): Promise<{
        data: UmbMediaTreeItemModel[] | undefined;
        error: import("../../../../core/resources/index.js").UmbApiError | import("../../../../core/resources/index.js").UmbCancelError | undefined;
    }>;
}
