import { BigNumberish } from '@ethersproject/bignumber';
import type { Overrides } from '@ethersproject/contracts';
import { ContractTransaction } from 'ethers';
import { StrictLogStoreClientConfig } from '../Config';
import { Authentication } from '../streamr/Authentication';
import { StrictStreamrClientConfig } from '../streamr/Config';
import { ContractFactory } from '../streamr/ContractFactory';
import { LoggerFactory } from '../streamr/LoggerFactory';
import { AmountTypes } from '../types';
export declare class TokenManager {
    private contractFactory;
    private authentication;
    private logStoreClientConfig;
    private streamrClientConfig;
    private logStoreTokenManagerContract?;
    private readonly logstoreTokenManagerContractsReadonly;
    private readonly logger;
    constructor(contractFactory: ContractFactory, loggerFactory: LoggerFactory, authentication: Authentication, logStoreClientConfig: Pick<StrictLogStoreClientConfig, 'contracts'>, streamrClientConfig: Pick<StrictStreamrClientConfig, 'contracts'>);
    private connectToContract;
    getBalance(): Promise<bigint>;
    getPrice(): Promise<bigint>;
    mint(amount: BigNumberish, overrides?: Overrides): Promise<ContractTransaction>;
    /**
     * Helper to get correct amount of tokens in desired currency
     */
    convert({ to, amount, from, }: {
        amount: string;
        from: AmountTypes;
        to: AmountTypes;
    }): Promise<string>;
}
