import type { UmbBlockRteWorkspaceOriginData } from '../workspace/block-rte-workspace.modal-token.js';
import type { UmbBlockRteLayoutModel, UmbBlockRteTypeModel } from '../types.js';
import type { UmbBlockDataModel } from '../../block/types.js';
import { UmbBlockManagerContext } from '../../block/index.js';
import '../components/block-rte-entry/index.js';
/**
 * A implementation of the Block Manager specifically for the Rich Text Editor.
 */
export declare class UmbBlockRteManagerContext<BlockLayoutType extends UmbBlockRteLayoutModel = UmbBlockRteLayoutModel> extends UmbBlockManagerContext<UmbBlockRteTypeModel, BlockLayoutType> {
    #private;
    readonly pendingDeletions: import("rxjs").Observable<string[]>;
    /**
     * Request a block to be deleted. This adds the contentKey to pending deletions,
     * which will be processed by the Tiptap API to remove the HTML element first,
     * enabling undo support.
     * @param {string} contentKey - The content key of the block to delete.
     */
    requestPendingDeletion(contentKey: string): void;
    /**
     * Clear a pending deletion after it has been processed.
     * @param {string} contentKey - The content key to clear from pending deletions.
     */
    clearPendingDeletion(contentKey: string): void;
    removeOneLayout(contentKey: string): void;
    removeManyLayouts(contentKeys: Array<string>): void;
    /**
     * @param contentElementTypeKey
     * @param partialLayoutEntry
     * @param _originData
     */
    createWithPresets(contentElementTypeKey: string, partialLayoutEntry?: Omit<BlockLayoutType, 'contentKey'>, _originData?: UmbBlockRteWorkspaceOriginData): Promise<{
        layout: BlockLayoutType;
        content: {
            key: string;
            contentTypeKey: string;
            values: import("../../../content/content/index.js").UmbElementValueModel<unknown>[];
        };
        settings: UmbBlockDataModel | undefined;
    }>;
    insert(layoutEntry: BlockLayoutType, content: UmbBlockDataModel, settings: UmbBlockDataModel | undefined, originData: UmbBlockRteWorkspaceOriginData): boolean;
    /**
     * @param contentKey
     * @internal
     */
    deleteLayoutElement(contentKey: string): void;
}
