import { JsonRpcProvider, FallbackProvider } from 'ethers';
import { Connection } from '@solana/web3.js';
import { IChain } from '../chains';
import { UseMutationResult, UseQueryResult } from '@tanstack/react-query';
export declare function useAccount(): {
    chainId: number;
    network: string;
    address: string;
    social: string;
    name: string;
    image: string;
    role: string;
    provider: string;
    users: any[];
    chain: IChain;
    switchChain: (chainId: number) => Promise<void>;
    switchAccount: (network: string, address: string) => Promise<void>;
};
export declare function useChainInfo(): {
    chainLogo: any;
    networkLogo: any;
    nativeSymbol: any;
    nativeDecimals: any;
    txExplorer: any;
    addressExplorer: any;
};
export declare function useSocialProviders(): UseQueryResult<any, unknown>;
export declare function useEthWallets(): UseQueryResult<any, unknown>;
export declare function useSolanaWallet(): {
    solConnect: () => Promise<void>;
    solDisconnect: () => Promise<void>;
    solSelect: (walletName: import('@solana/wallet-adapter-base').WalletName | null) => void;
    solSignMessage: ((message: Uint8Array) => Promise<Uint8Array>) | undefined;
    solWallets: import('@solana/wallet-adapter-base').Adapter[];
};
export declare function useProvider({ chainId: queryChainId, }?: {
    chainId?: number;
}): JsonRpcProvider | FallbackProvider | Connection | undefined;
export declare function useBalance({ address: queryAddress, chainId: queryChainId, }?: {
    address?: string;
    chainId?: number;
}): UseQueryResult<bigint, unknown>;
export declare function useTokenBalance({ address: queryAddress, tokenAddress, chainId: queryChainId, }: {
    address?: string;
    tokenAddress: string;
    chainId?: number;
}): UseQueryResult<bigint, unknown>;
export declare function useConnectAccount(): UseMutationResult<void, Error, void, unknown>;
export declare function useSwitchChain(): UseMutationResult<void, unknown, number>;
export declare function useSignAccount(): UseMutationResult<void, unknown, void>;
export declare function useSwitchAccount(): UseMutationResult<void, unknown, {
    network: string;
    address: string;
}>;
export declare function useDisconnectAccount(): UseMutationResult<void, unknown, void>;
export declare function useBalanceAsync({ address: queryAddress, chainId: queryChainId, }?: {
    address?: string;
    chainId?: number;
}): UseMutationResult<bigint, unknown, void>;
export declare function useTokenBalanceAsync({ address: queryAddress, chainId: queryChainId, }?: {
    address?: string;
    chainId?: number;
}): UseMutationResult<bigint, unknown, string>;
export declare function useTransferAsync(): UseMutationResult<any, unknown, {
    address: string;
    value: bigint;
}>;
export declare function useReadContractAsync(): UseMutationResult<unknown, Error, any, unknown>;
export declare function useWriteContractAsync(): UseMutationResult<any, unknown, any>;
