import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, PopulatedTransaction, Signer, utils } from "ethers";
import type { FunctionFragment, Result } from "@ethersproject/abi";
import type { Listener, Provider } from "@ethersproject/providers";
import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common";
export declare namespace Constants {
    type L1AddressesStruct = {
        finder: string;
        l1ArbitrumInbox: string;
        l1ERC20GatewayRouter: string;
        polygonRootChainManager: string;
        polygonFxRoot: string;
        polygonERC20Predicate: string;
        polygonRegistry: string;
        polygonDepositManager: string;
        cctpTokenMessenger: string;
        cctpV2TokenMessenger: string;
        cctpMessageTransmitter: string;
        lineaMessageService: string;
        lineaTokenBridge: string;
        scrollERC20GatewayRouter: string;
        scrollMessengerRelay: string;
        scrollGasPriceOracle: string;
        blastYieldManager: string;
        blastDaiRetriever: string;
        adapterStore: string;
        donationBox: string;
        hubPoolStore: string;
        zkBridgeHub: string;
        zkUsdcSharedBridge_232: string;
        zkUsdcSharedBridge_324: string;
    };
    type L1AddressesStructOutput = [
        string,
        string,
        string,
        string,
        string,
        string,
        string,
        string,
        string,
        string,
        string,
        string,
        string,
        string,
        string,
        string,
        string,
        string,
        string,
        string,
        string,
        string,
        string,
        string
    ] & {
        finder: string;
        l1ArbitrumInbox: string;
        l1ERC20GatewayRouter: string;
        polygonRootChainManager: string;
        polygonFxRoot: string;
        polygonERC20Predicate: string;
        polygonRegistry: string;
        polygonDepositManager: string;
        cctpTokenMessenger: string;
        cctpV2TokenMessenger: string;
        cctpMessageTransmitter: string;
        lineaMessageService: string;
        lineaTokenBridge: string;
        scrollERC20GatewayRouter: string;
        scrollMessengerRelay: string;
        scrollGasPriceOracle: string;
        blastYieldManager: string;
        blastDaiRetriever: string;
        adapterStore: string;
        donationBox: string;
        hubPoolStore: string;
        zkBridgeHub: string;
        zkUsdcSharedBridge_232: string;
        zkUsdcSharedBridge_324: string;
    };
    type OpStackAddressesStruct = {
        L1CrossDomainMessenger: string;
        L1StandardBridge: string;
        L1OpUSDCBridgeAdapter: string;
    };
    type OpStackAddressesStructOutput = [string, string, string] & {
        L1CrossDomainMessenger: string;
        L1StandardBridge: string;
        L1OpUSDCBridgeAdapter: string;
    };
}
export interface ConstantsInterface extends utils.Interface {
    functions: {
        "FILL_DEADLINE_BUFFER()": FunctionFragment;
        "IS_SCRIPT()": FunctionFragment;
        "QUOTE_TIME_BUFFER()": FunctionFragment;
        "file()": FunctionFragment;
        "getChainFamily(uint256)": FunctionFragment;
        "getChainId(string)": FunctionFragment;
        "getCircleDomainId(uint256)": FunctionFragment;
        "getL1Addresses(uint256)": FunctionFragment;
        "getL2Address(uint256,string)": FunctionFragment;
        "getOftEid(uint256)": FunctionFragment;
        "getOpStackAddresses(uint256,uint256)": FunctionFragment;
        "getPermit2(uint256)": FunctionFragment;
        "getTestnetChainIds()": FunctionFragment;
        "getUSDCAddress(uint256)": FunctionFragment;
        "getUSDCeAddress(uint256)": FunctionFragment;
        "getWETHAddress(uint256)": FunctionFragment;
        "getWghoAddress(uint256)": FunctionFragment;
        "getWmaticAddress(uint256)": FunctionFragment;
        "getWrappedNativeToken(uint256)": FunctionFragment;
        "hasCctpDomain(uint256)": FunctionFragment;
        "hasOftEid(uint256)": FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: "FILL_DEADLINE_BUFFER" | "IS_SCRIPT" | "QUOTE_TIME_BUFFER" | "file" | "getChainFamily" | "getChainId" | "getCircleDomainId" | "getL1Addresses" | "getL2Address" | "getOftEid" | "getOpStackAddresses" | "getPermit2" | "getTestnetChainIds" | "getUSDCAddress" | "getUSDCeAddress" | "getWETHAddress" | "getWghoAddress" | "getWmaticAddress" | "getWrappedNativeToken" | "hasCctpDomain" | "hasOftEid"): FunctionFragment;
    encodeFunctionData(functionFragment: "FILL_DEADLINE_BUFFER", values?: undefined): string;
    encodeFunctionData(functionFragment: "IS_SCRIPT", values?: undefined): string;
    encodeFunctionData(functionFragment: "QUOTE_TIME_BUFFER", values?: undefined): string;
    encodeFunctionData(functionFragment: "file", values?: undefined): string;
    encodeFunctionData(functionFragment: "getChainFamily", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "getChainId", values: [string]): string;
    encodeFunctionData(functionFragment: "getCircleDomainId", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "getL1Addresses", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "getL2Address", values: [BigNumberish, string]): string;
    encodeFunctionData(functionFragment: "getOftEid", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "getOpStackAddresses", values: [BigNumberish, BigNumberish]): string;
    encodeFunctionData(functionFragment: "getPermit2", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "getTestnetChainIds", values?: undefined): string;
    encodeFunctionData(functionFragment: "getUSDCAddress", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "getUSDCeAddress", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "getWETHAddress", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "getWghoAddress", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "getWmaticAddress", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "getWrappedNativeToken", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "hasCctpDomain", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "hasOftEid", values: [BigNumberish]): string;
    decodeFunctionResult(functionFragment: "FILL_DEADLINE_BUFFER", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "IS_SCRIPT", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "QUOTE_TIME_BUFFER", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "file", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getChainFamily", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getChainId", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getCircleDomainId", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getL1Addresses", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getL2Address", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getOftEid", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getOpStackAddresses", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getPermit2", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getTestnetChainIds", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getUSDCAddress", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getUSDCeAddress", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getWETHAddress", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getWghoAddress", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getWmaticAddress", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getWrappedNativeToken", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "hasCctpDomain", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "hasOftEid", data: BytesLike): Result;
    events: {};
}
export interface Constants extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: ConstantsInterface;
    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: {
        FILL_DEADLINE_BUFFER(overrides?: CallOverrides): Promise<[BigNumber]>;
        IS_SCRIPT(overrides?: CallOverrides): Promise<[boolean]>;
        QUOTE_TIME_BUFFER(overrides?: CallOverrides): Promise<[BigNumber]>;
        file(overrides?: CallOverrides): Promise<[string]>;
        getChainFamily(chainId: BigNumberish, overrides?: CallOverrides): Promise<[string]>;
        getChainId(chainName: string, overrides?: CallOverrides): Promise<[BigNumber]>;
        getCircleDomainId(chainId: BigNumberish, overrides?: CallOverrides): Promise<[number]>;
        getL1Addresses(chainId: BigNumberish, overrides?: CallOverrides): Promise<[Constants.L1AddressesStructOutput]>;
        getL2Address(chainId: BigNumberish, addressType: string, overrides?: CallOverrides): Promise<[string]>;
        getOftEid(chainId: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>;
        getOpStackAddresses(hubChainId: BigNumberish, spokeChainId: BigNumberish, overrides?: CallOverrides): Promise<[Constants.OpStackAddressesStructOutput]>;
        getPermit2(chainId: BigNumberish, overrides?: CallOverrides): Promise<[string]>;
        getTestnetChainIds(overrides?: CallOverrides): Promise<[BigNumber[]]>;
        getUSDCAddress(chainId: BigNumberish, overrides?: CallOverrides): Promise<[string]>;
        getUSDCeAddress(chainId: BigNumberish, overrides?: CallOverrides): Promise<[string]>;
        getWETHAddress(chainId: BigNumberish, overrides?: CallOverrides): Promise<[string]>;
        getWghoAddress(chainId: BigNumberish, overrides?: CallOverrides): Promise<[string]>;
        getWmaticAddress(chainId: BigNumberish, overrides?: CallOverrides): Promise<[string]>;
        getWrappedNativeToken(chainId: BigNumberish, overrides?: CallOverrides): Promise<[string]>;
        hasCctpDomain(chainId: BigNumberish, overrides?: CallOverrides): Promise<[boolean]>;
        hasOftEid(chainId: BigNumberish, overrides?: CallOverrides): Promise<[boolean]>;
    };
    FILL_DEADLINE_BUFFER(overrides?: CallOverrides): Promise<BigNumber>;
    IS_SCRIPT(overrides?: CallOverrides): Promise<boolean>;
    QUOTE_TIME_BUFFER(overrides?: CallOverrides): Promise<BigNumber>;
    file(overrides?: CallOverrides): Promise<string>;
    getChainFamily(chainId: BigNumberish, overrides?: CallOverrides): Promise<string>;
    getChainId(chainName: string, overrides?: CallOverrides): Promise<BigNumber>;
    getCircleDomainId(chainId: BigNumberish, overrides?: CallOverrides): Promise<number>;
    getL1Addresses(chainId: BigNumberish, overrides?: CallOverrides): Promise<Constants.L1AddressesStructOutput>;
    getL2Address(chainId: BigNumberish, addressType: string, overrides?: CallOverrides): Promise<string>;
    getOftEid(chainId: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
    getOpStackAddresses(hubChainId: BigNumberish, spokeChainId: BigNumberish, overrides?: CallOverrides): Promise<Constants.OpStackAddressesStructOutput>;
    getPermit2(chainId: BigNumberish, overrides?: CallOverrides): Promise<string>;
    getTestnetChainIds(overrides?: CallOverrides): Promise<BigNumber[]>;
    getUSDCAddress(chainId: BigNumberish, overrides?: CallOverrides): Promise<string>;
    getUSDCeAddress(chainId: BigNumberish, overrides?: CallOverrides): Promise<string>;
    getWETHAddress(chainId: BigNumberish, overrides?: CallOverrides): Promise<string>;
    getWghoAddress(chainId: BigNumberish, overrides?: CallOverrides): Promise<string>;
    getWmaticAddress(chainId: BigNumberish, overrides?: CallOverrides): Promise<string>;
    getWrappedNativeToken(chainId: BigNumberish, overrides?: CallOverrides): Promise<string>;
    hasCctpDomain(chainId: BigNumberish, overrides?: CallOverrides): Promise<boolean>;
    hasOftEid(chainId: BigNumberish, overrides?: CallOverrides): Promise<boolean>;
    callStatic: {
        FILL_DEADLINE_BUFFER(overrides?: CallOverrides): Promise<BigNumber>;
        IS_SCRIPT(overrides?: CallOverrides): Promise<boolean>;
        QUOTE_TIME_BUFFER(overrides?: CallOverrides): Promise<BigNumber>;
        file(overrides?: CallOverrides): Promise<string>;
        getChainFamily(chainId: BigNumberish, overrides?: CallOverrides): Promise<string>;
        getChainId(chainName: string, overrides?: CallOverrides): Promise<BigNumber>;
        getCircleDomainId(chainId: BigNumberish, overrides?: CallOverrides): Promise<number>;
        getL1Addresses(chainId: BigNumberish, overrides?: CallOverrides): Promise<Constants.L1AddressesStructOutput>;
        getL2Address(chainId: BigNumberish, addressType: string, overrides?: CallOverrides): Promise<string>;
        getOftEid(chainId: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        getOpStackAddresses(hubChainId: BigNumberish, spokeChainId: BigNumberish, overrides?: CallOverrides): Promise<Constants.OpStackAddressesStructOutput>;
        getPermit2(chainId: BigNumberish, overrides?: CallOverrides): Promise<string>;
        getTestnetChainIds(overrides?: CallOverrides): Promise<BigNumber[]>;
        getUSDCAddress(chainId: BigNumberish, overrides?: CallOverrides): Promise<string>;
        getUSDCeAddress(chainId: BigNumberish, overrides?: CallOverrides): Promise<string>;
        getWETHAddress(chainId: BigNumberish, overrides?: CallOverrides): Promise<string>;
        getWghoAddress(chainId: BigNumberish, overrides?: CallOverrides): Promise<string>;
        getWmaticAddress(chainId: BigNumberish, overrides?: CallOverrides): Promise<string>;
        getWrappedNativeToken(chainId: BigNumberish, overrides?: CallOverrides): Promise<string>;
        hasCctpDomain(chainId: BigNumberish, overrides?: CallOverrides): Promise<boolean>;
        hasOftEid(chainId: BigNumberish, overrides?: CallOverrides): Promise<boolean>;
    };
    filters: {};
    estimateGas: {
        FILL_DEADLINE_BUFFER(overrides?: CallOverrides): Promise<BigNumber>;
        IS_SCRIPT(overrides?: CallOverrides): Promise<BigNumber>;
        QUOTE_TIME_BUFFER(overrides?: CallOverrides): Promise<BigNumber>;
        file(overrides?: CallOverrides): Promise<BigNumber>;
        getChainFamily(chainId: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        getChainId(chainName: string, overrides?: CallOverrides): Promise<BigNumber>;
        getCircleDomainId(chainId: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        getL1Addresses(chainId: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        getL2Address(chainId: BigNumberish, addressType: string, overrides?: CallOverrides): Promise<BigNumber>;
        getOftEid(chainId: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        getOpStackAddresses(hubChainId: BigNumberish, spokeChainId: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        getPermit2(chainId: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        getTestnetChainIds(overrides?: CallOverrides): Promise<BigNumber>;
        getUSDCAddress(chainId: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        getUSDCeAddress(chainId: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        getWETHAddress(chainId: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        getWghoAddress(chainId: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        getWmaticAddress(chainId: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        getWrappedNativeToken(chainId: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        hasCctpDomain(chainId: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        hasOftEid(chainId: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
    };
    populateTransaction: {
        FILL_DEADLINE_BUFFER(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        IS_SCRIPT(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        QUOTE_TIME_BUFFER(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        file(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getChainFamily(chainId: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getChainId(chainName: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getCircleDomainId(chainId: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getL1Addresses(chainId: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getL2Address(chainId: BigNumberish, addressType: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getOftEid(chainId: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getOpStackAddresses(hubChainId: BigNumberish, spokeChainId: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getPermit2(chainId: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getTestnetChainIds(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getUSDCAddress(chainId: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getUSDCeAddress(chainId: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getWETHAddress(chainId: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getWghoAddress(chainId: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getWmaticAddress(chainId: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getWrappedNativeToken(chainId: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        hasCctpDomain(chainId: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        hasOftEid(chainId: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
    };
}
