import BigNumber from 'bignumber.js';
import { TonApiTxDataByBocResp } from "../../../models/ton/tonapi-types";
import { Web3PrimitiveType } from "../../../models/web3-primitive-type";
import { ContractMulticallResponse } from '../models/contract-multicall-response';
import { SupportedTokenField } from '../models/supported-token-field';
import { TxStatus } from '../models/tx-status';
import { Web3Public } from '../web3-public';
export declare class TonWeb3Public extends Web3Public {
    constructor();
    private readonly tonApi;
    getTransactionStatus(txHash: string): Promise<TxStatus>;
    getBlockchainTransaction(hash: string): Promise<TonApiTxDataByBocResp>;
    getBlockchainTransactionByMessageHash(hash: string): Promise<TonApiTxDataByBocResp>;
    healthCheck(timeoutMs: number): Promise<boolean>;
    getBalance(userAddress: string, tokenAddress?: string | undefined): Promise<BigNumber>;
    /**
     * @deprecated Use getBalance instead for all tokens and native currency
     */
    getTokenBalance(userAddress: string, tokenAddress: string): Promise<BigNumber>;
    getTokensBalances(userAddress: string, tokensAddresses: 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>[][]>;
}
