collaborative-editor
Version:
JSON CRDT str node bindings to any generic plain text editor.
24 lines (23 loc) • 818 B
TypeScript
import type { EditorFacade, EditorSelection, SimpleChange } from './types';
export declare class MemoryEditor0 implements EditorFacade {
__str: string;
__cursorStart: number;
__cursorEnd: number;
__cursorDirection: -1 | 0 | 1;
__onchange: () => void;
__onselection: () => void;
onchange?: (change: SimpleChange[] | void) => void;
onselection?: () => void;
get(): string;
set(str: string): void;
}
export declare class MemoryEditor1 extends MemoryEditor0 {
getLength(): number;
set(): void;
ins(position: number, text: string): void;
del(position: number, length: number): void;
}
export declare class MemoryEditor2 extends MemoryEditor1 {
getSelection?(): EditorSelection | null;
setSelection?(start: number, end: number, direction: -1 | 0 | 1): void;
}