/** * Secure Credential Store with OS Keychain Integration * * Stores credentials securely using: * 1. OS Keychain (macOS Keychain, Windows Credential Store, Linux Secret Service) * 2. Fallback to AES-256 encrypted file storage if keychain unavailable * * Profile JSON files only store credential references, not actual secrets. */ export type CredentialType = 'bearer_token' | 'api_key' | 'oauth_token' | 'basic_auth' | 'custom'; export interface CredentialMetadata { mcpName: string; type: CredentialType; description?: string; createdAt: number; updatedAt: number; } export interface BasicAuthCredential { username: string; password: string; } /** * Secure credential storage using OS keychain with encrypted file fallback */ export declare class SecureCredentialStore { private keychainAvailable; private Entry; private index; private initPromise; constructor(); /** * Ensure keychain is initialized before operations */ private ensureInitialized; /** * Initialize OS keychain support */ private initializeKeychain; /** * Load credential index from disk */ private loadIndex; /** * Save credential index to disk */ private saveIndex; /** * Generate account identifier for keychain */ private getAccountId; /** * Store credential securely */ setCredential(mcpName: string, type: CredentialType, credential: string | BasicAuthCredential, description?: string): Promise; /** * Retrieve credential securely */ getCredential(mcpName: string, type: CredentialType): Promise; /** * Delete credential securely */ deleteCredential(mcpName: string, type: CredentialType): Promise; /** * List all stored credentials (metadata only) */ listCredentials(mcpName?: string): Promise; /** * Check if credential exists */ hasCredential(mcpName: string, type: CredentialType): Promise; /** * Migrate plain-text credentials from profile to secure storage */ migrateFromPlainText(mcpName: string, credential: { type?: string; token?: string; username?: string; password?: string; }): Promise; /** * Check if keychain is available */ isKeychainAvailable(): boolean; /** * Get storage method being used */ getStorageMethod(): 'keychain' | 'encrypted_file'; } export declare function getSecureCredentialStore(): SecureCredentialStore; //# sourceMappingURL=secure-credential-store.d.ts.map