import type { PointerEventState } from '@revesuite/lit'; import type { BlockComponentElement, IPoint } from '../../../__internal__/index.js'; import { Point } from '../../../__internal__/index.js'; import type { RichText } from '../../../__internal__/rich-text/rich-text.js'; import type { EmbedBlockComponent } from '../../../embed-block/index.js'; export type PageSelectionType = 'native' | 'block' | 'block:drag' | 'none' | 'embed' | 'database'; export interface PageViewport { left: number; top: number; scrollLeft: number; scrollTop: number; scrollHeight: number; clientHeight: number; clientWidth: number; } export declare class PageSelectionState { type: PageSelectionType; viewport: PageViewport; draggingArea: { start: Point; end: Point; } | null; selectedEmbeds: EmbedBlockComponent[]; selectedBlocks: BlockComponentElement[]; focusedBlock: BlockComponentElement | null; rafID?: number; lastPoint: Point | null; private _startRange; private _richTextCache; private _blockCache; private _embedCache; private _activeComponent; constructor(type: PageSelectionType); get activeComponent(): BlockComponentElement | null; set activeComponent(component: BlockComponentElement | null); get startRange(): Range | null; get richTextCache(): Map; get blockCache(): Map; get embedCache(): Map; get viewportOffset(): IPoint; resetStartRange(e: PointerEventState): void; resetDraggingArea(e: PointerEventState, offset?: { scrollLeft: number; scrollTop: number; }): void; refreshBlockRectCache(): void; blur(): void; clearRaf(): void; clearDraggingArea(): void; clearNativeSelection(): void; clearBlockSelection(): void; clearEmbedSelection(): void; clearSelection(): void; } //# sourceMappingURL=selection-state.d.ts.map