/**
 * Unified Credential Manager
 *
 * Single source of truth for all credential operations.
 * Manages storage backends, priority system, user preferences, and audit logging.
 *
 * Priority System:
 * 1. User Preference (if explicitly set)
 * 2. Primary Storage (env, config, keychain) - user-configured
 * 3. Discovered Storage (gemini-cli, claude-code, etc.) - user opted-in
 *
 * Within same priority level:
 * - OAuth tokens > API keys
 * - Newer credentials > Older credentials
 */
/**
 * Storage type enum
 */
export declare const StorageType: {
    ENV: string;
    CONFIG: string;
    KEYCHAIN: string;
    DISCOVERED: string;
};
/**
 * Auth type enum
 */
export declare const AuthType: {
    API_KEY: string;
    OAUTH_TOKEN: string;
    SERVICE_ACCOUNT: string;
};
export declare class UnifiedCredentialManager {
    [key: string]: any;
    constructor(options?: Record<string, any>);
    /**
     * Get credential for a provider
     * Returns the active credential based on priority system
     *
     * @param {string} provider - Provider name (openai, anthropic, etc.)
     * @returns {Promise<string|null>} Credential value or null
     */
    getCredential(provider: any): Promise<any>;
    /**
     * Get active credential with full metadata
     *
     * @param {string} provider - Provider name
     * @returns {Promise<Object|null>} { value, source, priority, authType, metadata }
     */
    getActiveCredential(provider: any): Promise<any>;
    /**
     * Get all available credentials for a provider (for UI display)
     *
     * @param {string} provider - Provider name
     * @returns {Promise<Array>} Array of credential info objects
     */
    getAllCredentialsForProvider(provider: any): Promise<any[]>;
    getProviderConfig(provider: any): Promise<any>;
    /**
     * Internal: Get all credentials for a provider
     * @private
     */
    _getAllCredentialsForProvider(provider: any): Promise<any[]>;
    /**
     * Get credential from specific source
     * @private
     */
    _getFromSource(provider: any, source: any): Promise<any>;
    /**
     * Set credential for a provider
     *
     * @param {string} provider - Provider name
     * @param {string} credential - Credential value
     * @param {string} storageType - Where to store (env, config, keychain)
     * @param {Object} metadata - Additional metadata
     * @returns {Promise<void>}
     */
    setCredential(provider: any, credential: any, storageType: any, metadata?: Record<string, any>): Promise<void>;
    /**
     * Delete credential for a provider
     *
     * @param {string} provider - Provider name
     * @param {string} storageType - Which storage to delete from (optional, deletes from all if not specified)
     * @returns {Promise<boolean>}
     */
    deleteCredential(provider: any, storageType?: any): Promise<boolean>;
    /**
     * List all providers with credentials
     *
     * @returns {Promise<string[]>}
     */
    listProviders(): Promise<any[]>;
    /**
     * Set user preference for provider storage
     *
     * @param {string} provider - Provider name
     * @param {string} storageType - Preferred storage type
     */
    setPreferredSource(provider: any, storageType: any): void;
    /**
     * Get user preference for provider storage
     *
     * @param {string} provider - Provider name
     * @returns {string|null}
     */
    getPreferredSource(provider: any): any;
    clearPreferredSource(provider: any): void;
    /**
     * Add discovered credential (from CLI tools, etc.)
     *
     * @param {string} provider - Provider name
     * @param {Object} credential - Credential info
     */
    addDiscoveredCredential(provider: any, credential: any): void;
    /**
     * Import discovered credential to primary storage
     *
     * @param {string} provider - Provider name
     * @param {number} discoveryIndex - Which discovered credential to import (default 0)
     * @param {string} targetStorage - Where to import to (default 'config')
     * @returns {Promise<boolean>}
     */
    importDiscoveredCredential(provider: any, discoveryIndex?: number, targetStorage?: string): Promise<boolean>;
    /**
     * Get credential status for all providers (for UI)
     *
     * @returns {Promise<Array>}
     */
    getCredentialStatus(): Promise<any[]>;
    /**
     * Log credential usage for audit
     *
     * @param {string} provider - Provider name
     * @param {boolean} success - Whether the operation succeeded
     * @param {string} error - Error message if failed
     */
    logCredentialUsage(provider: any, success: any, error?: any): void;
    /**
     * Get audit log
     *
     * @param {Object} filter - Filter options
     * @returns {Array}
     */
    getAuditLog(filter?: Record<string, any>): any[];
    /**
     * Internal: Add entry to audit log
     * @private
     */
    _logAudit(entry: any): void;
    /**
     * Redact credential value for display
     * @private
     */
    _redactValue(provider: any, value: any): string;
    /**
     * Get human-readable source label
     * @private
     */
    _getSourceLabel(source: any): any;
    /**
     * Get diagnostics information
     *
     * @returns {Promise<Object>}
     */
    getDiagnostics(): Promise<{
        storageBackends: {};
        providers: any[];
        userPreferences: {
            [k: string]: any;
        };
        discoveredCount: any;
        auditLogSize: any;
    }>;
}
export default UnifiedCredentialManager;
