export declare class KeyVault { private keyMappings; private readonly KEY_PATTERNS; /** * Generate a random key with the same format as the original */ private generateRandomKey; /** * Detect and redact API keys in text * Returns both redacted text and list of detected keys */ redactKeys(text: string): { redactedText: string; detectedCount: number; }; /** * Restore real API keys in text (for LLM responses and tool calls) */ restoreKeys(text: string): { restoredText: string; restoredCount: number; }; /** * Check if text contains any API keys (real or redacted) */ containsKeys(text: string): boolean; /** * Get statistics about redacted keys */ getStats(): { totalKeys: number; byProvider: Record; oldestKey?: { provider: string; ageMinutes: number; }; newestKey?: { provider: string; ageMinutes: number; }; averageAge: number; }; /** * Get keys older than specified age in minutes */ getOldKeys(maxAgeMinutes: number): Array<{ provider: string; ageMinutes: number; lastUsedMinutes: number; useCount: number; }>; /** * Clean up keys older than specified age in minutes * Returns number of keys removed */ cleanupOldKeys(maxAgeMinutes: number): number; /** * Clean up keys not used for specified time in minutes * Returns number of keys removed */ cleanupUnusedKeys(unusedMinutes: number): number; /** * Get age of a specific redacted key in minutes */ getKeyAge(redactedKey: string): number | null; /** * Get detailed info about all stored keys */ getAllKeysInfo(): Array<{ provider: string; redactedPrefix: string; ageMinutes: number; lastUsedMinutes: number; useCount: number; }>; /** * Get comprehensive statistics for UI display */ getStatistics(): { totalKeys: number; keys: Array<{ provider: string; redactedPrefix: string; detectedAt: Date; age: number; useCount: number; }>; }; /** * Clear all stored key mappings (use when starting new chat session) */ clear(): void; /** * Process a chat message before sending to LLM */ processOutgoingMessage(message: string): string; /** * Process a response from LLM before showing to user */ processIncomingMessage(message: string): string; } //# sourceMappingURL=key-vault.d.ts.map