import { Dispatch, MutableRefObject, SetStateAction } from 'react'; import { DdocProps, SerializedCommentAnchor, ThemeKey } from '../types'; import { AnyExtension, Editor } from '@tiptap/react'; import { CommentAnchor } from '../extensions/comment/comment-decoration-plugin'; import { DBlockRuntimeStateRef } from '../extensions/d-block/dblock-runtime'; import { ToCItemType } from '../components/toc/types'; import { CollabConnectionConfig, CollaborationProps } from '../sync-local/types'; import * as Y from 'yjs'; interface UseTabEditorArgs { ydoc: Y.Doc; isVersionMode?: boolean; hasTabState?: boolean; versionId?: string; isPreviewMode?: boolean; viewerMode?: DdocProps['viewerMode']; initialContent: DdocProps['initialContent']; collaboration?: CollaborationProps; isReady?: boolean; awareness?: any; disableInlineComment?: boolean; isFocusMode?: boolean; onCommentInteraction?: DdocProps['onCommentInteraction']; onError?: DdocProps['onError']; ipfsImageUploadFn?: DdocProps['ipfsImageUploadFn']; metadataProxyUrl?: string; onCopyHeadingLink?: DdocProps['onCopyHeadingLink']; ipfsImageFetchFn?: DdocProps['ipfsImageFetchFn']; fetchV1ImageFn?: DdocProps['fetchV1ImageFn']; isConnected?: boolean; activeModel?: DdocProps['activeModel']; maxTokens?: number; isAIAgentEnabled?: boolean; setCharacterCount?: DdocProps['setCharacterCount']; setWordCount?: DdocProps['setWordCount']; setSelectedWordCount?: DdocProps['setSelectedWordCount']; setPageCount?: DdocProps['setPageCount']; setIsContentLoading: Dispatch>; setIsCollabContentLoading: Dispatch>; unFocused?: boolean; zoomLevel?: string; isPresentationMode?: boolean; onInvalidContentError?: DdocProps['onInvalidContentError']; ignoreCorruptedData?: boolean; onConnect: (connectConfig: CollabConnectionConfig) => void; onDisconnect: () => void; isIndexeddbSynced: boolean; hasCollabContentInitialised?: boolean; initialiseYjsIndexedDbProvider: () => Promise; externalExtensions?: Record; isContentLoading?: boolean; activeTabId: string; tabIds?: string[]; theme?: ThemeKey; editorRef?: MutableRefObject; initialCommentAnchors?: SerializedCommentAnchor[]; dBlockRuntimeStateRef?: DBlockRuntimeStateRef; } export declare const useTabEditor: ({ ydoc, isVersionMode, hasTabState, versionId, isPreviewMode, viewerMode, initialContent, collaboration, isReady, awareness, disableInlineComment, isFocusMode, onCommentInteraction, onError, ipfsImageUploadFn, metadataProxyUrl, onCopyHeadingLink, ipfsImageFetchFn, fetchV1ImageFn, isConnected, activeModel, maxTokens, isAIAgentEnabled, setCharacterCount, setWordCount, setSelectedWordCount, setPageCount, setIsContentLoading, setIsCollabContentLoading, unFocused, zoomLevel, isPresentationMode, onInvalidContentError, ignoreCorruptedData, onConnect, onDisconnect, isIndexeddbSynced, hasCollabContentInitialised, initialiseYjsIndexedDbProvider, externalExtensions, isContentLoading, activeTabId, tabIds, theme, editorRef, initialCommentAnchors, dBlockRuntimeStateRef, }: UseTabEditorArgs) => { editor: Editor | null; cachedEditorEntries: import('./use-tab-editor-cache').CachedTabEditorRenderEntry[]; ref: import('react').RefObject; slides: string[]; setSlides: Dispatch>; tocItems: ToCItemType[]; setTocItems: Dispatch>; activeCommentId: string | null; setActiveCommentId: Dispatch>; focusCommentWithActiveId: (id: string) => void; isContentLoading: boolean | undefined; commentAnchorsRef: MutableRefObject; draftAnchorsRef: MutableRefObject; storeApiRef: MutableRefObject | null>; }; export {};