import BigNumber from 'bignumber.js';
import { Web3PrimitiveType } from "../../../models/web3-primitive-type";
import { TxStatus } from "../models/tx-status";
import { ContractMulticallResponse } from '../models/contract-multicall-response';
import { SupportedTokenField } from '../models/supported-token-field';
import { Web3Public } from '../web3-public';
export declare class BitcoinWeb3Public extends Web3Public {
    constructor();
    getTransactionStatus(txHash: string): Promise<TxStatus>;
    healthCheck(): Promise<boolean>;
    getBalance(userAddress: string): Promise<BigNumber>;
    /**
     * @deprecated Use getBalance instead for all tokens and native currency
     */
    getTokenBalance(userAddress: string): Promise<BigNumber>;
    getTokensBalances(userAddress: string): Promise<BigNumber[]>;
    callForTokensInfo(_tokensAddresses: string[] | ReadonlyArray<string>, _tokenFields?: SupportedTokenField[]): Promise<Partial<Record<SupportedTokenField, string>>[]>;
    callContractMethod<T extends Web3PrimitiveType = string>(): Promise<T>;
    getBlockNumber(): Promise<number>;
    setProvider(): void;
    getAllowance(): Promise<BigNumber>;
    multicallContractsMethods<Output extends Web3PrimitiveType>(): Promise<ContractMulticallResponse<Output>[][]>;
    getPublicKey(userAddress: string): Promise<string | null>;
}
