import { Contract } from "ethers";
import winston from "winston";
import { Log, Deposit, DepositWithBlock, RelayerRefundExecution, SlowFillRequest, SortableEvent, Fill, SlowFillLeaf, SpeedUp, TokensBridged } from "../../interfaces";
import { BigNumber, Address } from "../../utils";
import { EVMSpokePoolClient, SpokePoolUpdate } from "../SpokePoolClient";
import { HubPoolClient } from "../HubPoolClient";
import { EventManager, EventOverrides } from "./MockEvents";
import { AcrossConfigStoreClient } from "../AcrossConfigStoreClient";
export declare class MockSpokePoolClient extends EVMSpokePoolClient {
    eventManager: EventManager;
    private destinationTokenForChainOverride;
    depositIdAtBlock: BigNumber[];
    numberOfDeposits: BigNumber;
    constructor(logger: winston.Logger, spokePool: Contract, chainId: number, deploymentBlock: number, opts?: {
        hubPoolClient: HubPoolClient | null;
    });
    setConfigStoreClient(configStore?: AcrossConfigStoreClient): void;
    setDestinationTokenForChain(chainId: number, token: string): void;
    getDestinationTokenForDeposit(deposit: DepositWithBlock): Address;
    setLatestBlockNumber(blockNumber: number): void;
    setDepositIds(_depositIds: BigNumber[]): void;
    _getDepositIdAtBlock(blockTag: number): Promise<BigNumber>;
    _update(eventsToQuery: string[]): Promise<SpokePoolUpdate>;
    readonly eventSignatures: Record<string, string>;
    deposit(deposit: Omit<Deposit, "messageHash"> & Partial<SortableEvent>): Log;
    protected _deposit(event: string, deposit: Omit<Deposit, "messageHash"> & {
        message?: string;
    } & Partial<SortableEvent>): Log;
    fillRelay(fill: Omit<Fill, "messageHash"> & {
        message?: string;
    } & Partial<SortableEvent>): Log;
    protected _fillRelay(event: string, fill: Omit<Fill, "messageHash"> & {
        message?: string;
    } & Partial<SortableEvent>): Log;
    speedUpDeposit(speedUp: SpeedUp): Log;
    protected _speedUpDeposit(event: string, speedUp: SpeedUp): Log;
    setTokensBridged(tokensBridged: Omit<TokensBridged, "l2TokenAddress"> & {
        l2TokenAddress: string;
    }): Log;
    requestSlowFill(request: Omit<SlowFillRequest, "destinationChainId"> & Partial<SortableEvent>): Log;
    protected _requestSlowFill(event: string, request: Omit<SlowFillRequest, "destinationChainId"> & Partial<SortableEvent>): Log;
    executeSlowRelayLeaf(leaf: Omit<SlowFillLeaf, "messageHash">): Log;
    executeRelayerRefundLeaf(refund: RelayerRefundExecution & Partial<SortableEvent>): Log;
    setEnableRoute(originToken: string, destinationChainId: number, enabled: boolean, overrides?: EventOverrides): Log;
}
//# sourceMappingURL=MockSpokePoolClient.d.ts.map