import React, { FC } from 'react';
import { ProgressEvent } from '@pushchain/core/src/lib/progress-hook/progress-hook.types';
import { ConnectionStatus, ModalAppDetails, PushWalletProviderProps, UniversalAccount, WalletAppDetails, ThemeMode, ITypedData } from '../types';
import { ThemeOverrides } from '../styles/token';
export type WalletContextType = {
    universalAccount: UniversalAccount | null;
    connectionStatus: ConnectionStatus;
    isWalletMinimised: boolean;
    setMinimiseWallet: (isWalletMinimised: boolean) => void;
    handleConnectToPushWallet: () => void;
    handleUserLogOutEvent: () => void;
    handleSignMessage: (data: Uint8Array) => Promise<Uint8Array>;
    handleSignAndSendTransaction: (data: Uint8Array) => Promise<Uint8Array>;
    handleSignTypedData: (data: ITypedData) => Promise<Uint8Array>;
    config: PushWalletProviderProps['config'];
    app?: PushWalletProviderProps['app'];
    modalAppData: ModalAppDetails | undefined;
    updateModalAppData: (newData: Partial<ModalAppDetails>) => void;
    walletAppData: WalletAppDetails | undefined;
    updateWalletAppData: (newData: Partial<WalletAppDetails>) => void;
    themeMode: ThemeMode;
    themeOverrides: ThemeOverrides;
    toggleButtonRef: React.RefObject<HTMLButtonElement>;
    setProgress: React.Dispatch<React.SetStateAction<ProgressEvent | null>>;
};
export declare const WalletContext: React.Context<WalletContextType | null>;
export declare const WalletContextProvider: FC<PushWalletProviderProps>;
