import type { WalletUserExtension } from "../components/wallet/types/extended-user.js";
import type { AuthError } from "../lib/types.js";
export declare function useBitcoinAuth(): {
    user: import("../lib/types.js").AuthUser | null;
    isAuthenticated: boolean;
    isLoading: boolean;
    isReady: boolean;
    error: AuthError | null;
    hasError: boolean;
    currentStep: import("../lib/types.js").AuthStep;
    mode: import("../lib/types.js").AuthMode;
    hasLocalBackup: boolean;
    hasWalletCapabilities: boolean;
    walletExtension: WalletUserExtension | null;
    linkedProviders: string[];
    hasLinkedProviders: boolean;
    profiles: import("../lib/types.js").ProfileInfo[];
    activeProfile: import("../lib/types.js").ProfileInfo | undefined;
    profileCount: number;
    isSigningIn: boolean;
    isSigningUp: boolean;
    isLinking: boolean;
    signIn: (password: string) => Promise<{
        success: boolean;
        error?: undefined;
    } | {
        success: boolean;
        error: AuthError;
    }>;
    signUp: (password: string) => Promise<{
        success: boolean;
        error?: undefined;
    } | {
        success: boolean;
        error: AuthError;
    }>;
    signOut: () => Promise<void>;
    generateBackup: () => import("bitcoin-backup").BapMasterBackup;
    importBackup: (file: File) => Promise<{
        success: boolean;
        error?: undefined;
    } | {
        success: boolean;
        error: AuthError;
    }>;
    validatePassword: (password: string) => Promise<boolean>;
    linkOAuth: (provider: import("../lib/types.js").OAuthProvider) => Promise<void>;
    createProfile: () => Promise<import("../lib/types.js").ProfileInfo>;
    switchProfile: (profileId: string) => void;
    setStep: (step: import("../lib/types.js").AuthStep) => void;
    setMode: (mode: import("../lib/types.js").AuthMode) => void;
    reset: () => void;
    actions: import("../components/providers/BitcoinAuthProvider.js").BitcoinAuthContextValue;
    config: import("../lib/types.js").BitcoinAuthConfig;
    hasUnencryptedBackupInSession: () => Promise<boolean>;
    hasEncryptedBackupStored: () => Promise<boolean>;
    isSessionBackupImported: () => Promise<boolean>;
};
//# sourceMappingURL=useBitcoinAuth.d.ts.map