import type { UmbElementDetailModel } from '../../types.js'; import type { UmbDataSourceResponse, UmbDetailDataSource } from '../../../core/repository/index.js'; import type { UmbControllerHost } from '../../../../libs/controller-api/index.js'; /** * A data source for the Element that fetches data from the server * @class UmbElementServerDataSource * @implements {UmbDetailDataSource} */ export declare class UmbElementServerDataSource implements UmbDetailDataSource { #private; /** * Creates an instance of UmbElementServerDataSource. * @param {UmbControllerHost} host - The controller host for this controller to be appended to * @memberof UmbElementServerDataSource */ constructor(host: UmbControllerHost); /** * Creates a new Element scaffold * @param preset * @returns { UmbElementDetailModel } * @memberof UmbElementServerDataSource */ createScaffold(preset?: Partial): Promise<{ data: UmbElementDetailModel; }>; /** * Fetches an Element with the given id from the server * @param {string} unique * @returns {*} * @memberof UmbElementServerDataSource */ read(unique: string): Promise>; /** * Inserts a new element on the server * @param {UmbElementDetailModel} model * @param parentUnique * @returns {*} * @memberof UmbElementServerDataSource */ create(model: UmbElementDetailModel, parentUnique?: string | null): Promise>; /** * Updates an Element on the server * @param {UmbElementDetailModel} model * @returns {*} * @memberof UmbElementServerDataSource */ update(model: UmbElementDetailModel): Promise>; /** * Deletes an Element on the server * @param {string} unique * @returns {*} * @memberof UmbElementServerDataSource */ delete(unique: string): Promise>; }