import { Editor } from '@tiptap/react'; import { DdocProps } from '../types'; import { Tab } from '../components/tabs/utils/tab-utils'; import * as Y from 'yjs'; interface UseTabManagerArgs { ydoc: Y.Doc; initialContent: DdocProps['initialContent']; enableCollaboration?: boolean; isDDocOwner: boolean; createDefaultTabIfMissing: boolean; shouldSyncActiveTab: boolean; defaultTabId?: string; preferFirstTabOnInit?: boolean; onVersionHistoryActiveTabChange?: (tabId: string | null) => void; getEditor?: () => Editor | null; flushPendingUpdate?: () => void; } export declare const getNewTabId: () => string; export declare const useTabManager: ({ ydoc, initialContent, enableCollaboration, isDDocOwner, createDefaultTabIfMissing, shouldSyncActiveTab, defaultTabId, preferFirstTabOnInit, onVersionHistoryActiveTabChange, flushPendingUpdate, getEditor, }: UseTabManagerArgs) => { tabs: Tab[]; hasTabState: boolean; activeTabId: string; setTabs: import('react').Dispatch>; setActiveTabId: (id: string) => void; createTab: () => string; deleteTab: (tabId: string) => void; renameTab: (tabId: string, { newName, emoji }: { newName?: string; emoji?: string; }) => void; duplicateTab: (tabId: string) => string | undefined; orderTab: (destinationTabId: string, movedTabId: string) => void; }; export {};