import { Universe } from "@arcana/ca-common";
import Long from "long";
import { PublicClient, WebSocketTransport } from "viem";
import type { RequestHandlerInput, SimulateReturnType } from "../../typings";
import ERC20TransferBase from "../../requestHandlers/common/erc20.base";
declare class ERC20Transfer extends ERC20TransferBase {
    readonly input: RequestHandlerInput;
    destinationUniverse: Universe;
    publicClient: PublicClient<WebSocketTransport>;
    simulateTxRes: null | SimulateReturnType;
    constructor(input: RequestHandlerInput);
    simulateTx(): Promise<null | SimulateReturnType>;
    waitForFill(requestHash: `0x${string}`, intentID: Long, waitForDoubleCheckTx: () => Promise<void>): Promise<void>;
}
export default ERC20Transfer;
