import { type RealtimeProcedure, type RealtimeSyncHandle } from '../client/realtime.js'; type SyncableCollection = { utils: { writeUpsert(item: unknown): void; writeDelete(key: unknown): void; refetch(): Promise; }; }; export type SyncRealtimeTarget = { applyRealtimeEvent(action: 'create' | 'update' | 'delete', record: Record): void; refetchAll(): Promise; }; export type SyncRealtimeConfig = { api: { realtime: { changes: RealtimeProcedure; }; }; tables: string[]; collections?: Record; resolve?: (table: string) => SyncRealtimeTarget | undefined; resolveAll?: () => Iterable; signal?: AbortSignal; retryMs?: number; maxRetryMs?: number; onError?: (error: unknown) => void; }; /** TanStack DB consumes the shared raw stream without a QueryClient detour. */ export declare function createSyncRealtimeClient(config: SyncRealtimeConfig): RealtimeSyncHandle; export {}; //# sourceMappingURL=realtime-sync.d.ts.map