/** * Client-side search: server sends minimal posting list bytes, * client does intersection + scoring, then fetches only the winning records. * * Flow: * 1. GET /posting?q=... → compact IDs (8 bytes each, ~10-80KB total) * 2. Client intersects + ranks by IDF locally * 3. GET /records?ids=... → display data for top-20 (~5-10KB) * Total: 2 requests, ~20-90KB transferred */ interface ClientSearchOpts { apiUrl: string; apiKey: string; country: string; query: string; json: boolean; simLatency: number; simBandwidth: number; } export declare function clientSearch(opts: ClientSearchOpts): Promise; export {};