import type { Editor } from '@tiptap/core'; import { type MutableRefObject, type ReactNode } from 'react'; import type { WorkDocumentCaptionKind } from '../work-document-captions'; import type { WorkDocumentFieldContextResolver, WorkDocumentFieldKind } from '../work-document-fields'; import type { WorkDocumentNoteKind } from '../work-document-notes'; import type { WorkDocumentContent } from '../work-types'; export interface DocumentInsertCommands { dialog: ReactNode; insertCaption: (kind: WorkDocumentCaptionKind) => void; insertCrossReference: () => void; insertField: (kind: WorkDocumentFieldKind) => void; openField: () => void; insertImage: (file: File) => Promise; insertNote: (kind: WorkDocumentNoteKind) => boolean; insertTextBox: () => boolean; insertConnector: () => boolean; openContentControl: () => void; openIndexEntry: () => void; openIndex: () => void; openTableOfContents: () => void; refreshFields: () => boolean; refreshIndex: () => boolean; refreshTableOfContents: () => boolean; } export declare function useDocumentInsertCommands({ contentRef, editor, resolveFieldContext, }: { contentRef: MutableRefObject; editor: Editor | null; resolveFieldContext?: WorkDocumentFieldContextResolver | null; }): DocumentInsertCommands;