import winston from "winston";
import { SvmSpokeClient } from "@across-protocol/contracts";
import { Address } from "@solana/kit";
import { DepositWithBlock, RelayerRefundExecution, SortableEvent, SlowFillLeaf, Log } from "../../interfaces";
import { MakeOptional, EventSearchConfig, Address as SDKAddress } from "../../utils";
import { SpokePoolUpdate, SVMSpokePoolClient } from "../SpokePoolClient";
import { HubPoolClient } from "../HubPoolClient";
import { EventOverrides } from "./MockEvents";
import { AcrossConfigStoreClient } from "../AcrossConfigStoreClient";
import { MockSvmCpiEventsClient } from "./MockSvmCpiEventsClient";
import { EventWithData } from "../../arch/svm";
export declare class MockSvmSpokePoolClient extends SVMSpokePoolClient {
    mockEventsClient: MockSvmCpiEventsClient;
    private destinationTokenForChainOverride;
    constructor(logger: winston.Logger, chainId: number, programId?: Address, deploymentBlock?: number, eventSearchConfig?: MakeOptional<EventSearchConfig, "to">, opts?: {
        hubPoolClient: HubPoolClient | null;
    });
    setConfigStoreClient(configStore?: AcrossConfigStoreClient): void;
    setDestinationTokenForChain(chainId: number, token: string): void;
    getDestinationTokenForDeposit(deposit: DepositWithBlock): SDKAddress;
    setLatestBlockNumber(blockNumber: number): void;
    _update(eventsToQuery: string[]): Promise<SpokePoolUpdate>;
    deposit(deposit: SvmSpokeClient.FundsDeposited & Partial<EventWithData>): EventWithData;
    fillRelay(fill: SvmSpokeClient.FilledRelay & Partial<EventWithData>): EventWithData;
    requestSlowFill(request: SvmSpokeClient.RequestedSlowFill & Partial<EventWithData>): EventWithData;
    setTokensBridged(_tokensBridged: SvmSpokeClient.TokensBridged & Partial<EventWithData>): EventWithData;
    executeSlowRelayLeaf(_leaf: Omit<SlowFillLeaf, "messageHash">): Log;
    executeRelayerRefundLeaf(_refund: RelayerRefundExecution & Partial<SortableEvent>): Log;
    setEnableRoute(_originToken: string, _destinationChainId: number, _enabled: boolean, _overrides?: EventOverrides): Log;
}
