/**
 * Keychain Storage Backend
 *
 * Uses OS-native secure storage via keytar:
 * - macOS: Keychain
 * - Windows: Credential Vault
 * - Linux: Secret Service API / libsecret
 *
 * Note: Requires keytar dependency. Gracefully degrades if not available.
 */
import { BaseStorage } from './base-storage.js';
export declare class KeychainStorage extends BaseStorage {
    [key: string]: any;
    constructor(options?: Record<string, any>);
    /**
     * Initialize keytar (lazy load)
     * @private
     * @returns {Promise<boolean>}
     */
    _init(): Promise<any>;
    /**
     * Get account name for provider
     * @private
     * @param {string} provider - Provider name
     * @returns {string}
     */
    _getAccountName(provider: any): string;
    /**
     * Check if keychain storage is available
     * @returns {Promise<boolean>}
     */
    isAvailable(): Promise<any>;
    /**
     * Get credential for a provider
     * @param {string} provider - Provider name
     * @returns {Promise<string|null>}
     */
    get(provider: any): Promise<any>;
    /**
     * Set credential for a provider
     * @param {string} provider - Provider name
     * @param {string} credential - Credential value
     * @param {Object} metadata - Additional metadata (stored separately)
     * @returns {Promise<void>}
     */
    set(provider: any, credential: any, metadata?: Record<string, any>): Promise<void>;
    /**
     * Delete credential for a provider
     * @param {string} provider - Provider name
     * @returns {Promise<boolean>}
     */
    delete(provider: any): Promise<any>;
    /**
     * List all providers with credentials
     * @returns {Promise<string[]>}
     */
    list(): Promise<any[]>;
    /**
     * Get metadata for a credential
     * @param {string} provider - Provider name
     * @returns {Promise<Object|null>}
     */
    getMetadata(provider: any): Promise<any>;
    /**
     * Get storage type identifier
     * @returns {string}
     */
    getType(): string;
    /**
     * Get human-readable storage name
     * @returns {string}
     */
    getName(): "Linux Secret Service" | "System Keychain" | "Windows Credential Vault" | "macOS Keychain";
    /**
     * Get priority for this storage type
     * @returns {number}
     */
    getPriority(): number;
    /**
     * Get diagnostic information
     * @returns {Promise<Object>}
     */
    getDiagnostics(): Promise<{
        available: any;
        platform: NodeJS.Platform;
        serviceName: any;
        storageName: string;
    }>;
}
export default KeychainStorage;
