import { CursorAnchor, type Peritext } from '../../../../json-crdt-extensions/peritext'; import type { PeritextDataTransfer } from '../../../../json-crdt-extensions/peritext/transfer/PeritextDataTransfer'; import type { PeritextEventHandlerMap, PeritextEventTarget } from '../PeritextEventTarget'; import type * as events from '../types'; import type { PeritextClipboard } from '../clipboard/types'; import type { UndoCollector } from './types'; import type { UiHandle } from './ui/UiHandle'; import type { Point } from '../../../../json-crdt-extensions/peritext/rga/Point'; import type { EditorUi } from '../../../../json-crdt-extensions/peritext/editor/types'; export interface PeritextEventDefaultsOpts { clipboard?: PeritextClipboard; transfer?: PeritextDataTransfer; } /** * Implementation of default handlers for Peritext events, such as "insert", * "delete", "cursor", etc. These implementations are used by the * {@link PeritextEventTarget} to provide default behavior for each event type. * If `event.preventDefault()` is called on a Peritext event, the default handler * will not be executed. */ export declare class PeritextEventDefaults implements PeritextEventHandlerMap { readonly txt: Peritext; readonly et: PeritextEventTarget; readonly opts: PeritextEventDefaultsOpts; undo?: UndoCollector; ui?: UiHandle; protected editorUi: EditorUi; constructor(txt: Peritext, et: PeritextEventTarget, opts?: PeritextEventDefaultsOpts); protected getSelSet({ at }: events.SelectionDetailPart): events.SelectionSet; protected moveRange(start: Point, end: Point, anchor: CursorAnchor, move?: events.SelectionMoveInstruction[]): [start: Point, end: Point, anchor: CursorAnchor]; protected moveSelSet(set: events.SelectionSet, { move }: events.SelectionMoveDetailPart): void; readonly change: (event: CustomEvent) => void; readonly insert: ({ detail }: CustomEvent) => void; readonly delete: ({ detail }: CustomEvent) => void; readonly cursor: ({ detail }: CustomEvent) => void; readonly format: ({ detail }: CustomEvent) => void; readonly marker: ({ detail }: CustomEvent) => void; readonly buffer: ({ detail }: CustomEvent) => Promise; readonly annals: (event: CustomEvent) => void; }