json-joy
Version:
Collection of libraries for building collaborative editing apps.
20 lines (19 loc) • 1.08 kB
TypeScript
import { Slice } from '../slice/Slice';
import type { Peritext } from '../Peritext';
import type { SliceType } from '../slice/types';
import type { Slices } from '../slice/Slices';
import type { ITimestampStruct } from '../../../json-crdt-patch';
import type { Range } from '../rga/Range';
export declare class EditorSlices<T = string> {
protected readonly txt: Peritext<T>;
readonly slices: Slices<T>;
constructor(txt: Peritext<T>, slices: Slices<T>);
/**
* @todo Rename to `insMany`.
*/
insStack(type: SliceType, data?: unknown | ITimestampStruct, selection?: Range<T>[] | IterableIterator<Range<T>>): Slice<T>[];
insOne(type: SliceType, data?: unknown | ITimestampStruct, selection?: Range<T>[] | IterableIterator<Range<T>>): Slice<T>[];
insErase(type: SliceType, data?: unknown | ITimestampStruct, selection?: Range<T>[] | IterableIterator<Range<T>>): Slice<T>[];
insMarker(type: SliceType, data?: unknown, selection?: Range<T>[] | IterableIterator<Range<T>>): Slice<T>[];
del(sliceOrId: Slice<T> | ITimestampStruct): void;
}