/** * Credential storage for API keys and OAuth tokens. * Handles loading, saving, and refreshing credentials from auth.json. */ import type { AuthCredential, OAuthLoginCallbacks, OAuthProviderId, OAuthProviderInterface } from './types.js'; /** * Best/default models for each OAuth provider. * Used when auto-selecting a model after login. */ export declare const PROVIDER_DEFAULT_MODELS: Record; /** * Get an OAuth provider by ID */ export declare function getOAuthProvider(id: OAuthProviderId): OAuthProviderInterface | undefined; /** * Get all registered OAuth providers */ export declare function getOAuthProviders(): OAuthProviderInterface[]; /** * Credential storage backed by a JSON file. */ export declare class AuthStorage { private authPath; private data; constructor(authPath?: string); /** * Reload credentials from disk. */ reload(): void; /** * Save credentials to disk. */ private save; /** * Get credential for a provider. */ get(provider: string): AuthCredential | undefined; /** * Set credential for a provider. */ set(provider: string, credential: AuthCredential): void; /** * Remove credential for a provider. */ remove(provider: string): void; /** * List all providers with credentials. */ list(): string[]; /** * Check if credentials exist for a provider. */ has(provider: string): boolean; /** * Check if logged in via OAuth for a provider. */ isLoggedIn(provider: string): boolean; /** * Check if a stored API key exists for a provider. * Keys are stored under `apikey:` in auth.json. */ hasStoredApiKey(provider: string): boolean; /** * Get a stored API key for a provider, if any. */ getStoredApiKey(provider: string): string | undefined; /** * Store an API key for a provider. * Also sets the corresponding environment variable so model resolution can find it. */ setStoredApiKey(provider: string, key: string, envVar?: string): void; /** * Load all stored API keys into process.env. * Called at startup so model resolution can find stored keys. * Only sets env vars that aren't already set (env vars take precedence). */ loadStoredApiKeysIntoEnv(providerEnvVars: Record): void; /** * Login to an OAuth provider. */ login(providerId: OAuthProviderId, callbacks: OAuthLoginCallbacks): Promise; /** * Logout from a provider. */ logout(provider: string): void; /** * Get API key for a provider, auto-refreshing OAuth tokens if needed. */ getApiKey(providerId: string): Promise; } //# sourceMappingURL=storage.d.ts.map