import { Session, TurnkeyError, TurnkeyErrorCodes } from "@turnkey/sdk-types";
import { type Wallet, WalletProvider, Chain } from "@turnkey/core";
export declare const SESSION_WARNING_THRESHOLD_MS: number;
export declare const authErrors: {
    passkey: {
        createFailed: string;
        loginFailed: string;
        timeoutOrNotAllowed: string;
    };
    otp: {
        sendFailed: string;
        invalidEmail: string;
        invalidPhone: string;
    };
    oauth: {
        loginFailed: string;
    };
    wallet: {
        loginFailed: string;
        noPublicKey: string;
    };
    suborg: {
        fetchFailed: string;
        createFailed: string;
    };
};
export declare const useDebouncedCallback: <T extends (...args: any[]) => void>(fn: T, wait?: number) => T;
export declare const isValidSession: (session?: Session | undefined) => boolean;
export declare function withTurnkeyErrorHandling<T>(fn: () => Promise<T>, sessionExpireFn?: () => Promise<void>, callbacks?: {
    onError?: (error: TurnkeyError) => void;
}, fallbackMessage?: string, fallbackCode?: TurnkeyErrorCodes): Promise<T>;
export declare function useScreenSize(): {
    width: number;
    height: number;
    isMobile: boolean;
};
export declare function isWalletConnect(wallet: WalletProvider): boolean;
export declare function findWalletConnectProvider(walletProviders: WalletProvider[], chain: Chain): WalletProvider | undefined;
export declare function useWalletProviderState(initialState?: WalletProvider[]): readonly [WalletProvider[], (newProviders: WalletProvider[]) => void];
export declare function mergeWalletsWithoutDuplicates(existingWallets: Wallet[], newWallets: Wallet[]): Wallet[];
//# sourceMappingURL=utils.d.ts.map