import type { UmbDocumentDetailModel, UmbDocumentVariantPublishModel } from '../../types.js';
import { UmbRepositoryBase, type UmbRepositoryResponse } from '../../../../core/repository/index.js';
import type { UmbVariantId } from '../../../../core/variant/index.js';
export declare class UmbDocumentPublishingRepository extends UmbRepositoryBase {
    #private;
    /**
     * Publish one or more variants of a Document
     * @param {string} id
     * @param {Array<UmbVariantId>} variantIds
     * @param unique
     * @param variants
     * @returns {*}
     * @memberof UmbDocumentPublishingRepository
     */
    publish(unique: string, variants: Array<UmbDocumentVariantPublishModel>): Promise<import("../../../../core/resources/index.js").UmbApiResponse<{
        data: unknown;
        request: Request;
        response: Response;
    }>>;
    /**
     * Unpublish one or more variants of a Document
     * @param {string} id
     * @param {Array<UmbVariantId>} variantIds
     * @returns {*}
     * @memberof UmbDocumentPublishingRepository
     */
    unpublish(id: string, variantIds: Array<UmbVariantId>): Promise<import("../../../../core/resources/index.js").UmbApiResponse<{
        data: unknown;
        request: Request;
        response: Response;
    }>>;
    /**
     * Publish variants of a document including its descendants
     * @param id
     * @param variantIds
     * @param includeUnpublishedDescendants
     * @memberof UmbDocumentPublishingRepository
     */
    publishWithDescendants(id: string, variantIds: Array<UmbVariantId>, includeUnpublishedDescendants: boolean): Promise<{
        error: import("../../../../core/resources/index.js").UmbApiError | import("../../../../core/resources/index.js").UmbCancelError | undefined;
    } | {
        error: null;
    }>;
    /**
     * Get the published data of a document
     * @param {string} unique Document unique
     * @returns { Promise<UmbRepositoryResponse<UmbDocumentDetailModel>>} Published document
     * @memberof UmbDocumentPublishingRepository
     */
    published(unique: string): Promise<UmbRepositoryResponse<UmbDocumentDetailModel>>;
}
export { UmbDocumentPublishingRepository as api };
