import type { PeritextDataTransfer } from '../../../json-crdt-extensions/peritext/transfer/PeritextDataTransfer';
import type { PeritextEventHandlerMap, PeritextEventTarget } from '../PeritextEventTarget';
import type { Peritext } from '../../../json-crdt-extensions/peritext';
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 { 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);
    readonly change: (event: CustomEvent<events.ChangeDetail>) => void;
    readonly insert: (event: CustomEvent<events.InsertDetail>) => void;
    readonly delete: (event: CustomEvent<events.DeleteDetail>) => void;
    readonly cursor: (event: CustomEvent<events.CursorDetail>) => void;
    readonly format: (event: CustomEvent<events.FormatDetail>) => void;
    readonly marker: (event: CustomEvent<events.MarkerDetail>) => void;
    readonly buffer: (event: CustomEvent<events.BufferDetail>) => Promise<void>;
    readonly annals: (event: CustomEvent<events.AnnalsDetail>) => void;
}
