import { type KeyShareBackupInfo, type WalletRecoveryState } from '@dynamic-labs-wallet/core';
/**
 * Determines the recovery state of a wallet based on backup info and local shares.
 *
 * @param clientKeySharesBackupInfo - The backup information for the wallet
 * @param hasLocalShares - Whether the wallet has local shares available
 * @returns WalletRecoveryState indicating the wallet's lock state and share availability
 */
export declare function determineWalletRecoveryState({ clientKeySharesBackupInfo, hasLocalShares, }: {
    clientKeySharesBackupInfo: KeyShareBackupInfo;
    hasLocalShares: boolean;
}): WalletRecoveryState;
/**
 * Checks if a wallet is encrypted and needs to be unlocked before use.
 * Throws WalletNotReadyError if the wallet is password-encrypted, has no local shares,
 * and no password is provided.
 *
 * @param walletRecoveryState - The recovery state from getWalletRecoveryState
 * @param accountAddress - The wallet account address
 * @param password - Optional password for decryption
 * @throws WalletNotReadyError if wallet is in ENCRYPTED state without password
 */
export declare function ensureWalletReady({ walletRecoveryState, accountAddress, password, }: {
    walletRecoveryState: WalletRecoveryState;
    accountAddress: string;
    password?: string;
}): void;
//# sourceMappingURL=walletState.d.ts.map