import type { UmbDocumentPublishedPendingChangesManagerProcessArgs, UmbPublishedVariantWithPendingChanges } from './types.js';
import { UmbControllerBase } from '../../../../../libs/class-api/index.js';
/**
 * Manages the pending changes for a published document.
 * @exports
 * @class UmbDocumentPublishedPendingChangesManager
 * @augments {UmbControllerBase}
 */
export declare class UmbDocumentPublishedPendingChangesManager extends UmbControllerBase {
    #private;
    readonly variantsWithChanges: import("rxjs").Observable<UmbPublishedVariantWithPendingChanges[]>;
    /**
     * Checks each variant if there are any pending changes to publish.
     * @param {UmbDocumentPublishedPendingChangesManagerProcessArgs} args - The arguments for the process.
     * @param {UmbDocumentDetailModel} args.persistedData - The persisted document data.
     * @param {UmbDocumentDetailModel} args.publishedData - The published document data.
     * @returns {Promise<void>}
     * @memberof UmbDocumentPublishedPendingChangesManager
     */
    process(args: UmbDocumentPublishedPendingChangesManagerProcessArgs): Promise<void>;
    /**
     * Gets the variants with changes.
     * @returns {Array<UmbPublishedVariantWithPendingChanges>}  {Array<UmbVariantWithChanges>}
     * @memberof UmbDocumentPublishedPendingChangesManager
     */
    getVariantsWithChanges(): Array<UmbPublishedVariantWithPendingChanges>;
    /**
     * Clear all states/values,
     */
    clear(): void;
}
