import { BrowserNode } from '@connext/vector-browser-node';
import { FullChannelState } from '@connext/vector-types';
declare global {
    interface Window {
        ethereum: any;
    }
}
declare class Connext {
    connextClient: BrowserNode | undefined;
    config: {
        publicIdentifier: string;
        signerAddress: string;
        index: number;
    } | undefined;
    connectNode(connextNode: BrowserNode | undefined, routerPublicIdentifier: string, depositChainId: number, withdrawChainId: number, depositChainProvider: string, withdrawChainProvider: string): Promise<void>;
    updateChannel(channelAddress: string): Promise<FullChannelState>;
    getChannelByParticipants(publicIdentifier: string, counterparty: string, chainId: number): Promise<FullChannelState>;
    basicSanitation(params: {
        value?: string;
        fromChainId?: number;
        fromAssetId?: string;
        toChainId?: number;
        toAssetId?: string;
        withdrawalAddress?: string;
    }): Promise<void>;
    reconcileDeposit(channelAddress: string, assetId: string): Promise<void>;
    transfer(senderChainId: number, senderAssetId: string, value: string, recipientChainId: number, recipientAssetId: string, routerPublicIdentifier: string): Promise<string>;
    withdraw(recipientChainId: number, receiverAssetId: string, receiverAddress: string, value: string, routerPublicIdentifier: string): Promise<void>;
    crossTransfer(value: string, senderChainId: number, senderAssetId: string, recipientChainId: number, recipientAssetId: string, withdrawalAddress: string, crossChainTransferId: string): Promise<{
        transaction: string;
        transferAmount: string;
    }>;
}
export declare const connext: Connext;
export {};
