import { Nullable, DOC_RANGE_TYPE, RANGE_DIRECTION } from '@univerjs/core'; import { Documents, DocumentSkeleton, INodePosition, IPoint, ISuccinctDocRangeParam, ITextSelectionStyle, Scene, Rect } from '@univerjs/engine-render'; import { IDocRange } from './range-interface'; export declare const TEXT_RANGE_LAYER_INDEX = 3; export declare function cursorConvertToTextRange(scene: Scene, range: ISuccinctDocRangeParam, docSkeleton: DocumentSkeleton, document: Documents): Nullable; export declare function getAnchorBounding(pointsGroup: IPoint[][]): { left: number; top: number; width: number; height: number; }; export declare function getLineBounding(pointsGroup: IPoint[][]): { left: number; right: number; top: number; bottom: number; }[]; export declare class TextRange implements IDocRange { private _scene; private _document; private _docSkeleton; anchorNodePosition?: Nullable; focusNodePosition?: Nullable; style: ITextSelectionStyle; private _segmentId; private _segmentPage; rangeType: DOC_RANGE_TYPE; private _current; private _rangeShape; private _anchorShape; private _cursorList; private _anchorBlinkTimer; constructor(_scene: Scene, _document: Documents, _docSkeleton: DocumentSkeleton, anchorNodePosition?: Nullable, focusNodePosition?: Nullable, style?: ITextSelectionStyle, _segmentId?: string, _segmentPage?: number); private _anchorBlink; get startOffset(): number | undefined; get endOffset(): number | undefined; get collapsed(): boolean; get startNodePosition(): INodePosition | null; get endNodePosition(): Nullable; get direction(): RANGE_DIRECTION; get segmentId(): string; get segmentPage(): number; getAbsolutePosition(): { left: number; top: number; width: number; height: number; } | undefined; getAnchor(): Nullable>; activeStatic(): void; deactivateStatic(): void; isActive(): boolean; activate(): void; deactivate(): void; dispose(): void; isIntersection(compareRange: TextRange): boolean; refresh(): void; private _isEmpty; private _isCollapsed; private _createOrUpdateRange; private _createOrUpdateAnchor; private _setCursorList; }