export declare const CONTEXT_ENGINE_IDS: readonly ["vault-ai-resume", "claude-subscription", "openai-subscription", "openrouter", "gemini"]; export declare const API_ENGINE_IDS: readonly ["openrouter", "gemini"]; export type ContextEngineId = (typeof CONTEXT_ENGINE_IDS)[number]; export type ApiEngineId = (typeof API_ENGINE_IDS)[number]; export declare const ENGINE_NAMES: Record; export interface EngineModelOption { id: string; label: string; aliases?: readonly string[]; } export declare const ENGINE_MODELS: Record; export declare class ContextQuotaError extends Error { readonly engine: ContextEngineId; constructor(engine: ContextEngineId); } export declare function isQuotaFailure(error: unknown): boolean; export interface ContextResult { title: string; content: string; facts: string[]; concepts: string[]; type?: string; engine: ContextEngineId; } export interface EngineAvailability { available: boolean; reason?: string; billing?: string; } export interface ContextEngine extends EngineAvailability { id: ContextEngineId; name: string; models: EngineModelOption[]; model?: string; } export interface CommandRequest { command: "claude" | "codex"; args: string[]; cwd: string; env: NodeJS.ProcessEnv; input?: string; timeoutMs: number; signal?: AbortSignal; } export type CommandRunner = (request: CommandRequest) => Promise<{ stdout: string; stderr: string; }>; export declare function isContextEngine(value: unknown): value is ContextEngineId; export declare function isApiEngine(value: unknown): value is ApiEngineId; export declare function selectedContextEngine(home: string): ContextEngineId; export declare function selectContextEngine(home: string, engine: unknown): ContextEngineId; export declare function saveEngineKey(home: string, engine: unknown, key: unknown): ApiEngineId; export declare function loadEngineKey(home: string, engine: ApiEngineId, environment?: NodeJS.ProcessEnv): string | undefined; export declare function engineModels(engine: ContextEngineId): EngineModelOption[]; export declare function parseEngineModel(engine: unknown, value: unknown): string; export declare function selectedEngineModel(home: string, engine: ContextEngineId): string; export declare function selectEngineModel(home: string, engine: unknown, model: unknown): string; export declare function contextEnvironment(source?: NodeJS.ProcessEnv): NodeJS.ProcessEnv; /** Never includes process stderr or model input in an error message. */ export declare const runContextCommand: CommandRunner; export declare function listContextEngines(home: string, managedStatus?: EngineAvailability, options?: { runner?: CommandRunner; env?: NodeJS.ProcessEnv; }): Promise<{ selected: ContextEngineId; model?: string; engines: ContextEngine[]; }>; export declare function validateContextResult(value: unknown, engine: ContextEngineId): ContextResult; export interface GenerateContextOptions { purpose?: 'knowledge-answer'; question?: string; signal?: AbortSignal; runner?: CommandRunner; httpFetch?: (input: string, init?: RequestInit) => Promise; env?: NodeJS.ProcessEnv; modeGuidance?: string; modeStorageKey?: Buffer; managedGenerate?: (text: string, options: { signal?: AbortSignal; modeGuidance?: string; }) => Promise; } export declare function generateContext(home: string, engine: unknown, text: unknown, options?: GenerateContextOptions): Promise; export declare function generateContextWithFallback(home: string, engine: unknown, text: unknown, options?: GenerateContextOptions): Promise;