import { TransactionReceipt } from '@ethersproject/providers';
import { Contract } from '@ethersproject/contracts';
import { BigNumber, BigNumberish } from '@ethersproject/bignumber';
import CoreChainService from './core-chain-service';
import { NetworkMonitor } from '../utils/network-monitor';
declare class OperatorChainService extends CoreChainService {
    operator: Contract;
    constructor(network: string, networkMonitor: NetworkMonitor, contract: Contract);
    getPodOperators: (pod: number) => Promise<string[]>;
    getPodBondAmounts: (pod: number) => Promise<{
        base: BigNumberish;
        current: BigNumberish;
    }>;
    getBondedPod: (operator: string) => Promise<BigNumberish>;
    getTotalPods: () => Promise<BigNumberish>;
    getBondedAmount: (account: string) => Promise<BigNumberish>;
    unbondUtilityToken: (receiver?: string) => Promise<TransactionReceipt | null>;
    bondUtilityToken: (operator: string, amount: BigNumberish, pod: number) => Promise<TransactionReceipt | null>;
    estimateGasForBondUtilityToken: (operator: string, amount: BigNumberish, pod: number) => Promise<BigNumber>;
}
export default OperatorChainService;
