import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, PopulatedTransaction, Signer, utils } from "ethers";
import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
import type { Listener, Provider } from "@ethersproject/providers";
import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "../../../../common";
export type OriginStruct = {
    srcEid: BigNumberish;
    sender: BytesLike;
    nonce: BigNumberish;
};
export type OriginStructOutput = [number, string, BigNumber] & {
    srcEid: number;
    sender: string;
    nonce: BigNumber;
};
export type MessagingParamsStruct = {
    dstEid: BigNumberish;
    receiver: BytesLike;
    message: BytesLike;
    options: BytesLike;
    payInLzToken: boolean;
};
export type MessagingParamsStructOutput = [
    number,
    string,
    string,
    string,
    boolean
] & {
    dstEid: number;
    receiver: string;
    message: string;
    options: string;
    payInLzToken: boolean;
};
export type MessagingFeeStruct = {
    nativeFee: BigNumberish;
    lzTokenFee: BigNumberish;
};
export type MessagingFeeStructOutput = [BigNumber, BigNumber] & {
    nativeFee: BigNumber;
    lzTokenFee: BigNumber;
};
export type MessagingReceiptStruct = {
    guid: BytesLike;
    nonce: BigNumberish;
    fee: MessagingFeeStruct;
};
export type MessagingReceiptStructOutput = [
    string,
    BigNumber,
    MessagingFeeStructOutput
] & {
    guid: string;
    nonce: BigNumber;
    fee: MessagingFeeStructOutput;
};
export type SetConfigParamStruct = {
    eid: BigNumberish;
    configType: BigNumberish;
    config: BytesLike;
};
export type SetConfigParamStructOutput = [number, number, string] & {
    eid: number;
    configType: number;
    config: string;
};
export interface ILayerZeroEndpointV2Interface extends utils.Interface {
    functions: {
        "burn(address,uint32,bytes32,uint64,bytes32)": FunctionFragment;
        "clear(address,(uint32,bytes32,uint64),bytes32,bytes)": FunctionFragment;
        "composeQueue(address,address,bytes32,uint16)": FunctionFragment;
        "defaultReceiveLibrary(uint32)": FunctionFragment;
        "defaultReceiveLibraryTimeout(uint32)": FunctionFragment;
        "defaultSendLibrary(uint32)": FunctionFragment;
        "eid()": FunctionFragment;
        "getConfig(address,address,uint32,uint32)": FunctionFragment;
        "getReceiveLibrary(address,uint32)": FunctionFragment;
        "getRegisteredLibraries()": FunctionFragment;
        "getSendContext()": FunctionFragment;
        "getSendLibrary(address,uint32)": FunctionFragment;
        "inboundNonce(address,uint32,bytes32)": FunctionFragment;
        "inboundPayloadHash(address,uint32,bytes32,uint64)": FunctionFragment;
        "initializable((uint32,bytes32,uint64),address)": FunctionFragment;
        "isDefaultSendLibrary(address,uint32)": FunctionFragment;
        "isRegisteredLibrary(address)": FunctionFragment;
        "isSendingMessage()": FunctionFragment;
        "isSupportedEid(uint32)": FunctionFragment;
        "isValidReceiveLibrary(address,uint32,address)": FunctionFragment;
        "lazyInboundNonce(address,uint32,bytes32)": FunctionFragment;
        "lzCompose(address,address,bytes32,uint16,bytes,bytes)": FunctionFragment;
        "lzReceive((uint32,bytes32,uint64),address,bytes32,bytes,bytes)": FunctionFragment;
        "lzToken()": FunctionFragment;
        "nativeToken()": FunctionFragment;
        "nextGuid(address,uint32,bytes32)": FunctionFragment;
        "nilify(address,uint32,bytes32,uint64,bytes32)": FunctionFragment;
        "outboundNonce(address,uint32,bytes32)": FunctionFragment;
        "quote((uint32,bytes32,bytes,bytes,bool),address)": FunctionFragment;
        "receiveLibraryTimeout(address,uint32)": FunctionFragment;
        "registerLibrary(address)": FunctionFragment;
        "send((uint32,bytes32,bytes,bytes,bool),address)": FunctionFragment;
        "sendCompose(address,bytes32,uint16,bytes)": FunctionFragment;
        "setConfig(address,address,(uint32,uint32,bytes)[])": FunctionFragment;
        "setDefaultReceiveLibrary(uint32,address,uint256)": FunctionFragment;
        "setDefaultReceiveLibraryTimeout(uint32,address,uint256)": FunctionFragment;
        "setDefaultSendLibrary(uint32,address)": FunctionFragment;
        "setDelegate(address)": FunctionFragment;
        "setLzToken(address)": FunctionFragment;
        "setReceiveLibrary(address,uint32,address,uint256)": FunctionFragment;
        "setReceiveLibraryTimeout(address,uint32,address,uint256)": FunctionFragment;
        "setSendLibrary(address,uint32,address)": FunctionFragment;
        "skip(address,uint32,bytes32,uint64)": FunctionFragment;
        "verifiable((uint32,bytes32,uint64),address)": FunctionFragment;
        "verify((uint32,bytes32,uint64),address,bytes32)": FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: "burn" | "clear" | "composeQueue" | "defaultReceiveLibrary" | "defaultReceiveLibraryTimeout" | "defaultSendLibrary" | "eid" | "getConfig" | "getReceiveLibrary" | "getRegisteredLibraries" | "getSendContext" | "getSendLibrary" | "inboundNonce" | "inboundPayloadHash" | "initializable" | "isDefaultSendLibrary" | "isRegisteredLibrary" | "isSendingMessage" | "isSupportedEid" | "isValidReceiveLibrary" | "lazyInboundNonce" | "lzCompose" | "lzReceive" | "lzToken" | "nativeToken" | "nextGuid" | "nilify" | "outboundNonce" | "quote" | "receiveLibraryTimeout" | "registerLibrary" | "send" | "sendCompose" | "setConfig" | "setDefaultReceiveLibrary" | "setDefaultReceiveLibraryTimeout" | "setDefaultSendLibrary" | "setDelegate" | "setLzToken" | "setReceiveLibrary" | "setReceiveLibraryTimeout" | "setSendLibrary" | "skip" | "verifiable" | "verify"): FunctionFragment;
    encodeFunctionData(functionFragment: "burn", values: [string, BigNumberish, BytesLike, BigNumberish, BytesLike]): string;
    encodeFunctionData(functionFragment: "clear", values: [string, OriginStruct, BytesLike, BytesLike]): string;
    encodeFunctionData(functionFragment: "composeQueue", values: [string, string, BytesLike, BigNumberish]): string;
    encodeFunctionData(functionFragment: "defaultReceiveLibrary", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "defaultReceiveLibraryTimeout", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "defaultSendLibrary", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "eid", values?: undefined): string;
    encodeFunctionData(functionFragment: "getConfig", values: [string, string, BigNumberish, BigNumberish]): string;
    encodeFunctionData(functionFragment: "getReceiveLibrary", values: [string, BigNumberish]): string;
    encodeFunctionData(functionFragment: "getRegisteredLibraries", values?: undefined): string;
    encodeFunctionData(functionFragment: "getSendContext", values?: undefined): string;
    encodeFunctionData(functionFragment: "getSendLibrary", values: [string, BigNumberish]): string;
    encodeFunctionData(functionFragment: "inboundNonce", values: [string, BigNumberish, BytesLike]): string;
    encodeFunctionData(functionFragment: "inboundPayloadHash", values: [string, BigNumberish, BytesLike, BigNumberish]): string;
    encodeFunctionData(functionFragment: "initializable", values: [OriginStruct, string]): string;
    encodeFunctionData(functionFragment: "isDefaultSendLibrary", values: [string, BigNumberish]): string;
    encodeFunctionData(functionFragment: "isRegisteredLibrary", values: [string]): string;
    encodeFunctionData(functionFragment: "isSendingMessage", values?: undefined): string;
    encodeFunctionData(functionFragment: "isSupportedEid", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "isValidReceiveLibrary", values: [string, BigNumberish, string]): string;
    encodeFunctionData(functionFragment: "lazyInboundNonce", values: [string, BigNumberish, BytesLike]): string;
    encodeFunctionData(functionFragment: "lzCompose", values: [string, string, BytesLike, BigNumberish, BytesLike, BytesLike]): string;
    encodeFunctionData(functionFragment: "lzReceive", values: [OriginStruct, string, BytesLike, BytesLike, BytesLike]): string;
    encodeFunctionData(functionFragment: "lzToken", values?: undefined): string;
    encodeFunctionData(functionFragment: "nativeToken", values?: undefined): string;
    encodeFunctionData(functionFragment: "nextGuid", values: [string, BigNumberish, BytesLike]): string;
    encodeFunctionData(functionFragment: "nilify", values: [string, BigNumberish, BytesLike, BigNumberish, BytesLike]): string;
    encodeFunctionData(functionFragment: "outboundNonce", values: [string, BigNumberish, BytesLike]): string;
    encodeFunctionData(functionFragment: "quote", values: [MessagingParamsStruct, string]): string;
    encodeFunctionData(functionFragment: "receiveLibraryTimeout", values: [string, BigNumberish]): string;
    encodeFunctionData(functionFragment: "registerLibrary", values: [string]): string;
    encodeFunctionData(functionFragment: "send", values: [MessagingParamsStruct, string]): string;
    encodeFunctionData(functionFragment: "sendCompose", values: [string, BytesLike, BigNumberish, BytesLike]): string;
    encodeFunctionData(functionFragment: "setConfig", values: [string, string, SetConfigParamStruct[]]): string;
    encodeFunctionData(functionFragment: "setDefaultReceiveLibrary", values: [BigNumberish, string, BigNumberish]): string;
    encodeFunctionData(functionFragment: "setDefaultReceiveLibraryTimeout", values: [BigNumberish, string, BigNumberish]): string;
    encodeFunctionData(functionFragment: "setDefaultSendLibrary", values: [BigNumberish, string]): string;
    encodeFunctionData(functionFragment: "setDelegate", values: [string]): string;
    encodeFunctionData(functionFragment: "setLzToken", values: [string]): string;
    encodeFunctionData(functionFragment: "setReceiveLibrary", values: [string, BigNumberish, string, BigNumberish]): string;
    encodeFunctionData(functionFragment: "setReceiveLibraryTimeout", values: [string, BigNumberish, string, BigNumberish]): string;
    encodeFunctionData(functionFragment: "setSendLibrary", values: [string, BigNumberish, string]): string;
    encodeFunctionData(functionFragment: "skip", values: [string, BigNumberish, BytesLike, BigNumberish]): string;
    encodeFunctionData(functionFragment: "verifiable", values: [OriginStruct, string]): string;
    encodeFunctionData(functionFragment: "verify", values: [OriginStruct, string, BytesLike]): string;
    decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "clear", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "composeQueue", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "defaultReceiveLibrary", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "defaultReceiveLibraryTimeout", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "defaultSendLibrary", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "eid", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getConfig", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getReceiveLibrary", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getRegisteredLibraries", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getSendContext", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getSendLibrary", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "inboundNonce", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "inboundPayloadHash", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "initializable", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "isDefaultSendLibrary", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "isRegisteredLibrary", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "isSendingMessage", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "isSupportedEid", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "isValidReceiveLibrary", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "lazyInboundNonce", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "lzCompose", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "lzReceive", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "lzToken", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "nativeToken", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "nextGuid", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "nilify", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "outboundNonce", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "quote", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "receiveLibraryTimeout", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "registerLibrary", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "send", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "sendCompose", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setConfig", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setDefaultReceiveLibrary", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setDefaultReceiveLibraryTimeout", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setDefaultSendLibrary", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setDelegate", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setLzToken", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setReceiveLibrary", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setReceiveLibraryTimeout", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setSendLibrary", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "skip", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "verifiable", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "verify", data: BytesLike): Result;
    events: {
        "ComposeDelivered(address,address,bytes32,uint16)": EventFragment;
        "ComposeSent(address,address,bytes32,uint16,bytes)": EventFragment;
        "DefaultReceiveLibrarySet(uint32,address)": EventFragment;
        "DefaultReceiveLibraryTimeoutSet(uint32,address,uint256)": EventFragment;
        "DefaultSendLibrarySet(uint32,address)": EventFragment;
        "DelegateSet(address,address)": EventFragment;
        "InboundNonceSkipped(uint32,bytes32,address,uint64)": EventFragment;
        "LibraryRegistered(address)": EventFragment;
        "LzComposeAlert(address,address,address,bytes32,uint16,uint256,uint256,bytes,bytes,bytes)": EventFragment;
        "LzReceiveAlert(address,address,(uint32,bytes32,uint64),bytes32,uint256,uint256,bytes,bytes,bytes)": EventFragment;
        "LzTokenSet(address)": EventFragment;
        "PacketBurnt(uint32,bytes32,address,uint64,bytes32)": EventFragment;
        "PacketDelivered((uint32,bytes32,uint64),address)": EventFragment;
        "PacketNilified(uint32,bytes32,address,uint64,bytes32)": EventFragment;
        "PacketSent(bytes,bytes,address)": EventFragment;
        "PacketVerified((uint32,bytes32,uint64),address,bytes32)": EventFragment;
        "ReceiveLibrarySet(address,uint32,address)": EventFragment;
        "ReceiveLibraryTimeoutSet(address,uint32,address,uint256)": EventFragment;
        "SendLibrarySet(address,uint32,address)": EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: "ComposeDelivered"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "ComposeSent"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "DefaultReceiveLibrarySet"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "DefaultReceiveLibraryTimeoutSet"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "DefaultSendLibrarySet"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "DelegateSet"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "InboundNonceSkipped"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "LibraryRegistered"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "LzComposeAlert"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "LzReceiveAlert"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "LzTokenSet"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "PacketBurnt"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "PacketDelivered"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "PacketNilified"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "PacketSent"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "PacketVerified"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "ReceiveLibrarySet"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "ReceiveLibraryTimeoutSet"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "SendLibrarySet"): EventFragment;
}
export interface ComposeDeliveredEventObject {
    from: string;
    to: string;
    guid: string;
    index: number;
}
export type ComposeDeliveredEvent = TypedEvent<[
    string,
    string,
    string,
    number
], ComposeDeliveredEventObject>;
export type ComposeDeliveredEventFilter = TypedEventFilter<ComposeDeliveredEvent>;
export interface ComposeSentEventObject {
    from: string;
    to: string;
    guid: string;
    index: number;
    message: string;
}
export type ComposeSentEvent = TypedEvent<[
    string,
    string,
    string,
    number,
    string
], ComposeSentEventObject>;
export type ComposeSentEventFilter = TypedEventFilter<ComposeSentEvent>;
export interface DefaultReceiveLibrarySetEventObject {
    eid: number;
    newLib: string;
}
export type DefaultReceiveLibrarySetEvent = TypedEvent<[
    number,
    string
], DefaultReceiveLibrarySetEventObject>;
export type DefaultReceiveLibrarySetEventFilter = TypedEventFilter<DefaultReceiveLibrarySetEvent>;
export interface DefaultReceiveLibraryTimeoutSetEventObject {
    eid: number;
    oldLib: string;
    expiry: BigNumber;
}
export type DefaultReceiveLibraryTimeoutSetEvent = TypedEvent<[
    number,
    string,
    BigNumber
], DefaultReceiveLibraryTimeoutSetEventObject>;
export type DefaultReceiveLibraryTimeoutSetEventFilter = TypedEventFilter<DefaultReceiveLibraryTimeoutSetEvent>;
export interface DefaultSendLibrarySetEventObject {
    eid: number;
    newLib: string;
}
export type DefaultSendLibrarySetEvent = TypedEvent<[
    number,
    string
], DefaultSendLibrarySetEventObject>;
export type DefaultSendLibrarySetEventFilter = TypedEventFilter<DefaultSendLibrarySetEvent>;
export interface DelegateSetEventObject {
    sender: string;
    delegate: string;
}
export type DelegateSetEvent = TypedEvent<[
    string,
    string
], DelegateSetEventObject>;
export type DelegateSetEventFilter = TypedEventFilter<DelegateSetEvent>;
export interface InboundNonceSkippedEventObject {
    srcEid: number;
    sender: string;
    receiver: string;
    nonce: BigNumber;
}
export type InboundNonceSkippedEvent = TypedEvent<[
    number,
    string,
    string,
    BigNumber
], InboundNonceSkippedEventObject>;
export type InboundNonceSkippedEventFilter = TypedEventFilter<InboundNonceSkippedEvent>;
export interface LibraryRegisteredEventObject {
    newLib: string;
}
export type LibraryRegisteredEvent = TypedEvent<[
    string
], LibraryRegisteredEventObject>;
export type LibraryRegisteredEventFilter = TypedEventFilter<LibraryRegisteredEvent>;
export interface LzComposeAlertEventObject {
    from: string;
    to: string;
    executor: string;
    guid: string;
    index: number;
    gas: BigNumber;
    value: BigNumber;
    message: string;
    extraData: string;
    reason: string;
}
export type LzComposeAlertEvent = TypedEvent<[
    string,
    string,
    string,
    string,
    number,
    BigNumber,
    BigNumber,
    string,
    string,
    string
], LzComposeAlertEventObject>;
export type LzComposeAlertEventFilter = TypedEventFilter<LzComposeAlertEvent>;
export interface LzReceiveAlertEventObject {
    receiver: string;
    executor: string;
    origin: OriginStructOutput;
    guid: string;
    gas: BigNumber;
    value: BigNumber;
    message: string;
    extraData: string;
    reason: string;
}
export type LzReceiveAlertEvent = TypedEvent<[
    string,
    string,
    OriginStructOutput,
    string,
    BigNumber,
    BigNumber,
    string,
    string,
    string
], LzReceiveAlertEventObject>;
export type LzReceiveAlertEventFilter = TypedEventFilter<LzReceiveAlertEvent>;
export interface LzTokenSetEventObject {
    token: string;
}
export type LzTokenSetEvent = TypedEvent<[string], LzTokenSetEventObject>;
export type LzTokenSetEventFilter = TypedEventFilter<LzTokenSetEvent>;
export interface PacketBurntEventObject {
    srcEid: number;
    sender: string;
    receiver: string;
    nonce: BigNumber;
    payloadHash: string;
}
export type PacketBurntEvent = TypedEvent<[
    number,
    string,
    string,
    BigNumber,
    string
], PacketBurntEventObject>;
export type PacketBurntEventFilter = TypedEventFilter<PacketBurntEvent>;
export interface PacketDeliveredEventObject {
    origin: OriginStructOutput;
    receiver: string;
}
export type PacketDeliveredEvent = TypedEvent<[
    OriginStructOutput,
    string
], PacketDeliveredEventObject>;
export type PacketDeliveredEventFilter = TypedEventFilter<PacketDeliveredEvent>;
export interface PacketNilifiedEventObject {
    srcEid: number;
    sender: string;
    receiver: string;
    nonce: BigNumber;
    payloadHash: string;
}
export type PacketNilifiedEvent = TypedEvent<[
    number,
    string,
    string,
    BigNumber,
    string
], PacketNilifiedEventObject>;
export type PacketNilifiedEventFilter = TypedEventFilter<PacketNilifiedEvent>;
export interface PacketSentEventObject {
    encodedPayload: string;
    options: string;
    sendLibrary: string;
}
export type PacketSentEvent = TypedEvent<[
    string,
    string,
    string
], PacketSentEventObject>;
export type PacketSentEventFilter = TypedEventFilter<PacketSentEvent>;
export interface PacketVerifiedEventObject {
    origin: OriginStructOutput;
    receiver: string;
    payloadHash: string;
}
export type PacketVerifiedEvent = TypedEvent<[
    OriginStructOutput,
    string,
    string
], PacketVerifiedEventObject>;
export type PacketVerifiedEventFilter = TypedEventFilter<PacketVerifiedEvent>;
export interface ReceiveLibrarySetEventObject {
    receiver: string;
    eid: number;
    newLib: string;
}
export type ReceiveLibrarySetEvent = TypedEvent<[
    string,
    number,
    string
], ReceiveLibrarySetEventObject>;
export type ReceiveLibrarySetEventFilter = TypedEventFilter<ReceiveLibrarySetEvent>;
export interface ReceiveLibraryTimeoutSetEventObject {
    receiver: string;
    eid: number;
    oldLib: string;
    timeout: BigNumber;
}
export type ReceiveLibraryTimeoutSetEvent = TypedEvent<[
    string,
    number,
    string,
    BigNumber
], ReceiveLibraryTimeoutSetEventObject>;
export type ReceiveLibraryTimeoutSetEventFilter = TypedEventFilter<ReceiveLibraryTimeoutSetEvent>;
export interface SendLibrarySetEventObject {
    sender: string;
    eid: number;
    newLib: string;
}
export type SendLibrarySetEvent = TypedEvent<[
    string,
    number,
    string
], SendLibrarySetEventObject>;
export type SendLibrarySetEventFilter = TypedEventFilter<SendLibrarySetEvent>;
export interface ILayerZeroEndpointV2 extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: ILayerZeroEndpointV2Interface;
    queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
    listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
    listeners(eventName?: string): Array<Listener>;
    removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
    removeAllListeners(eventName?: string): this;
    off: OnEvent<this>;
    on: OnEvent<this>;
    once: OnEvent<this>;
    removeListener: OnEvent<this>;
    functions: {
        burn(_oapp: string, _srcEid: BigNumberish, _sender: BytesLike, _nonce: BigNumberish, _payloadHash: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        clear(_oapp: string, _origin: OriginStruct, _guid: BytesLike, _message: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        composeQueue(_from: string, _to: string, _guid: BytesLike, _index: BigNumberish, overrides?: CallOverrides): Promise<[string] & {
            messageHash: string;
        }>;
        defaultReceiveLibrary(_eid: BigNumberish, overrides?: CallOverrides): Promise<[string]>;
        defaultReceiveLibraryTimeout(_eid: BigNumberish, overrides?: CallOverrides): Promise<[string, BigNumber] & {
            lib: string;
            expiry: BigNumber;
        }>;
        defaultSendLibrary(_eid: BigNumberish, overrides?: CallOverrides): Promise<[string]>;
        eid(overrides?: CallOverrides): Promise<[number]>;
        getConfig(_oapp: string, _lib: string, _eid: BigNumberish, _configType: BigNumberish, overrides?: CallOverrides): Promise<[string] & {
            config: string;
        }>;
        getReceiveLibrary(_receiver: string, _eid: BigNumberish, overrides?: CallOverrides): Promise<[string, boolean] & {
            lib: string;
            isDefault: boolean;
        }>;
        getRegisteredLibraries(overrides?: CallOverrides): Promise<[string[]]>;
        getSendContext(overrides?: CallOverrides): Promise<[number, string] & {
            dstEid: number;
            sender: string;
        }>;
        getSendLibrary(_sender: string, _eid: BigNumberish, overrides?: CallOverrides): Promise<[string] & {
            lib: string;
        }>;
        inboundNonce(_receiver: string, _srcEid: BigNumberish, _sender: BytesLike, overrides?: CallOverrides): Promise<[BigNumber]>;
        inboundPayloadHash(_receiver: string, _srcEid: BigNumberish, _sender: BytesLike, _nonce: BigNumberish, overrides?: CallOverrides): Promise<[string]>;
        initializable(_origin: OriginStruct, _receiver: string, overrides?: CallOverrides): Promise<[boolean]>;
        isDefaultSendLibrary(_sender: string, _eid: BigNumberish, overrides?: CallOverrides): Promise<[boolean]>;
        isRegisteredLibrary(_lib: string, overrides?: CallOverrides): Promise<[boolean]>;
        isSendingMessage(overrides?: CallOverrides): Promise<[boolean]>;
        isSupportedEid(_eid: BigNumberish, overrides?: CallOverrides): Promise<[boolean]>;
        isValidReceiveLibrary(_receiver: string, _eid: BigNumberish, _lib: string, overrides?: CallOverrides): Promise<[boolean]>;
        lazyInboundNonce(_receiver: string, _srcEid: BigNumberish, _sender: BytesLike, overrides?: CallOverrides): Promise<[BigNumber]>;
        lzCompose(_from: string, _to: string, _guid: BytesLike, _index: BigNumberish, _message: BytesLike, _extraData: BytesLike, overrides?: PayableOverrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        lzReceive(_origin: OriginStruct, _receiver: string, _guid: BytesLike, _message: BytesLike, _extraData: BytesLike, overrides?: PayableOverrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        lzToken(overrides?: CallOverrides): Promise<[string]>;
        nativeToken(overrides?: CallOverrides): Promise<[string]>;
        nextGuid(_sender: string, _dstEid: BigNumberish, _receiver: BytesLike, overrides?: CallOverrides): Promise<[string]>;
        nilify(_oapp: string, _srcEid: BigNumberish, _sender: BytesLike, _nonce: BigNumberish, _payloadHash: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        outboundNonce(_sender: string, _dstEid: BigNumberish, _receiver: BytesLike, overrides?: CallOverrides): Promise<[BigNumber]>;
        quote(_params: MessagingParamsStruct, _sender: string, overrides?: CallOverrides): Promise<[MessagingFeeStructOutput]>;
        receiveLibraryTimeout(_receiver: string, _eid: BigNumberish, overrides?: CallOverrides): Promise<[string, BigNumber] & {
            lib: string;
            expiry: BigNumber;
        }>;
        registerLibrary(_lib: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        send(_params: MessagingParamsStruct, _refundAddress: string, overrides?: PayableOverrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        sendCompose(_to: string, _guid: BytesLike, _index: BigNumberish, _message: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        setConfig(_oapp: string, _lib: string, _params: SetConfigParamStruct[], overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        setDefaultReceiveLibrary(_eid: BigNumberish, _newLib: string, _gracePeriod: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        setDefaultReceiveLibraryTimeout(_eid: BigNumberish, _lib: string, _expiry: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        setDefaultSendLibrary(_eid: BigNumberish, _newLib: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        setDelegate(_delegate: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        setLzToken(_lzToken: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        setReceiveLibrary(_oapp: string, _eid: BigNumberish, _newLib: string, _gracePeriod: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        setReceiveLibraryTimeout(_oapp: string, _eid: BigNumberish, _lib: string, _expiry: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        setSendLibrary(_oapp: string, _eid: BigNumberish, _newLib: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        skip(_oapp: string, _srcEid: BigNumberish, _sender: BytesLike, _nonce: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        verifiable(_origin: OriginStruct, _receiver: string, overrides?: CallOverrides): Promise<[boolean]>;
        verify(_origin: OriginStruct, _receiver: string, _payloadHash: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
    };
    burn(_oapp: string, _srcEid: BigNumberish, _sender: BytesLike, _nonce: BigNumberish, _payloadHash: BytesLike, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    clear(_oapp: string, _origin: OriginStruct, _guid: BytesLike, _message: BytesLike, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    composeQueue(_from: string, _to: string, _guid: BytesLike, _index: BigNumberish, overrides?: CallOverrides): Promise<string>;
    defaultReceiveLibrary(_eid: BigNumberish, overrides?: CallOverrides): Promise<string>;
    defaultReceiveLibraryTimeout(_eid: BigNumberish, overrides?: CallOverrides): Promise<[string, BigNumber] & {
        lib: string;
        expiry: BigNumber;
    }>;
    defaultSendLibrary(_eid: BigNumberish, overrides?: CallOverrides): Promise<string>;
    eid(overrides?: CallOverrides): Promise<number>;
    getConfig(_oapp: string, _lib: string, _eid: BigNumberish, _configType: BigNumberish, overrides?: CallOverrides): Promise<string>;
    getReceiveLibrary(_receiver: string, _eid: BigNumberish, overrides?: CallOverrides): Promise<[string, boolean] & {
        lib: string;
        isDefault: boolean;
    }>;
    getRegisteredLibraries(overrides?: CallOverrides): Promise<string[]>;
    getSendContext(overrides?: CallOverrides): Promise<[number, string] & {
        dstEid: number;
        sender: string;
    }>;
    getSendLibrary(_sender: string, _eid: BigNumberish, overrides?: CallOverrides): Promise<string>;
    inboundNonce(_receiver: string, _srcEid: BigNumberish, _sender: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
    inboundPayloadHash(_receiver: string, _srcEid: BigNumberish, _sender: BytesLike, _nonce: BigNumberish, overrides?: CallOverrides): Promise<string>;
    initializable(_origin: OriginStruct, _receiver: string, overrides?: CallOverrides): Promise<boolean>;
    isDefaultSendLibrary(_sender: string, _eid: BigNumberish, overrides?: CallOverrides): Promise<boolean>;
    isRegisteredLibrary(_lib: string, overrides?: CallOverrides): Promise<boolean>;
    isSendingMessage(overrides?: CallOverrides): Promise<boolean>;
    isSupportedEid(_eid: BigNumberish, overrides?: CallOverrides): Promise<boolean>;
    isValidReceiveLibrary(_receiver: string, _eid: BigNumberish, _lib: string, overrides?: CallOverrides): Promise<boolean>;
    lazyInboundNonce(_receiver: string, _srcEid: BigNumberish, _sender: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
    lzCompose(_from: string, _to: string, _guid: BytesLike, _index: BigNumberish, _message: BytesLike, _extraData: BytesLike, overrides?: PayableOverrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    lzReceive(_origin: OriginStruct, _receiver: string, _guid: BytesLike, _message: BytesLike, _extraData: BytesLike, overrides?: PayableOverrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    lzToken(overrides?: CallOverrides): Promise<string>;
    nativeToken(overrides?: CallOverrides): Promise<string>;
    nextGuid(_sender: string, _dstEid: BigNumberish, _receiver: BytesLike, overrides?: CallOverrides): Promise<string>;
    nilify(_oapp: string, _srcEid: BigNumberish, _sender: BytesLike, _nonce: BigNumberish, _payloadHash: BytesLike, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    outboundNonce(_sender: string, _dstEid: BigNumberish, _receiver: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
    quote(_params: MessagingParamsStruct, _sender: string, overrides?: CallOverrides): Promise<MessagingFeeStructOutput>;
    receiveLibraryTimeout(_receiver: string, _eid: BigNumberish, overrides?: CallOverrides): Promise<[string, BigNumber] & {
        lib: string;
        expiry: BigNumber;
    }>;
    registerLibrary(_lib: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    send(_params: MessagingParamsStruct, _refundAddress: string, overrides?: PayableOverrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    sendCompose(_to: string, _guid: BytesLike, _index: BigNumberish, _message: BytesLike, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    setConfig(_oapp: string, _lib: string, _params: SetConfigParamStruct[], overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    setDefaultReceiveLibrary(_eid: BigNumberish, _newLib: string, _gracePeriod: BigNumberish, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    setDefaultReceiveLibraryTimeout(_eid: BigNumberish, _lib: string, _expiry: BigNumberish, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    setDefaultSendLibrary(_eid: BigNumberish, _newLib: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    setDelegate(_delegate: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    setLzToken(_lzToken: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    setReceiveLibrary(_oapp: string, _eid: BigNumberish, _newLib: string, _gracePeriod: BigNumberish, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    setReceiveLibraryTimeout(_oapp: string, _eid: BigNumberish, _lib: string, _expiry: BigNumberish, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    setSendLibrary(_oapp: string, _eid: BigNumberish, _newLib: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    skip(_oapp: string, _srcEid: BigNumberish, _sender: BytesLike, _nonce: BigNumberish, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    verifiable(_origin: OriginStruct, _receiver: string, overrides?: CallOverrides): Promise<boolean>;
    verify(_origin: OriginStruct, _receiver: string, _payloadHash: BytesLike, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    callStatic: {
        burn(_oapp: string, _srcEid: BigNumberish, _sender: BytesLike, _nonce: BigNumberish, _payloadHash: BytesLike, overrides?: CallOverrides): Promise<void>;
        clear(_oapp: string, _origin: OriginStruct, _guid: BytesLike, _message: BytesLike, overrides?: CallOverrides): Promise<void>;
        composeQueue(_from: string, _to: string, _guid: BytesLike, _index: BigNumberish, overrides?: CallOverrides): Promise<string>;
        defaultReceiveLibrary(_eid: BigNumberish, overrides?: CallOverrides): Promise<string>;
        defaultReceiveLibraryTimeout(_eid: BigNumberish, overrides?: CallOverrides): Promise<[string, BigNumber] & {
            lib: string;
            expiry: BigNumber;
        }>;
        defaultSendLibrary(_eid: BigNumberish, overrides?: CallOverrides): Promise<string>;
        eid(overrides?: CallOverrides): Promise<number>;
        getConfig(_oapp: string, _lib: string, _eid: BigNumberish, _configType: BigNumberish, overrides?: CallOverrides): Promise<string>;
        getReceiveLibrary(_receiver: string, _eid: BigNumberish, overrides?: CallOverrides): Promise<[string, boolean] & {
            lib: string;
            isDefault: boolean;
        }>;
        getRegisteredLibraries(overrides?: CallOverrides): Promise<string[]>;
        getSendContext(overrides?: CallOverrides): Promise<[number, string] & {
            dstEid: number;
            sender: string;
        }>;
        getSendLibrary(_sender: string, _eid: BigNumberish, overrides?: CallOverrides): Promise<string>;
        inboundNonce(_receiver: string, _srcEid: BigNumberish, _sender: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
        inboundPayloadHash(_receiver: string, _srcEid: BigNumberish, _sender: BytesLike, _nonce: BigNumberish, overrides?: CallOverrides): Promise<string>;
        initializable(_origin: OriginStruct, _receiver: string, overrides?: CallOverrides): Promise<boolean>;
        isDefaultSendLibrary(_sender: string, _eid: BigNumberish, overrides?: CallOverrides): Promise<boolean>;
        isRegisteredLibrary(_lib: string, overrides?: CallOverrides): Promise<boolean>;
        isSendingMessage(overrides?: CallOverrides): Promise<boolean>;
        isSupportedEid(_eid: BigNumberish, overrides?: CallOverrides): Promise<boolean>;
        isValidReceiveLibrary(_receiver: string, _eid: BigNumberish, _lib: string, overrides?: CallOverrides): Promise<boolean>;
        lazyInboundNonce(_receiver: string, _srcEid: BigNumberish, _sender: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
        lzCompose(_from: string, _to: string, _guid: BytesLike, _index: BigNumberish, _message: BytesLike, _extraData: BytesLike, overrides?: CallOverrides): Promise<void>;
        lzReceive(_origin: OriginStruct, _receiver: string, _guid: BytesLike, _message: BytesLike, _extraData: BytesLike, overrides?: CallOverrides): Promise<void>;
        lzToken(overrides?: CallOverrides): Promise<string>;
        nativeToken(overrides?: CallOverrides): Promise<string>;
        nextGuid(_sender: string, _dstEid: BigNumberish, _receiver: BytesLike, overrides?: CallOverrides): Promise<string>;
        nilify(_oapp: string, _srcEid: BigNumberish, _sender: BytesLike, _nonce: BigNumberish, _payloadHash: BytesLike, overrides?: CallOverrides): Promise<void>;
        outboundNonce(_sender: string, _dstEid: BigNumberish, _receiver: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
        quote(_params: MessagingParamsStruct, _sender: string, overrides?: CallOverrides): Promise<MessagingFeeStructOutput>;
        receiveLibraryTimeout(_receiver: string, _eid: BigNumberish, overrides?: CallOverrides): Promise<[string, BigNumber] & {
            lib: string;
            expiry: BigNumber;
        }>;
        registerLibrary(_lib: string, overrides?: CallOverrides): Promise<void>;
        send(_params: MessagingParamsStruct, _refundAddress: string, overrides?: CallOverrides): Promise<MessagingReceiptStructOutput>;
        sendCompose(_to: string, _guid: BytesLike, _index: BigNumberish, _message: BytesLike, overrides?: CallOverrides): Promise<void>;
        setConfig(_oapp: string, _lib: string, _params: SetConfigParamStruct[], overrides?: CallOverrides): Promise<void>;
        setDefaultReceiveLibrary(_eid: BigNumberish, _newLib: string, _gracePeriod: BigNumberish, overrides?: CallOverrides): Promise<void>;
        setDefaultReceiveLibraryTimeout(_eid: BigNumberish, _lib: string, _expiry: BigNumberish, overrides?: CallOverrides): Promise<void>;
        setDefaultSendLibrary(_eid: BigNumberish, _newLib: string, overrides?: CallOverrides): Promise<void>;
        setDelegate(_delegate: string, overrides?: CallOverrides): Promise<void>;
        setLzToken(_lzToken: string, overrides?: CallOverrides): Promise<void>;
        setReceiveLibrary(_oapp: string, _eid: BigNumberish, _newLib: string, _gracePeriod: BigNumberish, overrides?: CallOverrides): Promise<void>;
        setReceiveLibraryTimeout(_oapp: string, _eid: BigNumberish, _lib: string, _expiry: BigNumberish, overrides?: CallOverrides): Promise<void>;
        setSendLibrary(_oapp: string, _eid: BigNumberish, _newLib: string, overrides?: CallOverrides): Promise<void>;
        skip(_oapp: string, _srcEid: BigNumberish, _sender: BytesLike, _nonce: BigNumberish, overrides?: CallOverrides): Promise<void>;
        verifiable(_origin: OriginStruct, _receiver: string, overrides?: CallOverrides): Promise<boolean>;
        verify(_origin: OriginStruct, _receiver: string, _payloadHash: BytesLike, overrides?: CallOverrides): Promise<void>;
    };
    filters: {
        "ComposeDelivered(address,address,bytes32,uint16)"(from?: null, to?: null, guid?: null, index?: null): ComposeDeliveredEventFilter;
        ComposeDelivered(from?: null, to?: null, guid?: null, index?: null): ComposeDeliveredEventFilter;
        "ComposeSent(address,address,bytes32,uint16,bytes)"(from?: null, to?: null, guid?: null, index?: null, message?: null): ComposeSentEventFilter;
        ComposeSent(from?: null, to?: null, guid?: null, index?: null, message?: null): ComposeSentEventFilter;
        "DefaultReceiveLibrarySet(uint32,address)"(eid?: null, newLib?: null): DefaultReceiveLibrarySetEventFilter;
        DefaultReceiveLibrarySet(eid?: null, newLib?: null): DefaultReceiveLibrarySetEventFilter;
        "DefaultReceiveLibraryTimeoutSet(uint32,address,uint256)"(eid?: null, oldLib?: null, expiry?: null): DefaultReceiveLibraryTimeoutSetEventFilter;
        DefaultReceiveLibraryTimeoutSet(eid?: null, oldLib?: null, expiry?: null): DefaultReceiveLibraryTimeoutSetEventFilter;
        "DefaultSendLibrarySet(uint32,address)"(eid?: null, newLib?: null): DefaultSendLibrarySetEventFilter;
        DefaultSendLibrarySet(eid?: null, newLib?: null): DefaultSendLibrarySetEventFilter;
        "DelegateSet(address,address)"(sender?: null, delegate?: null): DelegateSetEventFilter;
        DelegateSet(sender?: null, delegate?: null): DelegateSetEventFilter;
        "InboundNonceSkipped(uint32,bytes32,address,uint64)"(srcEid?: null, sender?: null, receiver?: null, nonce?: null): InboundNonceSkippedEventFilter;
        InboundNonceSkipped(srcEid?: null, sender?: null, receiver?: null, nonce?: null): InboundNonceSkippedEventFilter;
        "LibraryRegistered(address)"(newLib?: null): LibraryRegisteredEventFilter;
        LibraryRegistered(newLib?: null): LibraryRegisteredEventFilter;
        "LzComposeAlert(address,address,address,bytes32,uint16,uint256,uint256,bytes,bytes,bytes)"(from?: string | null, to?: string | null, executor?: string | null, guid?: null, index?: null, gas?: null, value?: null, message?: null, extraData?: null, reason?: null): LzComposeAlertEventFilter;
        LzComposeAlert(from?: string | null, to?: string | null, executor?: string | null, guid?: null, index?: null, gas?: null, value?: null, message?: null, extraData?: null, reason?: null): LzComposeAlertEventFilter;
        "LzReceiveAlert(address,address,(uint32,bytes32,uint64),bytes32,uint256,uint256,bytes,bytes,bytes)"(receiver?: string | null, executor?: string | null, origin?: null, guid?: null, gas?: null, value?: null, message?: null, extraData?: null, reason?: null): LzReceiveAlertEventFilter;
        LzReceiveAlert(receiver?: string | null, executor?: string | null, origin?: null, guid?: null, gas?: null, value?: null, message?: null, extraData?: null, reason?: null): LzReceiveAlertEventFilter;
        "LzTokenSet(address)"(token?: null): LzTokenSetEventFilter;
        LzTokenSet(token?: null): LzTokenSetEventFilter;
        "PacketBurnt(uint32,bytes32,address,uint64,bytes32)"(srcEid?: null, sender?: null, receiver?: null, nonce?: null, payloadHash?: null): PacketBurntEventFilter;
        PacketBurnt(srcEid?: null, sender?: null, receiver?: null, nonce?: null, payloadHash?: null): PacketBurntEventFilter;
        "PacketDelivered((uint32,bytes32,uint64),address)"(origin?: null, receiver?: null): PacketDeliveredEventFilter;
        PacketDelivered(origin?: null, receiver?: null): PacketDeliveredEventFilter;
        "PacketNilified(uint32,bytes32,address,uint64,bytes32)"(srcEid?: null, sender?: null, receiver?: null, nonce?: null, payloadHash?: null): PacketNilifiedEventFilter;
        PacketNilified(srcEid?: null, sender?: null, receiver?: null, nonce?: null, payloadHash?: null): PacketNilifiedEventFilter;
        "PacketSent(bytes,bytes,address)"(encodedPayload?: null, options?: null, sendLibrary?: null): PacketSentEventFilter;
        PacketSent(encodedPayload?: null, options?: null, sendLibrary?: null): PacketSentEventFilter;
        "PacketVerified((uint32,bytes32,uint64),address,bytes32)"(origin?: null, receiver?: null, payloadHash?: null): PacketVerifiedEventFilter;
        PacketVerified(origin?: null, receiver?: null, payloadHash?: null): PacketVerifiedEventFilter;
        "ReceiveLibrarySet(address,uint32,address)"(receiver?: null, eid?: null, newLib?: null): ReceiveLibrarySetEventFilter;
        ReceiveLibrarySet(receiver?: null, eid?: null, newLib?: null): ReceiveLibrarySetEventFilter;
        "ReceiveLibraryTimeoutSet(address,uint32,address,uint256)"(receiver?: null, eid?: null, oldLib?: null, timeout?: null): ReceiveLibraryTimeoutSetEventFilter;
        ReceiveLibraryTimeoutSet(receiver?: null, eid?: null, oldLib?: null, timeout?: null): ReceiveLibraryTimeoutSetEventFilter;
        "SendLibrarySet(address,uint32,address)"(sender?: null, eid?: null, newLib?: null): SendLibrarySetEventFilter;
        SendLibrarySet(sender?: null, eid?: null, newLib?: null): SendLibrarySetEventFilter;
    };
    estimateGas: {
        burn(_oapp: string, _srcEid: BigNumberish, _sender: BytesLike, _nonce: BigNumberish, _payloadHash: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        clear(_oapp: string, _origin: OriginStruct, _guid: BytesLike, _message: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        composeQueue(_from: string, _to: string, _guid: BytesLike, _index: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        defaultReceiveLibrary(_eid: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        defaultReceiveLibraryTimeout(_eid: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        defaultSendLibrary(_eid: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        eid(overrides?: CallOverrides): Promise<BigNumber>;
        getConfig(_oapp: string, _lib: string, _eid: BigNumberish, _configType: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        getReceiveLibrary(_receiver: string, _eid: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        getRegisteredLibraries(overrides?: CallOverrides): Promise<BigNumber>;
        getSendContext(overrides?: CallOverrides): Promise<BigNumber>;
        getSendLibrary(_sender: string, _eid: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        inboundNonce(_receiver: string, _srcEid: BigNumberish, _sender: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
        inboundPayloadHash(_receiver: string, _srcEid: BigNumberish, _sender: BytesLike, _nonce: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        initializable(_origin: OriginStruct, _receiver: string, overrides?: CallOverrides): Promise<BigNumber>;
        isDefaultSendLibrary(_sender: string, _eid: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        isRegisteredLibrary(_lib: string, overrides?: CallOverrides): Promise<BigNumber>;
        isSendingMessage(overrides?: CallOverrides): Promise<BigNumber>;
        isSupportedEid(_eid: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        isValidReceiveLibrary(_receiver: string, _eid: BigNumberish, _lib: string, overrides?: CallOverrides): Promise<BigNumber>;
        lazyInboundNonce(_receiver: string, _srcEid: BigNumberish, _sender: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
        lzCompose(_from: string, _to: string, _guid: BytesLike, _index: BigNumberish, _message: BytesLike, _extraData: BytesLike, overrides?: PayableOverrides & {
            from?: string;
        }): Promise<BigNumber>;
        lzReceive(_origin: OriginStruct, _receiver: string, _guid: BytesLike, _message: BytesLike, _extraData: BytesLike, overrides?: PayableOverrides & {
            from?: string;
        }): Promise<BigNumber>;
        lzToken(overrides?: CallOverrides): Promise<BigNumber>;
        nativeToken(overrides?: CallOverrides): Promise<BigNumber>;
        nextGuid(_sender: string, _dstEid: BigNumberish, _receiver: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
        nilify(_oapp: string, _srcEid: BigNumberish, _sender: BytesLike, _nonce: BigNumberish, _payloadHash: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        outboundNonce(_sender: string, _dstEid: BigNumberish, _receiver: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
        quote(_params: MessagingParamsStruct, _sender: string, overrides?: CallOverrides): Promise<BigNumber>;
        receiveLibraryTimeout(_receiver: string, _eid: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        registerLibrary(_lib: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        send(_params: MessagingParamsStruct, _refundAddress: string, overrides?: PayableOverrides & {
            from?: string;
        }): Promise<BigNumber>;
        sendCompose(_to: string, _guid: BytesLike, _index: BigNumberish, _message: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        setConfig(_oapp: string, _lib: string, _params: SetConfigParamStruct[], overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        setDefaultReceiveLibrary(_eid: BigNumberish, _newLib: string, _gracePeriod: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        setDefaultReceiveLibraryTimeout(_eid: BigNumberish, _lib: string, _expiry: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        setDefaultSendLibrary(_eid: BigNumberish, _newLib: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        setDelegate(_delegate: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        setLzToken(_lzToken: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        setReceiveLibrary(_oapp: string, _eid: BigNumberish, _newLib: string, _gracePeriod: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        setReceiveLibraryTimeout(_oapp: string, _eid: BigNumberish, _lib: string, _expiry: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        setSendLibrary(_oapp: string, _eid: BigNumberish, _newLib: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        skip(_oapp: string, _srcEid: BigNumberish, _sender: BytesLike, _nonce: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        verifiable(_origin: OriginStruct, _receiver: string, overrides?: CallOverrides): Promise<BigNumber>;
        verify(_origin: OriginStruct, _receiver: string, _payloadHash: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
    };
    populateTransaction: {
        burn(_oapp: string, _srcEid: BigNumberish, _sender: BytesLike, _nonce: BigNumberish, _payloadHash: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        clear(_oapp: string, _origin: OriginStruct, _guid: BytesLike, _message: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        composeQueue(_from: string, _to: string, _guid: BytesLike, _index: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        defaultReceiveLibrary(_eid: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        defaultReceiveLibraryTimeout(_eid: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        defaultSendLibrary(_eid: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        eid(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getConfig(_oapp: string, _lib: string, _eid: BigNumberish, _configType: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getReceiveLibrary(_receiver: string, _eid: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getRegisteredLibraries(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getSendContext(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getSendLibrary(_sender: string, _eid: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        inboundNonce(_receiver: string, _srcEid: BigNumberish, _sender: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        inboundPayloadHash(_receiver: string, _srcEid: BigNumberish, _sender: BytesLike, _nonce: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        initializable(_origin: OriginStruct, _receiver: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        isDefaultSendLibrary(_sender: string, _eid: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        isRegisteredLibrary(_lib: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        isSendingMessage(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        isSupportedEid(_eid: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        isValidReceiveLibrary(_receiver: string, _eid: BigNumberish, _lib: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        lazyInboundNonce(_receiver: string, _srcEid: BigNumberish, _sender: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        lzCompose(_from: string, _to: string, _guid: BytesLike, _index: BigNumberish, _message: BytesLike, _extraData: BytesLike, overrides?: PayableOverrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        lzReceive(_origin: OriginStruct, _receiver: string, _guid: BytesLike, _message: BytesLike, _extraData: BytesLike, overrides?: PayableOverrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        lzToken(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        nativeToken(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        nextGuid(_sender: string, _dstEid: BigNumberish, _receiver: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        nilify(_oapp: string, _srcEid: BigNumberish, _sender: BytesLike, _nonce: BigNumberish, _payloadHash: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        outboundNonce(_sender: string, _dstEid: BigNumberish, _receiver: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        quote(_params: MessagingParamsStruct, _sender: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        receiveLibraryTimeout(_receiver: string, _eid: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        registerLibrary(_lib: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        send(_params: MessagingParamsStruct, _refundAddress: string, overrides?: PayableOverrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        sendCompose(_to: string, _guid: BytesLike, _index: BigNumberish, _message: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        setConfig(_oapp: string, _lib: string, _params: SetConfigParamStruct[], overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        setDefaultReceiveLibrary(_eid: BigNumberish, _newLib: string, _gracePeriod: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        setDefaultReceiveLibraryTimeout(_eid: BigNumberish, _lib: string, _expiry: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        setDefaultSendLibrary(_eid: BigNumberish, _newLib: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        setDelegate(_delegate: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        setLzToken(_lzToken: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        setReceiveLibrary(_oapp: string, _eid: BigNumberish, _newLib: string, _gracePeriod: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        setReceiveLibraryTimeout(_oapp: string, _eid: BigNumberish, _lib: string, _expiry: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        setSendLibrary(_oapp: string, _eid: BigNumberish, _newLib: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        skip(_oapp: string, _srcEid: BigNumberish, _sender: BytesLike, _nonce: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        verifiable(_origin: OriginStruct, _receiver: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        verify(_origin: OriginStruct, _receiver: string, _payloadHash: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
    };
}
