import Delta from 'quill-delta'; import Op from 'quill-delta/dist/Op'; import AttributeMap from 'quill-delta/dist/AttributeMap'; import RichTextOperations from "./RichTextOperations"; import { CaretPos } from "../interface"; export declare type RichTextOp = Op; export declare type RichTextOps = Op[]; export interface RANGE { start: number; end: number; } export default class RichTextDocument { delta: Delta; constructor(initial: Op[] | RichTextDocument); static isDocument(ops: Op[]): boolean; static isEqual(doc1: RichTextDocument, doc2: RichTextDocument): boolean; clone(): RichTextDocument; diff(to: RichTextDocument): RichTextOperations; toOps(): Op[]; compose(data: RichTextOperations): this; autoMerge(): RichTextDocument; composeWithCaret(data: RichTextOperations, caretOffset: number): number; composeWithCarets(data: RichTextOperations, caretOffset: number[]): number[]; transformOffset(oldDoc: RichTextDocument, oldOffsets: number[]): number[]; applyStyle(start: number, end: number, key: string, value: boolean | number | string | Date | undefined): this; addStyle(start: number, end: number, key: string, value: boolean | number | string | Date): this; removeStyle(start: number, end: number, key: string): this; removeAllStyles(): this; removeBackground(): this; removeColor(): this; getOpAt(offset: number): Op[]; getOpRangeAt(offset: number): { start: number; end: number; }; getAttributesAt(offset: number): AttributeMap | undefined; getOpRange(testOp: Op): { start: number; end: number; }; expandRange(offset: number): RANGE; expandRangeToSameAttributes(offset: number, attributes: { [index: string]: any; }): RANGE; static getOpLength(op: Op): number; getLength(): number; getCharAt(offset: number): string | -1; splitToThree(offset: number, length: number): RichTextDocument[]; split(offset: number, splitResult?: any): RichTextDocument[]; splitByCarets(carets: CaretPos[]): (RichTextDocument | CaretPos)[]; getLastTextWithAttributes(): RichTextDocument; toPlainText(options?: { fillCharForBox: boolean; }): string; toPlainTextWithFillChar(): string; static create(text: string): RichTextDocument; static createWithAttributes(text: string, attributes: AttributeMap): RichTextDocument; static from(data: RichTextDocument | RichTextOps | null | undefined): RichTextDocument; static isEmpty(data: RichTextDocument | RichTextOps): boolean; static applyStyleToDocument(doc: RichTextDocument, key: string, value: boolean | number | string | Date | undefined): RichTextDocument; removeAttributes(key: string, value: any, ignoreValue?: boolean): this; removeAttributesByPrefix(prefix: string): this; getAttributesRange(key: string, value: any): RANGE[]; updateOpAttributes(key: string, value: string, data: any): boolean; sub(start: number, count: number): RichTextDocument; insert(pos: number, doc: RichTextDocument): RichTextDocument; findAll(text: string): RANGE[]; replace(start: number, end: number, replaceWith: string): RichTextDocument; replaceAll(find: string, replaceWith: string, replaceResult?: { count: number; }): RichTextDocument; static combine(doc1: RichTextDocument, doc2: RichTextDocument): RichTextDocument; static fromText(text: string): RichTextDocument; static fromAttributedText(text: string, attributes: AttributeMap): RichTextDocument; }