import type { PointerEventState } from '@revesuite/lit'; import type { BaseBlockModel, Page } from '@revesuite/store'; import { type BlockComponentElement, type ExtendedModel } from '../../__internal__/index.js'; import type { RichText } from '../../__internal__/rich-text/rich-text.js'; import type { AffineTextAttributes } from '../../__internal__/rich-text/virgo/types.js'; import { type BlockRange } from '../../__internal__/utils/block-range.js'; import type { BlockSchemas } from '../../models.js'; import type { DefaultSelectionManager, PageSelectionState } from '../default/selection-manager/index.js'; export declare function handleBlockSelectionBatchDelete(page: Page, models: ExtendedModel[]): BaseBlockModel | null; export declare function deleteModelsByRange(page: Page, blockRange?: { type: "Block"; startOffset: number; endOffset: number; models: BaseBlockModel[]; } | { nativeRange: Range; type: "Native"; startOffset: number; endOffset: number; models: BaseBlockModel[]; } | null): BaseBlockModel | null; /** * Do nothing when selection is collapsed or not multi block selected */ export declare function handleMultiBlockBackspace(page: Page, e: KeyboardEvent): void; export declare function updateBlockType(models: BaseBlockModel[], flavour: keyof BlockSchemas, type?: string): BaseBlockModel[]; /** * By default, it is in `strict` mode, which only returns the formats that all the text in the range share. * formats with different values, such as different links, are considered different formats. * * If the `loose` mode is enabled, any format that exists in the range will be returned. * formats with different values will only return the last one. */ export declare function getCombinedFormat(blockRange: BlockRange, loose?: boolean): AffineTextAttributes; export declare function getCurrentCombinedFormat(page: Page, loose?: boolean): AffineTextAttributes; export declare function handleFormat(page: Page, key: keyof Omit): void; export declare function handleSelectAll(selection: DefaultSelectionManager): void; export declare function handleKeydownAfterSelectBlocks({ page, keyboardEvent, selectedBlocks, }: { page: Page; keyboardEvent: KeyboardEvent; selectedBlocks: BaseBlockModel[]; }): void; export declare function onModelTextUpdated(model: BaseBlockModel, callback: (text: RichText) => void): Promise; export declare function onModelElementUpdated(model: BaseBlockModel, callback: (blockElement: BlockComponentElement) => void): Promise; export declare function tryUpdateFrameSize(page: Page, zoom: number): void; export declare function showFormatQuickBarByClicks(type: 'double' | 'triple', e: PointerEventState, page: Page, container?: HTMLElement, state?: PageSelectionState): void; //# sourceMappingURL=container-operations.d.ts.map