import { CollaborationProps } from '../sync-local/types';
import { DdocProps } from '../types';
import * as Y from 'yjs';
interface UseYjsSetupArgs {
    onChange?: DdocProps['onChange'];
    enableIndexeddbSync?: boolean;
    ddocId?: string;
    collaboration?: CollaborationProps;
    onIndexedDbError?: (error: Error) => void;
}
export declare const useYjsSetup: ({ onChange, enableIndexeddbSync, ddocId, collaboration, onIndexedDbError, }: UseYjsSetupArgs) => {
    ydoc: Y.Doc;
    onConnect: (connectConfig: import('../types').CollabConnectionConfig) => void;
    isReady: boolean;
    isSyncing: boolean;
    terminateSession: () => void;
    awareness: import('y-protocols/awareness.js').Awareness | null;
    hasCollabContentInitialised: boolean;
    isIndexeddbSynced: boolean;
    initialiseYjsIndexedDbProvider: () => Promise<void>;
    refreshYjsIndexedDbProvider: () => Promise<void>;
    flushPendingUpdate: () => void;
    collabState: import('../types').CollabState;
};
export {};
