import { SignTypedDataVersion, type EIP1559TxData, type MessageTypes, type PrefixedHexString, type TxData, type TypedDataV1, type TypedMessage } from '@particle-network/auth-core';
import { type ChainInfo } from '@particle-network/chains';
import { EVMProvider } from '../evmProvider';
export declare const useEthereum: () => {
    provider: EVMProvider;
    address: string | null;
    chainId: number;
    chainInfo: ChainInfo;
    switchChain: (id: number | PrefixedHexString) => Promise<void>;
    signMessage: (message: PrefixedHexString | string, uniq?: boolean) => Promise<string>;
    signTypedData: <V extends SignTypedDataVersion, T extends MessageTypes>({ data, version, uniq, }: {
        data: V extends "V1" ? TypedDataV1 : TypedMessage<T>;
        version: V;
        uniq?: boolean | undefined;
    }) => Promise<string>;
    sendTransaction: (transaction: Omit<TxData, 'from'> | Omit<EIP1559TxData, 'from'>) => Promise<string>;
    enable: () => Promise<string>;
};
