/** * Ask the server for the timestamp of the most recent Claude Code log it already holds, so * `capture-sessions` only re-scans files newer than that. This is a server-authoritative cutoff that * survives local state-file loss or a reinstall. * * Queries the `/api/v2/llm_request_logs` index for the single newest `claude_code` row. The server * has no default sort, so newest-first is requested explicitly via `q[s]`. Index reads require the * client's PRIVATE key (`private_key`, or the `COOLHAND_PRIVATE_KEY` env var); the public ingest * key is write-only and the server answers it with a 401. * * It NEVER throws: any problem (no private key, bad base url, 401, network failure, non-JSON body, * an empty result set, or an invalid `created_at`) returns `null` so the caller can fall back to * local state. * * `opts.clientId` is expected to be an **already-resolved** `client_id` string (e.g. from * `resolveClient`), not a raw user input. `getClient` is used here deliberately: by the time this * is called the client has already been selected (or is undefined for dry-run), so re-running the * full resolution chain would be redundant and could trigger a second TTY prompt. */ export declare function fetchLastSync(opts?: { clientId?: string; }): Promise; //# sourceMappingURL=last-sync.d.ts.map