import { SyncBackend } from '@livestore/common'; import { type Duration } from '@livestore/utils/effect'; import type { SyncMetadata } from '../../common/sync-message-types.ts'; export interface HttpSyncOptions { /** * URL of the sync backend * * @example * ```ts * const syncBackend = makeHttpSync({ url: 'https://sync.example.com' }) * ``` */ url: string; headers?: Record; livePull?: { /** * How often to poll for new events * @default 5 seconds */ pollInterval?: Duration.DurationInput; }; ping?: { /** * @default true */ enabled?: boolean; /** * How long to wait for a ping response before timing out * @default 10 seconds */ requestTimeout?: Duration.DurationInput; /** * How often to send ping requests * @default 10 seconds */ requestInterval?: Duration.DurationInput; }; } /** * Note: This implementation requires the `enable_request_signal` compatibility flag to properly support `pull` streaming responses */ export declare const makeHttpSync: (options: HttpSyncOptions) => SyncBackend.SyncBackendConstructor; //# sourceMappingURL=http-rpc-client.d.ts.map