import type { UmbTreeItemModelBase, UmbTreeItemModel } from '../types.js'; import type { UmbTreeDataSource } from './tree-data-source.interface.js'; import type { UmbTreeAncestorsOfRequestArgs, UmbTreeChildrenOfRequestArgs, UmbTreeRootItemsRequestArgs } from './types.js'; import { UmbControllerBase } from '../../../../libs/class-api/index.js'; import type { UmbControllerHost } from '../../../../libs/controller-api/index.js'; import type { UmbDataSourceResponse, UmbTargetPagedModel } from '../../repository/index.js'; export interface UmbTreeServerDataSourceBaseArgs { getRootItems: (args: TreeRootItemsRequestArgsType) => Promise>>; getChildrenOf: (args: TreeChildrenOfRequestArgsType) => Promise>>; getAncestorsOf: (args: TreeAncestorsOfRequestArgsType) => Promise>>; mapper: (item: ServerTreeItemType) => ClientTreeItemType; } /** * A data source for a tree that fetches data from the server * @class UmbTreeServerDataSourceBase * @implements {UmbTreeDataSource} */ export declare abstract class UmbTreeServerDataSourceBase extends UmbControllerBase implements UmbTreeDataSource { #private; /** * Creates an instance of UmbTreeServerDataSourceBase. * @param {UmbControllerHost} host - The controller host for this controller to be appended to * @param args * @memberof UmbTreeServerDataSourceBase */ constructor(host: UmbControllerHost, args: UmbTreeServerDataSourceBaseArgs); /** * Fetches the root items for the tree from the server * @param {UmbTreeRootItemsRequestArgs} args * @returns {*} * @memberof UmbTreeServerDataSourceBase */ getRootItems(args: TreeRootItemsRequestArgsType): Promise<{ data: { total: number; totalBefore: number | undefined; totalAfter: number | undefined; items: ClientTreeItemType[]; }; error?: undefined; } | { error: ((Error | import("../../resources/index.js").UmbApiError | import("../../resources/index.js").UmbCancelError | import("../../resources/index.js").UmbError) & (import("../../resources/index.js").UmbApiError | import("../../resources/index.js").UmbCancelError)) | undefined; data?: undefined; }>; /** * Fetches the children of a given parent unique from the server * @param {UmbTreeChildrenOfRequestArgs} args * @returns {*} * @memberof UmbTreeServerDataSourceBase */ getChildrenOf(args: TreeChildrenOfRequestArgsType): Promise<{ data: { total: number; totalBefore: number | undefined; totalAfter: number | undefined; items: ClientTreeItemType[]; }; error?: undefined; } | { error: ((Error | import("../../resources/index.js").UmbApiError | import("../../resources/index.js").UmbCancelError | import("../../resources/index.js").UmbError) & (import("../../resources/index.js").UmbApiError | import("../../resources/index.js").UmbCancelError)) | undefined; data?: undefined; }>; /** * Fetches the ancestors of a given item from the server * @param {UmbTreeAncestorsOfRequestArgs} args * @returns {*} * @memberof UmbTreeServerDataSourceBase */ getAncestorsOf(args: TreeAncestorsOfRequestArgsType): Promise<{ data: ClientTreeItemType[]; error?: undefined; } | { error: ((Error | import("../../resources/index.js").UmbApiError | import("../../resources/index.js").UmbCancelError | import("../../resources/index.js").UmbError) & (import("../../resources/index.js").UmbApiError | import("../../resources/index.js").UmbCancelError)) | undefined; data?: undefined; }>; }