import { Contract } from '@ethersproject/contracts';
import { BigNumber } from '@ethersproject/bignumber';
import { Wallet } from '@ethersproject/wallet';
import { JsonRpcProvider, WebSocketProvider } from '@ethersproject/providers';
import { TransactionResponse } from '@ethersproject/abstract-provider';
import { NetworkMonitor } from '../utils/network-monitor';
declare class CoreChainService {
    network: string;
    networkMonitor: NetworkMonitor;
    holograph: Contract | undefined;
    abis: {
        [key: string]: any;
    };
    get provider(): JsonRpcProvider | WebSocketProvider;
    get wallet(): Wallet;
    constructor(network: string, networkMonitor: NetworkMonitor);
    initialize(): Promise<void>;
    getChainGasPrice: () => BigNumber;
    getCxipNFT: (collection: string) => Contract;
    getBridge: () => Promise<Contract>;
    getFactory: () => Promise<Contract>;
    getFaucet: () => Contract;
    getInterfaces: () => Promise<Contract>;
    getOperator: () => Promise<Contract>;
    getRegistry: () => Promise<Contract>;
    getRegistryAddress: () => Promise<string>;
    getUtilityToken: () => Promise<Contract>;
    getLZ: () => Contract;
    getWalletAddress: () => Promise<string>;
    getBalance: (account?: string) => Promise<BigNumber>;
    getTransaction: (txHash: string) => Promise<TransactionResponse | null>;
}
export default CoreChainService;
