import type { UmbDataSourceResponse } from '../data-source-response.interface.js'; import type { UmbItemDataSource } from './item-data-source.interface.js'; import { UmbControllerBase } from '../../../../libs/class-api/index.js'; import type { UmbControllerHost } from '../../../../libs/controller-api/index.js'; export interface UmbItemServerDataSourceBaseArgs { getItems?: (uniques: Array) => Promise>>; mapper: (item: ServerItemType) => ClientItemType; } /** * A data source base for items that fetches items from the server * @class UmbItemServerDataSourceBase * @implements {UmbItemDataSource} */ export declare abstract class UmbItemServerDataSourceBase extends UmbControllerBase implements UmbItemDataSource { #private; /** * Creates an instance of UmbItemServerDataSourceBase. * @param {UmbControllerHost} host - The controller host for this controller to be appended to * @param {UmbItemServerDataSourceBaseArgs} args - The getItems method and mapper to use * @memberof UmbItemServerDataSourceBase */ constructor(host: UmbControllerHost, args: UmbItemServerDataSourceBaseArgs); /** * Fetches the items for the given uniques from the server * @param {Array} uniques - The uniques of the items to fetch * @returns {Promise>>} The mapped items * @memberof UmbItemServerDataSourceBase */ getItems(uniques: Array): Promise<{ data: ClientItemType[] | undefined; error: ((Error | import("../../resources/index.js").UmbError | import("../../resources/index.js").UmbCancelError | import("../../resources/index.js").UmbApiError) & (import("../../resources/index.js").UmbError | import("../../resources/index.js").UmbCancelError | import("../../resources/index.js").UmbApiError)) | undefined; }>; protected _getMappedItems(items: Array | undefined): Array | undefined; }