/** * ODIS v3 "semen/ovulo": Worker sends minimal instructions (100 bytes), * client reconstructs everything from public CDN. * * Flow: * 1. GET /resolve?q=... → Worker does DO lookup (1ms), returns byte range instructions * 2. Client fetches posting lists from data.latinfo.dev (public CDN, no Worker) * 3. Client intersects + ranks locally * 4. GET /records?ids=... → Worker returns display data (1 request) * * Worker load: 2 lightweight requests per search (resolve + records) * CDN load: 2-3 range requests per search (posting lists, no Worker) */ export interface OdisOpts { apiUrl: string; apiKey: string; country: string; source: string; idLength: number; query: string; json: boolean; } export declare function odisV2Search(opts: OdisOpts): Promise;