import { clients } from "../../src";
import { DepositWithBlock } from "../../src/interfaces/SpokePool";
import { EvmAddress } from "../../src/utils";
import { Contract, winston } from "../utils";
import { MockConfigStoreClient } from "./MockConfigStoreClient";
export declare class MockHubPoolClient extends clients.mocks.MockHubPoolClient {
    latestBundleEndBlocks: {
        [chainId: number]: number;
    };
    constructor(logger: winston.Logger, hubPool: Contract, configStoreClient: MockConfigStoreClient, deploymentBlock?: number, chainId?: number);
    setLatestBundleEndBlockForChain(chainId: number, latestBundleEndBlock: number): void;
    getLatestBundleEndBlockForChain(chainIdList: number[], latestMainnetBlock: number, chainId: number): number;
    getL1TokenForDeposit(deposit: Pick<DepositWithBlock, "originChainId" | "inputToken" | "quoteBlockNumber">): EvmAddress | undefined;
    getL2TokenForDeposit(deposit: Pick<DepositWithBlock, "originChainId" | "destinationChainId" | "inputToken" | "quoteBlockNumber">, l2ChainId?: number): string | undefined;
}
