import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers";
import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "./common";
export type OnchainCrossChainOrderStruct = {
    fillDeadline: BigNumberish;
    orderDataType: BytesLike;
    orderData: BytesLike;
};
export type OnchainCrossChainOrderStructOutput = [
    fillDeadline: bigint,
    orderDataType: string,
    orderData: string
] & {
    fillDeadline: bigint;
    orderDataType: string;
    orderData: string;
};
export type GaslessCrossChainOrderStruct = {
    originSettler: AddressLike;
    user: AddressLike;
    nonce: BigNumberish;
    originChainId: BigNumberish;
    openDeadline: BigNumberish;
    fillDeadline: BigNumberish;
    orderDataType: BytesLike;
    orderData: BytesLike;
};
export type GaslessCrossChainOrderStructOutput = [
    originSettler: string,
    user: string,
    nonce: bigint,
    originChainId: bigint,
    openDeadline: bigint,
    fillDeadline: bigint,
    orderDataType: string,
    orderData: string
] & {
    originSettler: string;
    user: string;
    nonce: bigint;
    originChainId: bigint;
    openDeadline: bigint;
    fillDeadline: bigint;
    orderDataType: string;
    orderData: string;
};
export type OutputStruct = {
    token: BytesLike;
    amount: BigNumberish;
    recipient: BytesLike;
    chainId: BigNumberish;
};
export type OutputStructOutput = [
    token: string,
    amount: bigint,
    recipient: string,
    chainId: bigint
] & {
    token: string;
    amount: bigint;
    recipient: string;
    chainId: bigint;
};
export type FillInstructionStruct = {
    destinationChainId: BigNumberish;
    destinationSettler: BytesLike;
    originData: BytesLike;
};
export type FillInstructionStructOutput = [
    destinationChainId: bigint,
    destinationSettler: string,
    originData: string
] & {
    destinationChainId: bigint;
    destinationSettler: string;
    originData: string;
};
export type ResolvedCrossChainOrderStruct = {
    user: AddressLike;
    originChainId: BigNumberish;
    openDeadline: BigNumberish;
    fillDeadline: BigNumberish;
    orderId: BytesLike;
    maxSpent: OutputStruct[];
    minReceived: OutputStruct[];
    fillInstructions: FillInstructionStruct[];
};
export type ResolvedCrossChainOrderStructOutput = [
    user: string,
    originChainId: bigint,
    openDeadline: bigint,
    fillDeadline: bigint,
    orderId: string,
    maxSpent: OutputStructOutput[],
    minReceived: OutputStructOutput[],
    fillInstructions: FillInstructionStructOutput[]
] & {
    user: string;
    originChainId: bigint;
    openDeadline: bigint;
    fillDeadline: bigint;
    orderId: string;
    maxSpent: OutputStructOutput[];
    minReceived: OutputStructOutput[];
    fillInstructions: FillInstructionStructOutput[];
};
export declare namespace GasRouter {
    type GasRouterConfigStruct = {
        domain: BigNumberish;
        gas: BigNumberish;
    };
    type GasRouterConfigStructOutput = [domain: bigint, gas: bigint] & {
        domain: bigint;
        gas: bigint;
    };
}
export interface Hyperlane7683ForTestInterface extends Interface {
    getFunction(nameOrSignature: "FILLED" | "OPENED" | "PACKAGE_VERSION" | "PERMIT2" | "REFUNDED" | "RESOLVED_CROSS_CHAIN_ORDER_TYPEHASH" | "SETTLED" | "UNKNOWN" | "destinationGas" | "dispatchRefund" | "dispatchSettle" | "domains" | "enrollRemoteRouter" | "enrollRemoteRouters" | "fill" | "filledOrders" | "get7383LocalDomain" | "handle" | "hook" | "initialize" | "interchainSecurityModule" | "invalidateNonces" | "isValidNonce" | "localDomain" | "mailbox" | "open" | "openFor" | "openOrders" | "orderStatus" | "owner" | "quoteGasPayment" | "refund((uint32,bytes32,bytes)[])" | "refund((address,address,uint256,uint256,uint32,uint32,bytes32,bytes)[])" | "refundedOrderId" | "renounceOwnership" | "resolve" | "resolveFor" | "routers" | "setDestinationGas(uint32,uint256)" | "setDestinationGas((uint32,uint256)[])" | "setHook" | "setInterchainSecurityModule" | "settle" | "settledOrderId" | "settledOrderReceiver" | "transferOwnership" | "unenrollRemoteRouter" | "unenrollRemoteRouters" | "usedNonces" | "witnessHash" | "witnessTypeString"): FunctionFragment;
    getEvent(nameOrSignatureOrTopic: "Filled" | "GasSet" | "HookSet" | "Initialized" | "IsmSet" | "NonceInvalidation" | "Open" | "OwnershipTransferred" | "Refund" | "Refunded" | "Settle" | "Settled"): EventFragment;
    encodeFunctionData(functionFragment: "FILLED", values?: undefined): string;
    encodeFunctionData(functionFragment: "OPENED", values?: undefined): string;
    encodeFunctionData(functionFragment: "PACKAGE_VERSION", values?: undefined): string;
    encodeFunctionData(functionFragment: "PERMIT2", values?: undefined): string;
    encodeFunctionData(functionFragment: "REFUNDED", values?: undefined): string;
    encodeFunctionData(functionFragment: "RESOLVED_CROSS_CHAIN_ORDER_TYPEHASH", values?: undefined): string;
    encodeFunctionData(functionFragment: "SETTLED", values?: undefined): string;
    encodeFunctionData(functionFragment: "UNKNOWN", values?: undefined): string;
    encodeFunctionData(functionFragment: "destinationGas", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "dispatchRefund", values: [BigNumberish, BytesLike[]]): string;
    encodeFunctionData(functionFragment: "dispatchSettle", values: [BigNumberish, BytesLike[], BytesLike[]]): string;
    encodeFunctionData(functionFragment: "domains", values?: undefined): string;
    encodeFunctionData(functionFragment: "enrollRemoteRouter", values: [BigNumberish, BytesLike]): string;
    encodeFunctionData(functionFragment: "enrollRemoteRouters", values: [BigNumberish[], BytesLike[]]): string;
    encodeFunctionData(functionFragment: "fill", values: [BytesLike, BytesLike, BytesLike]): string;
    encodeFunctionData(functionFragment: "filledOrders", values: [BytesLike]): string;
    encodeFunctionData(functionFragment: "get7383LocalDomain", values?: undefined): string;
    encodeFunctionData(functionFragment: "handle", values: [BigNumberish, BytesLike, BytesLike]): string;
    encodeFunctionData(functionFragment: "hook", values?: undefined): string;
    encodeFunctionData(functionFragment: "initialize", values: [AddressLike, AddressLike, AddressLike]): string;
    encodeFunctionData(functionFragment: "interchainSecurityModule", values?: undefined): string;
    encodeFunctionData(functionFragment: "invalidateNonces", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "isValidNonce", values: [AddressLike, BigNumberish]): string;
    encodeFunctionData(functionFragment: "localDomain", values?: undefined): string;
    encodeFunctionData(functionFragment: "mailbox", values?: undefined): string;
    encodeFunctionData(functionFragment: "open", values: [OnchainCrossChainOrderStruct]): string;
    encodeFunctionData(functionFragment: "openFor", values: [GaslessCrossChainOrderStruct, BytesLike, BytesLike]): string;
    encodeFunctionData(functionFragment: "openOrders", values: [BytesLike]): string;
    encodeFunctionData(functionFragment: "orderStatus", values: [BytesLike]): string;
    encodeFunctionData(functionFragment: "owner", values?: undefined): string;
    encodeFunctionData(functionFragment: "quoteGasPayment", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "refund((uint32,bytes32,bytes)[])", values: [OnchainCrossChainOrderStruct[]]): string;
    encodeFunctionData(functionFragment: "refund((address,address,uint256,uint256,uint32,uint32,bytes32,bytes)[])", values: [GaslessCrossChainOrderStruct[]]): string;
    encodeFunctionData(functionFragment: "refundedOrderId", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string;
    encodeFunctionData(functionFragment: "resolve", values: [OnchainCrossChainOrderStruct]): string;
    encodeFunctionData(functionFragment: "resolveFor", values: [GaslessCrossChainOrderStruct, BytesLike]): string;
    encodeFunctionData(functionFragment: "routers", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "setDestinationGas(uint32,uint256)", values: [BigNumberish, BigNumberish]): string;
    encodeFunctionData(functionFragment: "setDestinationGas((uint32,uint256)[])", values: [GasRouter.GasRouterConfigStruct[]]): string;
    encodeFunctionData(functionFragment: "setHook", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "setInterchainSecurityModule", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "settle", values: [BytesLike[]]): string;
    encodeFunctionData(functionFragment: "settledOrderId", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "settledOrderReceiver", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "transferOwnership", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "unenrollRemoteRouter", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "unenrollRemoteRouters", values: [BigNumberish[]]): string;
    encodeFunctionData(functionFragment: "usedNonces", values: [AddressLike, BigNumberish]): string;
    encodeFunctionData(functionFragment: "witnessHash", values: [ResolvedCrossChainOrderStruct]): string;
    encodeFunctionData(functionFragment: "witnessTypeString", values?: undefined): string;
    decodeFunctionResult(functionFragment: "FILLED", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "OPENED", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "PACKAGE_VERSION", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "PERMIT2", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "REFUNDED", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "RESOLVED_CROSS_CHAIN_ORDER_TYPEHASH", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "SETTLED", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "UNKNOWN", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "destinationGas", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "dispatchRefund", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "dispatchSettle", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "domains", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "enrollRemoteRouter", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "enrollRemoteRouters", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "fill", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "filledOrders", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "get7383LocalDomain", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "handle", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "hook", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "interchainSecurityModule", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "invalidateNonces", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "isValidNonce", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "localDomain", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "mailbox", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "open", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "openFor", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "openOrders", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "orderStatus", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "quoteGasPayment", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "refund((uint32,bytes32,bytes)[])", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "refund((address,address,uint256,uint256,uint32,uint32,bytes32,bytes)[])", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "refundedOrderId", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "resolve", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "resolveFor", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "routers", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setDestinationGas(uint32,uint256)", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setDestinationGas((uint32,uint256)[])", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setHook", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setInterchainSecurityModule", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "settle", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "settledOrderId", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "settledOrderReceiver", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "unenrollRemoteRouter", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "unenrollRemoteRouters", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "usedNonces", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "witnessHash", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "witnessTypeString", data: BytesLike): Result;
}
export declare namespace FilledEvent {
    type InputTuple = [
        orderId: BytesLike,
        originData: BytesLike,
        fillerData: BytesLike
    ];
    type OutputTuple = [
        orderId: string,
        originData: string,
        fillerData: string
    ];
    interface OutputObject {
        orderId: string;
        originData: string;
        fillerData: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace GasSetEvent {
    type InputTuple = [domain: BigNumberish, gas: BigNumberish];
    type OutputTuple = [domain: bigint, gas: bigint];
    interface OutputObject {
        domain: bigint;
        gas: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace HookSetEvent {
    type InputTuple = [_hook: AddressLike];
    type OutputTuple = [_hook: string];
    interface OutputObject {
        _hook: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace InitializedEvent {
    type InputTuple = [version: BigNumberish];
    type OutputTuple = [version: bigint];
    interface OutputObject {
        version: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace IsmSetEvent {
    type InputTuple = [_ism: AddressLike];
    type OutputTuple = [_ism: string];
    interface OutputObject {
        _ism: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace NonceInvalidationEvent {
    type InputTuple = [owner: AddressLike, nonce: BigNumberish];
    type OutputTuple = [owner: string, nonce: bigint];
    interface OutputObject {
        owner: string;
        nonce: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace OpenEvent {
    type InputTuple = [
        orderId: BytesLike,
        resolvedOrder: ResolvedCrossChainOrderStruct
    ];
    type OutputTuple = [
        orderId: string,
        resolvedOrder: ResolvedCrossChainOrderStructOutput
    ];
    interface OutputObject {
        orderId: string;
        resolvedOrder: ResolvedCrossChainOrderStructOutput;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace OwnershipTransferredEvent {
    type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike];
    type OutputTuple = [previousOwner: string, newOwner: string];
    interface OutputObject {
        previousOwner: string;
        newOwner: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace RefundEvent {
    type InputTuple = [orderIds: BytesLike[]];
    type OutputTuple = [orderIds: string[]];
    interface OutputObject {
        orderIds: string[];
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace RefundedEvent {
    type InputTuple = [orderId: BytesLike, receiver: AddressLike];
    type OutputTuple = [orderId: string, receiver: string];
    interface OutputObject {
        orderId: string;
        receiver: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SettleEvent {
    type InputTuple = [
        orderIds: BytesLike[],
        ordersFillerData: BytesLike[]
    ];
    type OutputTuple = [orderIds: string[], ordersFillerData: string[]];
    interface OutputObject {
        orderIds: string[];
        ordersFillerData: string[];
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SettledEvent {
    type InputTuple = [orderId: BytesLike, receiver: AddressLike];
    type OutputTuple = [orderId: string, receiver: string];
    interface OutputObject {
        orderId: string;
        receiver: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export interface Hyperlane7683ForTest extends BaseContract {
    connect(runner?: ContractRunner | null): Hyperlane7683ForTest;
    waitForDeployment(): Promise<this>;
    interface: Hyperlane7683ForTestInterface;
    queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
    queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
    on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
    on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
    once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
    once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
    listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
    listeners(eventName?: string): Promise<Array<Listener>>;
    removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
    FILLED: TypedContractMethod<[], [string], "view">;
    OPENED: TypedContractMethod<[], [string], "view">;
    PACKAGE_VERSION: TypedContractMethod<[], [string], "view">;
    PERMIT2: TypedContractMethod<[], [string], "view">;
    REFUNDED: TypedContractMethod<[], [string], "view">;
    RESOLVED_CROSS_CHAIN_ORDER_TYPEHASH: TypedContractMethod<[
    ], [
        string
    ], "view">;
    SETTLED: TypedContractMethod<[], [string], "view">;
    UNKNOWN: TypedContractMethod<[], [string], "view">;
    destinationGas: TypedContractMethod<[arg0: BigNumberish], [bigint], "view">;
    dispatchRefund: TypedContractMethod<[
        _originDomain: BigNumberish,
        _orderIds: BytesLike[]
    ], [
        void
    ], "payable">;
    dispatchSettle: TypedContractMethod<[
        _originDomain: BigNumberish,
        _orderIds: BytesLike[],
        _ordersFillerData: BytesLike[]
    ], [
        void
    ], "payable">;
    domains: TypedContractMethod<[], [bigint[]], "view">;
    enrollRemoteRouter: TypedContractMethod<[
        _domain: BigNumberish,
        _router: BytesLike
    ], [
        void
    ], "nonpayable">;
    enrollRemoteRouters: TypedContractMethod<[
        _domains: BigNumberish[],
        _addresses: BytesLike[]
    ], [
        void
    ], "nonpayable">;
    fill: TypedContractMethod<[
        _orderId: BytesLike,
        _originData: BytesLike,
        _fillerData: BytesLike
    ], [
        void
    ], "payable">;
    filledOrders: TypedContractMethod<[
        orderId: BytesLike
    ], [
        [string, string] & {
            originData: string;
            fillerData: string;
        }
    ], "view">;
    get7383LocalDomain: TypedContractMethod<[], [bigint], "view">;
    handle: TypedContractMethod<[
        _origin: BigNumberish,
        _sender: BytesLike,
        _message: BytesLike
    ], [
        void
    ], "payable">;
    hook: TypedContractMethod<[], [string], "view">;
    initialize: TypedContractMethod<[
        _customHook: AddressLike,
        _interchainSecurityModule: AddressLike,
        _owner: AddressLike
    ], [
        void
    ], "nonpayable">;
    interchainSecurityModule: TypedContractMethod<[], [string], "view">;
    invalidateNonces: TypedContractMethod<[
        _nonce: BigNumberish
    ], [
        void
    ], "nonpayable">;
    isValidNonce: TypedContractMethod<[
        _from: AddressLike,
        _nonce: BigNumberish
    ], [
        boolean
    ], "view">;
    localDomain: TypedContractMethod<[], [bigint], "view">;
    mailbox: TypedContractMethod<[], [string], "view">;
    open: TypedContractMethod<[
        _order: OnchainCrossChainOrderStruct
    ], [
        void
    ], "payable">;
    openFor: TypedContractMethod<[
        _order: GaslessCrossChainOrderStruct,
        _signature: BytesLike,
        _originFillerData: BytesLike
    ], [
        void
    ], "nonpayable">;
    openOrders: TypedContractMethod<[orderId: BytesLike], [string], "view">;
    orderStatus: TypedContractMethod<[orderId: BytesLike], [string], "view">;
    owner: TypedContractMethod<[], [string], "view">;
    quoteGasPayment: TypedContractMethod<[
        _destinationDomain: BigNumberish
    ], [
        bigint
    ], "view">;
    "refund((uint32,bytes32,bytes)[])": TypedContractMethod<[
        _orders: OnchainCrossChainOrderStruct[]
    ], [
        void
    ], "payable">;
    "refund((address,address,uint256,uint256,uint32,uint32,bytes32,bytes)[])": TypedContractMethod<[
        _orders: GaslessCrossChainOrderStruct[]
    ], [
        void
    ], "payable">;
    refundedOrderId: TypedContractMethod<[arg0: BigNumberish], [string], "view">;
    renounceOwnership: TypedContractMethod<[], [void], "nonpayable">;
    resolve: TypedContractMethod<[
        _order: OnchainCrossChainOrderStruct
    ], [
        ResolvedCrossChainOrderStructOutput
    ], "view">;
    resolveFor: TypedContractMethod<[
        _order: GaslessCrossChainOrderStruct,
        _originFillerData: BytesLike
    ], [
        ResolvedCrossChainOrderStructOutput
    ], "view">;
    routers: TypedContractMethod<[_domain: BigNumberish], [string], "view">;
    "setDestinationGas(uint32,uint256)": TypedContractMethod<[
        domain: BigNumberish,
        gas: BigNumberish
    ], [
        void
    ], "nonpayable">;
    "setDestinationGas((uint32,uint256)[])": TypedContractMethod<[
        gasConfigs: GasRouter.GasRouterConfigStruct[]
    ], [
        void
    ], "nonpayable">;
    setHook: TypedContractMethod<[_hook: AddressLike], [void], "nonpayable">;
    setInterchainSecurityModule: TypedContractMethod<[
        _module: AddressLike
    ], [
        void
    ], "nonpayable">;
    settle: TypedContractMethod<[_orderIds: BytesLike[]], [void], "payable">;
    settledOrderId: TypedContractMethod<[arg0: BigNumberish], [string], "view">;
    settledOrderReceiver: TypedContractMethod<[
        arg0: BigNumberish
    ], [
        string
    ], "view">;
    transferOwnership: TypedContractMethod<[
        newOwner: AddressLike
    ], [
        void
    ], "nonpayable">;
    unenrollRemoteRouter: TypedContractMethod<[
        _domain: BigNumberish
    ], [
        void
    ], "nonpayable">;
    unenrollRemoteRouters: TypedContractMethod<[
        _domains: BigNumberish[]
    ], [
        void
    ], "nonpayable">;
    usedNonces: TypedContractMethod<[
        arg0: AddressLike,
        arg1: BigNumberish
    ], [
        boolean
    ], "view">;
    witnessHash: TypedContractMethod<[
        _resolvedOrder: ResolvedCrossChainOrderStruct
    ], [
        string
    ], "view">;
    witnessTypeString: TypedContractMethod<[], [string], "view">;
    getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
    getFunction(nameOrSignature: "FILLED"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "OPENED"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "PACKAGE_VERSION"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "PERMIT2"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "REFUNDED"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "RESOLVED_CROSS_CHAIN_ORDER_TYPEHASH"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "SETTLED"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "UNKNOWN"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "destinationGas"): TypedContractMethod<[arg0: BigNumberish], [bigint], "view">;
    getFunction(nameOrSignature: "dispatchRefund"): TypedContractMethod<[
        _originDomain: BigNumberish,
        _orderIds: BytesLike[]
    ], [
        void
    ], "payable">;
    getFunction(nameOrSignature: "dispatchSettle"): TypedContractMethod<[
        _originDomain: BigNumberish,
        _orderIds: BytesLike[],
        _ordersFillerData: BytesLike[]
    ], [
        void
    ], "payable">;
    getFunction(nameOrSignature: "domains"): TypedContractMethod<[], [bigint[]], "view">;
    getFunction(nameOrSignature: "enrollRemoteRouter"): TypedContractMethod<[
        _domain: BigNumberish,
        _router: BytesLike
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "enrollRemoteRouters"): TypedContractMethod<[
        _domains: BigNumberish[],
        _addresses: BytesLike[]
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "fill"): TypedContractMethod<[
        _orderId: BytesLike,
        _originData: BytesLike,
        _fillerData: BytesLike
    ], [
        void
    ], "payable">;
    getFunction(nameOrSignature: "filledOrders"): TypedContractMethod<[
        orderId: BytesLike
    ], [
        [string, string] & {
            originData: string;
            fillerData: string;
        }
    ], "view">;
    getFunction(nameOrSignature: "get7383LocalDomain"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "handle"): TypedContractMethod<[
        _origin: BigNumberish,
        _sender: BytesLike,
        _message: BytesLike
    ], [
        void
    ], "payable">;
    getFunction(nameOrSignature: "hook"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "initialize"): TypedContractMethod<[
        _customHook: AddressLike,
        _interchainSecurityModule: AddressLike,
        _owner: AddressLike
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "interchainSecurityModule"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "invalidateNonces"): TypedContractMethod<[_nonce: BigNumberish], [void], "nonpayable">;
    getFunction(nameOrSignature: "isValidNonce"): TypedContractMethod<[
        _from: AddressLike,
        _nonce: BigNumberish
    ], [
        boolean
    ], "view">;
    getFunction(nameOrSignature: "localDomain"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "mailbox"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "open"): TypedContractMethod<[
        _order: OnchainCrossChainOrderStruct
    ], [
        void
    ], "payable">;
    getFunction(nameOrSignature: "openFor"): TypedContractMethod<[
        _order: GaslessCrossChainOrderStruct,
        _signature: BytesLike,
        _originFillerData: BytesLike
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "openOrders"): TypedContractMethod<[orderId: BytesLike], [string], "view">;
    getFunction(nameOrSignature: "orderStatus"): TypedContractMethod<[orderId: BytesLike], [string], "view">;
    getFunction(nameOrSignature: "owner"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "quoteGasPayment"): TypedContractMethod<[_destinationDomain: BigNumberish], [bigint], "view">;
    getFunction(nameOrSignature: "refund((uint32,bytes32,bytes)[])"): TypedContractMethod<[
        _orders: OnchainCrossChainOrderStruct[]
    ], [
        void
    ], "payable">;
    getFunction(nameOrSignature: "refund((address,address,uint256,uint256,uint32,uint32,bytes32,bytes)[])"): TypedContractMethod<[
        _orders: GaslessCrossChainOrderStruct[]
    ], [
        void
    ], "payable">;
    getFunction(nameOrSignature: "refundedOrderId"): TypedContractMethod<[arg0: BigNumberish], [string], "view">;
    getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[], [void], "nonpayable">;
    getFunction(nameOrSignature: "resolve"): TypedContractMethod<[
        _order: OnchainCrossChainOrderStruct
    ], [
        ResolvedCrossChainOrderStructOutput
    ], "view">;
    getFunction(nameOrSignature: "resolveFor"): TypedContractMethod<[
        _order: GaslessCrossChainOrderStruct,
        _originFillerData: BytesLike
    ], [
        ResolvedCrossChainOrderStructOutput
    ], "view">;
    getFunction(nameOrSignature: "routers"): TypedContractMethod<[_domain: BigNumberish], [string], "view">;
    getFunction(nameOrSignature: "setDestinationGas(uint32,uint256)"): TypedContractMethod<[
        domain: BigNumberish,
        gas: BigNumberish
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "setDestinationGas((uint32,uint256)[])"): TypedContractMethod<[
        gasConfigs: GasRouter.GasRouterConfigStruct[]
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "setHook"): TypedContractMethod<[_hook: AddressLike], [void], "nonpayable">;
    getFunction(nameOrSignature: "setInterchainSecurityModule"): TypedContractMethod<[_module: AddressLike], [void], "nonpayable">;
    getFunction(nameOrSignature: "settle"): TypedContractMethod<[_orderIds: BytesLike[]], [void], "payable">;
    getFunction(nameOrSignature: "settledOrderId"): TypedContractMethod<[arg0: BigNumberish], [string], "view">;
    getFunction(nameOrSignature: "settledOrderReceiver"): TypedContractMethod<[arg0: BigNumberish], [string], "view">;
    getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">;
    getFunction(nameOrSignature: "unenrollRemoteRouter"): TypedContractMethod<[_domain: BigNumberish], [void], "nonpayable">;
    getFunction(nameOrSignature: "unenrollRemoteRouters"): TypedContractMethod<[_domains: BigNumberish[]], [void], "nonpayable">;
    getFunction(nameOrSignature: "usedNonces"): TypedContractMethod<[
        arg0: AddressLike,
        arg1: BigNumberish
    ], [
        boolean
    ], "view">;
    getFunction(nameOrSignature: "witnessHash"): TypedContractMethod<[
        _resolvedOrder: ResolvedCrossChainOrderStruct
    ], [
        string
    ], "view">;
    getFunction(nameOrSignature: "witnessTypeString"): TypedContractMethod<[], [string], "view">;
    getEvent(key: "Filled"): TypedContractEvent<FilledEvent.InputTuple, FilledEvent.OutputTuple, FilledEvent.OutputObject>;
    getEvent(key: "GasSet"): TypedContractEvent<GasSetEvent.InputTuple, GasSetEvent.OutputTuple, GasSetEvent.OutputObject>;
    getEvent(key: "HookSet"): TypedContractEvent<HookSetEvent.InputTuple, HookSetEvent.OutputTuple, HookSetEvent.OutputObject>;
    getEvent(key: "Initialized"): TypedContractEvent<InitializedEvent.InputTuple, InitializedEvent.OutputTuple, InitializedEvent.OutputObject>;
    getEvent(key: "IsmSet"): TypedContractEvent<IsmSetEvent.InputTuple, IsmSetEvent.OutputTuple, IsmSetEvent.OutputObject>;
    getEvent(key: "NonceInvalidation"): TypedContractEvent<NonceInvalidationEvent.InputTuple, NonceInvalidationEvent.OutputTuple, NonceInvalidationEvent.OutputObject>;
    getEvent(key: "Open"): TypedContractEvent<OpenEvent.InputTuple, OpenEvent.OutputTuple, OpenEvent.OutputObject>;
    getEvent(key: "OwnershipTransferred"): TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
    getEvent(key: "Refund"): TypedContractEvent<RefundEvent.InputTuple, RefundEvent.OutputTuple, RefundEvent.OutputObject>;
    getEvent(key: "Refunded"): TypedContractEvent<RefundedEvent.InputTuple, RefundedEvent.OutputTuple, RefundedEvent.OutputObject>;
    getEvent(key: "Settle"): TypedContractEvent<SettleEvent.InputTuple, SettleEvent.OutputTuple, SettleEvent.OutputObject>;
    getEvent(key: "Settled"): TypedContractEvent<SettledEvent.InputTuple, SettledEvent.OutputTuple, SettledEvent.OutputObject>;
    filters: {
        "Filled(bytes32,bytes,bytes)": TypedContractEvent<FilledEvent.InputTuple, FilledEvent.OutputTuple, FilledEvent.OutputObject>;
        Filled: TypedContractEvent<FilledEvent.InputTuple, FilledEvent.OutputTuple, FilledEvent.OutputObject>;
        "GasSet(uint32,uint256)": TypedContractEvent<GasSetEvent.InputTuple, GasSetEvent.OutputTuple, GasSetEvent.OutputObject>;
        GasSet: TypedContractEvent<GasSetEvent.InputTuple, GasSetEvent.OutputTuple, GasSetEvent.OutputObject>;
        "HookSet(address)": TypedContractEvent<HookSetEvent.InputTuple, HookSetEvent.OutputTuple, HookSetEvent.OutputObject>;
        HookSet: TypedContractEvent<HookSetEvent.InputTuple, HookSetEvent.OutputTuple, HookSetEvent.OutputObject>;
        "Initialized(uint8)": TypedContractEvent<InitializedEvent.InputTuple, InitializedEvent.OutputTuple, InitializedEvent.OutputObject>;
        Initialized: TypedContractEvent<InitializedEvent.InputTuple, InitializedEvent.OutputTuple, InitializedEvent.OutputObject>;
        "IsmSet(address)": TypedContractEvent<IsmSetEvent.InputTuple, IsmSetEvent.OutputTuple, IsmSetEvent.OutputObject>;
        IsmSet: TypedContractEvent<IsmSetEvent.InputTuple, IsmSetEvent.OutputTuple, IsmSetEvent.OutputObject>;
        "NonceInvalidation(address,uint256)": TypedContractEvent<NonceInvalidationEvent.InputTuple, NonceInvalidationEvent.OutputTuple, NonceInvalidationEvent.OutputObject>;
        NonceInvalidation: TypedContractEvent<NonceInvalidationEvent.InputTuple, NonceInvalidationEvent.OutputTuple, NonceInvalidationEvent.OutputObject>;
        "Open(bytes32,tuple)": TypedContractEvent<OpenEvent.InputTuple, OpenEvent.OutputTuple, OpenEvent.OutputObject>;
        Open: TypedContractEvent<OpenEvent.InputTuple, OpenEvent.OutputTuple, OpenEvent.OutputObject>;
        "OwnershipTransferred(address,address)": TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
        OwnershipTransferred: TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
        "Refund(bytes32[])": TypedContractEvent<RefundEvent.InputTuple, RefundEvent.OutputTuple, RefundEvent.OutputObject>;
        Refund: TypedContractEvent<RefundEvent.InputTuple, RefundEvent.OutputTuple, RefundEvent.OutputObject>;
        "Refunded(bytes32,address)": TypedContractEvent<RefundedEvent.InputTuple, RefundedEvent.OutputTuple, RefundedEvent.OutputObject>;
        Refunded: TypedContractEvent<RefundedEvent.InputTuple, RefundedEvent.OutputTuple, RefundedEvent.OutputObject>;
        "Settle(bytes32[],bytes[])": TypedContractEvent<SettleEvent.InputTuple, SettleEvent.OutputTuple, SettleEvent.OutputObject>;
        Settle: TypedContractEvent<SettleEvent.InputTuple, SettleEvent.OutputTuple, SettleEvent.OutputObject>;
        "Settled(bytes32,address)": TypedContractEvent<SettledEvent.InputTuple, SettledEvent.OutputTuple, SettledEvent.OutputObject>;
        Settled: TypedContractEvent<SettledEvent.InputTuple, SettledEvent.OutputTuple, SettledEvent.OutputObject>;
    };
}
//# sourceMappingURL=Hyperlane7683ForTest.d.ts.map