import { Editor } from '../../Editor.js';
import { HistoryParticipant } from './types.js';
/** Stable participant key for the main document editor. */
export declare const BODY_PARTICIPANT_KEY = "body";
/** Stable participant key for a header/footer editor identified by its DOCX refId. */
export declare const buildHeaderFooterParticipantKey: (refId: string) => string;
export declare const createBodyParticipant: (editor: Editor) => HistoryParticipant;
export declare const createHeaderFooterParticipant: (editor: Editor, descriptor: {
    id: string;
    kind: "header" | "footer";
}) => HistoryParticipant;
/**
 * Build a note/endnote participant.
 *
 * Unlike body/header/footer, the note participant owns two extra hooks:
 *
 *   - `flushAfterReplay` runs the runtime's commit callback against the host
 *     editor so coordinator-driven undo/redo writes the new PM state back to
 *     the canonical OOXML part and the document renders the change.
 *   - `onInvalidated` lets the registry tear down the dormant editor when
 *     its reachable history is purged.
 */
export declare const createNoteParticipant: (input: {
    storyKey: string;
    storyType: "footnote" | "endnote";
    editor: Editor;
    flushAfterReplay?: (action: "undo" | "redo") => void;
    onInvalidated?: () => void;
}) => HistoryParticipant;
//# sourceMappingURL=create-editor-participant.d.ts.map