import type { BaseTextAttributes } from '@revesuite/virgo'; import * as Y from 'yjs'; export interface OptionalAttributes { attributes?: { [key: string]: any; }; } export type DeltaOperation = { insert?: string; delete?: number; retain?: number; } & OptionalAttributes; export declare class Text { private _yText; private _shouldTransact; constructor(input?: Y.Text | string); static fromDelta(delta: DeltaOperation[]): Text; get length(): number; get yText(): Y.Text; private _transact; clone(): Text; /** * NOTE: The string included in [index, index + length) will be deleted. * * Here are three cases for point position(index + length): * [{insert: 'abc', ...}, {insert: 'def', ...}, {insert: 'ghi', ...}] * 1. abc|de|fghi * left: [{insert: 'abc', ...}] * right: [{insert: 'f', ...}, {insert: 'ghi', ...}] * 2. abc|def|ghi * left: [{insert: 'abc', ...}] * right: [{insert: 'ghi', ...}] * 3. abc|defg|hi * left: [{insert: 'abc', ...}] * right: [{insert: 'hi', ...}] */ split(index: number, length?: number): Text; insert(content: string, index: number, attributes?: Record): void; /** * @deprecated Use {@link insert} or {@link applyDelta} instead. */ insertList(insertTexts: DeltaOperation[], index: number): void; join(other: Text): void; format(index: number, length: number, format: any): void; delete(index: number, length: number): void; replace(index: number, length: number, content: string, attributes?: BaseTextAttributes): void; clear(): void; applyDelta(delta: DeltaOperation[]): void; toDelta(): DeltaOperation[]; sliceToDelta(begin: number, end?: number): DeltaOperation[]; toString(): string; } //# sourceMappingURL=text-adapter.d.ts.map