/** * @verevoir/llm/google — Google Gemini SDK adapter. * * Wraps `@google/genai` in the provider-agnostic surface defined in the * core. Importing this subpath requires `@google/genai` as a peer * dependency on the consumer. * * v0.4.0 ships `chat()` only — single-shot text generation. The * materialiser-style paths (review-repo, doc-piece, conversation-doc) * use just this. `chatWithTools()` and `chatWithToolLoop()` follow in * a subsequent release. */ import { type ChatOptions, type ChatReply, type ChatWithToolLoopOptions, type ChatWithToolLoopResult, type ChatWithToolsOptions, type ChatWithToolsResult, type ModelClass, type RatesTable } from '../index.js'; /** Provider id reported on every {@link TokenUsage} this adapter returns. */ export declare const PROVIDER = "google"; /** * Concrete model id per {@link ModelClass}. Reasoning maps to the * most-capable Pro tier; extraction maps to Flash, which Google * positions for fast/cheap structured tasks. * * As of 2026-05-20 we use 2.5-family identifiers (current general * availability); upgrades happen here only, no ripple through callers. */ export declare const models: Readonly>; /** * Per-model pricing (USD per million tokens) — Google-published rates * as of 2026-05-20. * * **Worst-case approach:** same convention as the Anthropic adapter — * cached input is billed cheaper than standard but the rate-tuple * here is the standard input rate, so pricing via this table is an * upper bound. Refresh this table when Google publishes new * pricing. * * Each rate-tuple is `[input_per_million_USD, output_per_million_USD]`. * * @deprecated Part of the old static-rates cost API. Use * `createPriceBook(...)` / `book.costOf(...)` instead (see `src/pricing.ts`) * — it prices from LiteLLM's live table (the bundled snapshot as fallback) * and reports an unmatched model as `unpriced` rather than `0`. */ export declare const rates: RatesTable; /** * Single-shot text generation via the Gemini API. Same surface as the * Anthropic adapter's `chat()`: pass turns + systemPrompt, get * `{ content, usage, stopReason }` back. Retry on transient errors * with caller-visible narration via `onRetry`. * * Not yet supported in this adapter (planned follow-up): live progress * narration via `onProgress` (Gemini's streaming + tool semantics need * a different shape from Anthropic's report_progress pattern). */ export declare function chat(options: ChatOptions): Promise; /** Single-shot tool-calling: surface the model's functionCalls for the caller * to execute. Mirrors the Anthropic adapter's chatWithTools. */ export declare function chatWithTools(options: ChatWithToolsOptions): Promise; /** Multi-turn tool loop: model → execute tools → feed functionResponse parts * back, until the model returns a call-free reply (or maxIterations). Mirrors * the Anthropic adapter's chatWithToolLoop, in Gemini's content shape. */ export declare function chatWithToolLoop(options: ChatWithToolLoopOptions): Promise; //# sourceMappingURL=index.d.ts.map