import { latest as latestAppData } from '@cowprotocol/app-data';
import { BridgeDeposit, BridgeHook, BridgeProvider, BridgeProviderInfo, BridgeQuoteResult, BridgeStatusResult, BridgingDepositParams, BuyTokensParams, QuoteBridgeRequest } from '../../types';
import { Signer } from '@ethersproject/abstract-signer';
import { JsonRpcProvider } from '@ethersproject/providers';
import { ChainId, ChainInfo, SupportedChainId } from '../../../chains';
import { EvmCall, TokenInfo } from '../../../common';
export declare class MockBridgeProvider implements BridgeProvider<BridgeQuoteResult> {
    info: BridgeProviderInfo;
    getRpcProvider(): JsonRpcProvider;
    getNetworks(): Promise<ChainInfo[]>;
    getBuyTokens(params: BuyTokensParams): Promise<TokenInfo[]>;
    getIntermediateTokens({ sellTokenChainId }: QuoteBridgeRequest): Promise<TokenInfo[]>;
    getQuote(_request: QuoteBridgeRequest): Promise<BridgeQuoteResult>;
    getGasLimitEstimationForHook(_request: QuoteBridgeRequest): Promise<number>;
    getUnsignedBridgeCall(_request: QuoteBridgeRequest, _quote: BridgeQuoteResult): Promise<EvmCall>;
    getSignedHook(_chainId: SupportedChainId, _unsignedCall: EvmCall, _signer: Signer): Promise<BridgeHook>;
    decodeBridgeHook(_hook: latestAppData.CoWHook): Promise<BridgeDeposit>;
    getBridgingParams(_chainId: ChainId, _orderUid: string, _txHash: string): Promise<{
        params: BridgingDepositParams;
        status: BridgeStatusResult;
    }>;
    getExplorerUrl(bridgingId: string): string;
    getStatus(_bridgingId: string): Promise<BridgeStatusResult>;
    getCancelBridgingTx(_bridgingId: string): Promise<EvmCall>;
    getRefundBridgingTx(_bridgingId: string): Promise<EvmCall>;
}
