import type { Backend, BackendRunOptions } from "./types.js"; export type { Backend, BackendRunOptions } from "./types.js"; export { geminiBackend } from "./gemini.js"; export { agyBackend } from "./agy.js"; /** Pre-retirement default backend name. */ export declare const DEFAULT_BACKEND = "gemini"; /** * The default backend, resolved against the calendar (Phase 4 cutover): the * Gemini CLI until it is retired on 2026-06-18, then `agy` automatically — because * once gemini is gone, agy is the only live option. An explicit GEMINI_MCP_BACKEND * always overrides this. `now` is injectable for tests. */ export declare function resolveDefaultBackend(now?: Date): "gemini" | "agy"; /** * Select the active backend. GEMINI_MCP_BACKEND wins ("agy"/"antigravity" → * Antigravity CLI, "gemini" → Gemini CLI); otherwise the date-aware default. */ export declare function getBackend(env?: NodeJS.ProcessEnv, now?: Date): Backend; /** * Resolve the backend and any migration notices to surface to the caller: * - post-retirement, when the default has auto-flipped to agy; * - in the final countdown, a one-time nudge to test agy early. * Both are suppressed when GEMINI_MCP_BACKEND is set explicitly. */ export declare function backendSelection(env?: NodeJS.ProcessEnv, now?: Date): { backend: Backend; notices: string[]; }; /** Test seam: reset the once-per-process retirement nudge. */ export declare function __resetRetirementNudgeForTest(): void; /** * Run a prompt through the active backend, applying capability gating so the * caller never gets a silent behaviour change: * - if the backend can't honour `model`, the model is dropped and a notice * explains it (agy print-mode is Flash-only); * - if the backend can't isolate tool execution, a requested `sandbox` yields a * notice rather than a false sense of safety. * Notices are returned alongside the text for the tool layer to surface. */ export declare function runWithBackend(prompt: string, opts: BackendRunOptions): Promise<{ text: string; notices: string[]; backend: string; }>; /** Prepend any capability notices to a response so changes are never silent. */ export declare function withNotices(notices: string[], body: string): string; //# sourceMappingURL=index.d.ts.map