import type { QueryClient } from '@tanstack/react-query'; import { type AnyBunderstackApp, type BunderstackClient, type InferInsert, type InferSchema, type InferSelect, type InferTables } from '../query/index.js'; import { type TableCollection } from './collection.js'; export type RowFor, K extends keyof TSchema> = [InferSelect] extends [never] ? { id: string | number; } : InferSelect extends { id: string | number; } ? InferSelect : { id: string | number; }; export type CreateFor, K extends keyof TSchema> = [InferInsert] extends [never] ? Partial> : InferInsert; export type SyncClientOptions = { baseUrl?: string; fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise; queryClient: QueryClient; realtime?: boolean; }; export type BunderstackSyncClient = { [K in InferTables]: TableCollection, K>, CreateFor, K>, Partial, K>>>; } & { files: BunderstackClient['files']; realtime: { close(): void; subscribe(tables: string[]): Promise; } | undefined; }; export declare function createSyncClient(options: SyncClientOptions): BunderstackSyncClient; //# sourceMappingURL=sync-client.d.ts.map