import { UnlockMethod, UnlockOptions } from '../types/lightningNodeConnect';
import { AuthStrategy } from './authStrategy';
/**
 * Password-based authentication strategy.
 * Handles password encryption/decryption and localStorage persistence.
 */
export declare class PasswordStrategy implements AuthStrategy {
    readonly method: UnlockMethod;
    private repository;
    constructor(namespace: string);
    /**
     * Return true if this strategy can be used in the current environment.
     * Password auth is always supported.
     */
    get isSupported(): boolean;
    /**
     * Returns true when the underlying repository is unlocked.
     */
    get isUnlocked(): boolean;
    /**
     * Return true if this strategy has any stored credentials in its backing store.
     */
    get hasAnyCredentials(): boolean;
    /**
     * Attempt to unlock this strategy using the provided password.
     * Returns false if the method is not `password` or unlock fails.
     */
    unlock(options: UnlockOptions): Promise<boolean>;
    /**
     * Get a decrypted credential value by key from the backing store,
     * or undefined if the strategy is not unlocked or the value is missing.
     */
    getCredential(key: string): Promise<string | undefined>;
    /**
     * Encrypt and persist a credential value in the backing store.
     * Logs and returns without throwing if the strategy is not unlocked.
     */
    setCredential(key: string, value: string): Promise<void>;
    /**
     * Clear all data managed by this strategy from its backing store.
     */
    clear(): void;
}
//# sourceMappingURL=passwordStrategy.d.ts.map