import { type UseCollaborativeDocOptions, type UseCollaborativeDocResult, type CollabUser } from "./client.js"; export interface UseCollaborativeMapOptions extends UseCollaborativeDocOptions { fieldName?: string; } export interface UseCollaborativeMapResult> extends UseCollaborativeDocResult { data: T | null; update: (newData: T) => void; patch: (path: string, value: any) => void; } export declare function useCollaborativeMap>(options: UseCollaborativeMapOptions): UseCollaborativeMapResult; export interface UseCollaborativeArrayOptions extends UseCollaborativeDocOptions { fieldName?: string; } export interface UseCollaborativeArrayResult extends UseCollaborativeDocResult { data: T[]; push: (item: T) => void; insert: (index: number, item: T) => void; remove: (index: number) => void; move: (from: number, to: number) => void; updateItem: (index: number, patch: Partial) => void; replace: (items: T[]) => void; } export declare function useCollaborativeArray(options: UseCollaborativeArrayOptions): UseCollaborativeArrayResult; export type { CollabUser, UseCollaborativeDocOptions, UseCollaborativeDocResult, };