import { providers, Wallet } from 'ethers';
import { INodeService } from '@connext/vector-types';
import { EventCallbackConfig } from '@connext/vector-utils';
import { Logger, Metrics, NetworkContracts } from '@graphprotocol/common-ts';
export interface CreateVectorClientOptions {
    logger: Logger;
    metrics: Metrics;
    wallet: Wallet;
    ethereum: providers.BaseProvider;
    contracts: NetworkContracts;
    routerIdentifier: string;
    nodeUrl: string;
    eventServer?: {
        url: string;
        port: string;
        evts?: Partial<EventCallbackConfig>;
    };
}
interface VectorClientOptions {
    logger: Logger;
    metrics: Metrics;
    wallet: Wallet;
    ethereum: providers.BaseProvider;
    routerIdentifier: string;
    node: INodeService;
    channelAddress: string;
}
export declare class VectorClient {
    logger: Logger;
    metrics: Metrics;
    wallet: Wallet;
    ethereum: providers.BaseProvider;
    routerIdentifier: string;
    readonly node: INodeService;
    readonly channelAddress: string;
    constructor(options: VectorClientOptions);
}
export declare function createVectorClient(options: CreateVectorClientOptions): Promise<VectorClient>;
export {};
