import type { UmbElementVariantPublishModel } from '../types.js'; import type { UmbElementDetailModel } from '../../types.js'; import type { UmbControllerHost } from '../../../../libs/controller-api/index.js'; import type { UmbVariantId } from '../../../core/variant/index.js'; import type { UmbDataSourceResponse } from '../../../core/repository/index.js'; /** * A server data source for Element publishing * @class UmbElementPublishingServerDataSource */ export declare class UmbElementPublishingServerDataSource { #private; /** * Creates an instance of UmbElementPublishingServerDataSource. * @param {UmbControllerHost} host - The controller host for this controller to be appended to * @memberof UmbElementPublishingServerDataSource */ constructor(host: UmbControllerHost); /** * Creates and publishes a new Element on the server in a single operation * @param {UmbElementDetailModel} model - Element Model * @param {Array} variantIds - The variants to publish after creating * @param {string | null} parentUnique - The unique of the parent to create under * @returns {*} * @memberof UmbElementPublishingServerDataSource */ createAndPublish(model: UmbElementDetailModel, variantIds: Array, parentUnique?: string | null): Promise>; /** * Updates and publishes an Element on the server in a single operation * @param {UmbElementDetailModel} model - Element Model * @param {Array} variantIds - The variants to publish after updating * @returns {*} * @memberof UmbElementPublishingServerDataSource */ updateAndPublish(model: UmbElementDetailModel, variantIds: Array): Promise>; /** * Publish one or more variants of an Element * @param {string} unique * @param {Array} variants * @returns {*} * @memberof UmbElementPublishingServerDataSource */ publish(unique: string, variants: Array): Promise>; /** * Unpublish one or more variants of an Element * @param {string} unique * @param {Array} variantIds * @returns {*} * @memberof UmbElementPublishingServerDataSource */ unpublish(unique: string, variantIds: Array): Promise>; /** * Get the published Element by its unique * @param {string} unique - Element unique * @returns {Promise>} Published element * @memberof UmbElementPublishingServerDataSource */ published(unique: string): Promise>; }