/**
 * All possible action identifiers that can be dispatched from the HTML editor toolbar.
 *
 * Actions that carry a typed data payload are mapped in {@link ToolbarActionDataMap}.
 * The {@link HandleToolbarAction} generic function type uses that map to enforce
 * the correct data shape at every call site.
 *
 * Every value here is a plain string literal — no template literals or numeric
 * strings. Dynamic data (colors, image src, search terms, etc.) is passed as a
 * separate typed `data` argument instead of being encoded in the action string.
 */
type ToolbarAction = 'undo' | 'redo' | 'h1' | 'h2' | 'h3' | 'h4' | 'body' | 'small' | 'bold' | 'italic' | 'underline' | 'strikethrough' | 'bulletList' | 'numberedList' | 'horizontalRule' | 'blockquote' | 'alignLeft' | 'alignCenter' | 'alignRight' | 'alignJustify' | 'fontSize' | 'textColor' | 'bgColor' | 'resetTextColor' | 'resetBgColor' | 'link' | 'unlink' | 'insertTable' | 'addColumnBefore' | 'addColumnAfter' | 'deleteColumn' | 'addRowBefore' | 'addRowAfter' | 'deleteRow' | 'deleteTable' | 'mergeCells' | 'splitCell' | 'toggleHeaderRow' | 'toggleHeaderColumn' | 'insertImage' | 'imageAlignment' | 'imageAlt' | 'deleteImage' | 'setSearchTerm' | 'setReplaceTerm' | 'nextSearchResult' | 'previousSearchResult' | 'replace' | 'replaceAll' | 'resetSearch' | 'insertVideo' | 'videoAlignment' | 'deleteVideo';
export default ToolbarAction;
