import { SubscriptionEventTarget } from '../../../util/events/TypedEventTarget'; import type { PeritextEventDetailMap, CursorDetail, FormatDetail, DeleteDetail, MarkerDetail, BufferDetail, SelectionMoveInstruction } from './types'; export type PeritextEventMap = { [K in keyof PeritextEventDetailMap]: CustomEvent; }; export type PeritextEventHandlerMap = { [K in keyof PeritextEventDetailMap]: (event: CustomEvent) => void; }; export declare class PeritextEventTarget extends SubscriptionEventTarget { readonly id: number; defaults: Partial; dispatch>(type: K, detail: Omit[K]): void; change(ev?: CustomEvent): void; insert(text: string): void; delete(len: number, unit?: SelectionMoveInstruction[1]): void; delete(edge: SelectionMoveInstruction[0], unit: SelectionMoveInstruction[1], len?: SelectionMoveInstruction[2], collapse?: SelectionMoveInstruction[3]): void; delete(detail?: DeleteDetail): void; cursor(detail: CursorDetail): void; move(edge: SelectionMoveInstruction[0], unit: SelectionMoveInstruction[1], len?: SelectionMoveInstruction[2], collapse?: SelectionMoveInstruction[3]): void; move(move?: CursorDetail['move'], at?: CursorDetail['at']): void; format(action: FormatDetail['action'], type: FormatDetail['type'], stack?: FormatDetail['stack'], data?: FormatDetail['data']): void; format(detail: FormatDetail): void; marker(action: MarkerDetail['action'], type: MarkerDetail['type'], data?: MarkerDetail['data']): void; marker(detail: MarkerDetail): void; buffer(action: BufferDetail['action'], format?: BufferDetail['format']): void; buffer(detail: BufferDetail): void; }