export declare class ConfigurationError extends Error { constructor(keyName: string); } /** * Resolve an API key by name. Tries environment variables first, then * ~/.luminus/keys.json. Throws ConfigurationError if not found. * Resolved values are cached in memory for the process lifetime. */ export declare function resolveApiKey(name: string): Promise; /** Constant-time string comparison. Reserved for future client authentication. */ export declare function timingSafeCompare(a: string, b: string): boolean; /** * Map of tool name to required API key names. * Empty array = public API, no key needed. */ export declare const TOOL_KEY_REQUIREMENTS: Readonly>; /** * Check whether all API keys for a tool are resolvable right now. * Checks environment variables and the cached key file synchronously. * Returns true for tools with no key requirements. */ export declare function hasRequiredKeys(toolName: string): boolean; /** Check whether a specific API key name is available (env or key file). */ export declare function isKeyConfigured(keyName: string): boolean; /** Pre-load keys.json so hasRequiredKeys works immediately. */ export declare function preloadKeyFile(): Promise;