import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, 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, PromiseOrValue } from "../../common";
export declare namespace IERC1155M {
    type MintStageInfoStruct = {
        price: PromiseOrValue<BigNumberish>[];
        mintFee: PromiseOrValue<BigNumberish>[];
        walletLimit: PromiseOrValue<BigNumberish>[];
        merkleRoot: PromiseOrValue<BytesLike>[];
        maxStageSupply: PromiseOrValue<BigNumberish>[];
        startTimeUnixSeconds: PromiseOrValue<BigNumberish>;
        endTimeUnixSeconds: PromiseOrValue<BigNumberish>;
    };
    type MintStageInfoStructOutput = [
        BigNumber[],
        BigNumber[],
        number[],
        string[],
        number[],
        BigNumber,
        BigNumber
    ] & {
        price: BigNumber[];
        mintFee: BigNumber[];
        walletLimit: number[];
        merkleRoot: string[];
        maxStageSupply: number[];
        startTimeUnixSeconds: BigNumber;
        endTimeUnixSeconds: BigNumber;
    };
}
export interface IERC1155MInterface extends utils.Interface {
    functions: {
        "authorizedMint(address,uint256,uint32,uint32,bytes32[])": FunctionFragment;
        "getCosignNonce(address,uint256)": FunctionFragment;
        "getGlobalWalletLimit(uint256)": FunctionFragment;
        "getMaxMintableSupply(uint256)": FunctionFragment;
        "getNumberStages()": FunctionFragment;
        "getStageInfo(uint256)": FunctionFragment;
        "mint(uint256,uint32,bytes32[],uint64,bytes)": FunctionFragment;
        "mintWithLimit(uint256,uint32,uint32,bytes32[],uint64,bytes)": FunctionFragment;
        "totalMintedByAddress(address)": FunctionFragment;
        "totalSupply()": FunctionFragment;
        "totalSupply(uint256)": FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: "authorizedMint" | "getCosignNonce" | "getGlobalWalletLimit" | "getMaxMintableSupply" | "getNumberStages" | "getStageInfo" | "mint" | "mintWithLimit" | "totalMintedByAddress" | "totalSupply()" | "totalSupply(uint256)"): FunctionFragment;
    encodeFunctionData(functionFragment: "authorizedMint", values: [
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BytesLike>[]
    ]): string;
    encodeFunctionData(functionFragment: "getCosignNonce", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "getGlobalWalletLimit", values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "getMaxMintableSupply", values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "getNumberStages", values?: undefined): string;
    encodeFunctionData(functionFragment: "getStageInfo", values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "mint", values: [
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BytesLike>[],
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BytesLike>
    ]): string;
    encodeFunctionData(functionFragment: "mintWithLimit", values: [
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BytesLike>[],
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BytesLike>
    ]): string;
    encodeFunctionData(functionFragment: "totalMintedByAddress", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "totalSupply()", values?: undefined): string;
    encodeFunctionData(functionFragment: "totalSupply(uint256)", values: [PromiseOrValue<BigNumberish>]): string;
    decodeFunctionResult(functionFragment: "authorizedMint", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getCosignNonce", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getGlobalWalletLimit", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getMaxMintableSupply", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getNumberStages", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getStageInfo", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "mintWithLimit", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "totalMintedByAddress", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "totalSupply()", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "totalSupply(uint256)", data: BytesLike): Result;
    events: {
        "DefaultRoyaltySet(address,uint96)": EventFragment;
        "SetCosigner(address)": EventFragment;
        "SetGlobalWalletLimit(uint256,uint256)": EventFragment;
        "SetMaxMintableSupply(uint256,uint256)": EventFragment;
        "SetTransferable(bool)": EventFragment;
        "TokenRoyaltySet(uint256,address,uint96)": EventFragment;
        "UpdateStage(uint256,uint80[],uint80[],uint32[],bytes32[],uint24[],uint64,uint64)": EventFragment;
        "Withdraw(uint256)": EventFragment;
        "WithdrawERC20(address,uint256)": EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: "DefaultRoyaltySet"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "SetCosigner"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "SetGlobalWalletLimit"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "SetMaxMintableSupply"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "SetTransferable"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "TokenRoyaltySet"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "UpdateStage"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "Withdraw"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "WithdrawERC20"): EventFragment;
}
export interface DefaultRoyaltySetEventObject {
    receiver: string;
    feeNumerator: BigNumber;
}
export declare type DefaultRoyaltySetEvent = TypedEvent<[
    string,
    BigNumber
], DefaultRoyaltySetEventObject>;
export declare type DefaultRoyaltySetEventFilter = TypedEventFilter<DefaultRoyaltySetEvent>;
export interface SetCosignerEventObject {
    cosigner: string;
}
export declare type SetCosignerEvent = TypedEvent<[string], SetCosignerEventObject>;
export declare type SetCosignerEventFilter = TypedEventFilter<SetCosignerEvent>;
export interface SetGlobalWalletLimitEventObject {
    tokenId: BigNumber;
    globalWalletLimit: BigNumber;
}
export declare type SetGlobalWalletLimitEvent = TypedEvent<[
    BigNumber,
    BigNumber
], SetGlobalWalletLimitEventObject>;
export declare type SetGlobalWalletLimitEventFilter = TypedEventFilter<SetGlobalWalletLimitEvent>;
export interface SetMaxMintableSupplyEventObject {
    tokenId: BigNumber;
    maxMintableSupply: BigNumber;
}
export declare type SetMaxMintableSupplyEvent = TypedEvent<[
    BigNumber,
    BigNumber
], SetMaxMintableSupplyEventObject>;
export declare type SetMaxMintableSupplyEventFilter = TypedEventFilter<SetMaxMintableSupplyEvent>;
export interface SetTransferableEventObject {
    transferable: boolean;
}
export declare type SetTransferableEvent = TypedEvent<[
    boolean
], SetTransferableEventObject>;
export declare type SetTransferableEventFilter = TypedEventFilter<SetTransferableEvent>;
export interface TokenRoyaltySetEventObject {
    tokenId: BigNumber;
    receiver: string;
    feeNumerator: BigNumber;
}
export declare type TokenRoyaltySetEvent = TypedEvent<[
    BigNumber,
    string,
    BigNumber
], TokenRoyaltySetEventObject>;
export declare type TokenRoyaltySetEventFilter = TypedEventFilter<TokenRoyaltySetEvent>;
export interface UpdateStageEventObject {
    stage: BigNumber;
    price: BigNumber[];
    mintFee: BigNumber[];
    walletLimit: number[];
    merkleRoot: string[];
    maxStageSupply: number[];
    startTimeUnixSeconds: BigNumber;
    endTimeUnixSeconds: BigNumber;
}
export declare type UpdateStageEvent = TypedEvent<[
    BigNumber,
    BigNumber[],
    BigNumber[],
    number[],
    string[],
    number[],
    BigNumber,
    BigNumber
], UpdateStageEventObject>;
export declare type UpdateStageEventFilter = TypedEventFilter<UpdateStageEvent>;
export interface WithdrawEventObject {
    value: BigNumber;
}
export declare type WithdrawEvent = TypedEvent<[BigNumber], WithdrawEventObject>;
export declare type WithdrawEventFilter = TypedEventFilter<WithdrawEvent>;
export interface WithdrawERC20EventObject {
    mintCurrency: string;
    value: BigNumber;
}
export declare type WithdrawERC20Event = TypedEvent<[
    string,
    BigNumber
], WithdrawERC20EventObject>;
export declare type WithdrawERC20EventFilter = TypedEventFilter<WithdrawERC20Event>;
export interface IERC1155M extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: IERC1155MInterface;
    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: {
        authorizedMint(to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, qty: PromiseOrValue<BigNumberish>, limit: PromiseOrValue<BigNumberish>, proof: PromiseOrValue<BytesLike>[], overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        getCosignNonce(minter: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        getGlobalWalletLimit(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        getMaxMintableSupply(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        getNumberStages(overrides?: CallOverrides): Promise<[BigNumber]>;
        getStageInfo(stage: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IERC1155M.MintStageInfoStructOutput, BigNumber[], BigNumber[]]>;
        mint(tokenId: PromiseOrValue<BigNumberish>, qty: PromiseOrValue<BigNumberish>, proof: PromiseOrValue<BytesLike>[], timestamp: PromiseOrValue<BigNumberish>, signature: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        mintWithLimit(tokenId: PromiseOrValue<BigNumberish>, qty: PromiseOrValue<BigNumberish>, limit: PromiseOrValue<BigNumberish>, proof: PromiseOrValue<BytesLike>[], timestamp: PromiseOrValue<BigNumberish>, signature: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        totalMintedByAddress(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber[]]>;
        "totalSupply()"(overrides?: CallOverrides): Promise<[BigNumber]>;
        "totalSupply(uint256)"(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
    };
    authorizedMint(to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, qty: PromiseOrValue<BigNumberish>, limit: PromiseOrValue<BigNumberish>, proof: PromiseOrValue<BytesLike>[], overrides?: PayableOverrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    getCosignNonce(minter: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    getGlobalWalletLimit(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    getMaxMintableSupply(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    getNumberStages(overrides?: CallOverrides): Promise<BigNumber>;
    getStageInfo(stage: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IERC1155M.MintStageInfoStructOutput, BigNumber[], BigNumber[]]>;
    mint(tokenId: PromiseOrValue<BigNumberish>, qty: PromiseOrValue<BigNumberish>, proof: PromiseOrValue<BytesLike>[], timestamp: PromiseOrValue<BigNumberish>, signature: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    mintWithLimit(tokenId: PromiseOrValue<BigNumberish>, qty: PromiseOrValue<BigNumberish>, limit: PromiseOrValue<BigNumberish>, proof: PromiseOrValue<BytesLike>[], timestamp: PromiseOrValue<BigNumberish>, signature: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    totalMintedByAddress(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber[]>;
    "totalSupply()"(overrides?: CallOverrides): Promise<BigNumber>;
    "totalSupply(uint256)"(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    callStatic: {
        authorizedMint(to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, qty: PromiseOrValue<BigNumberish>, limit: PromiseOrValue<BigNumberish>, proof: PromiseOrValue<BytesLike>[], overrides?: CallOverrides): Promise<void>;
        getCosignNonce(minter: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getGlobalWalletLimit(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getMaxMintableSupply(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getNumberStages(overrides?: CallOverrides): Promise<BigNumber>;
        getStageInfo(stage: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IERC1155M.MintStageInfoStructOutput, BigNumber[], BigNumber[]]>;
        mint(tokenId: PromiseOrValue<BigNumberish>, qty: PromiseOrValue<BigNumberish>, proof: PromiseOrValue<BytesLike>[], timestamp: PromiseOrValue<BigNumberish>, signature: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
        mintWithLimit(tokenId: PromiseOrValue<BigNumberish>, qty: PromiseOrValue<BigNumberish>, limit: PromiseOrValue<BigNumberish>, proof: PromiseOrValue<BytesLike>[], timestamp: PromiseOrValue<BigNumberish>, signature: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
        totalMintedByAddress(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber[]>;
        "totalSupply()"(overrides?: CallOverrides): Promise<BigNumber>;
        "totalSupply(uint256)"(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    };
    filters: {
        "DefaultRoyaltySet(address,uint96)"(receiver?: null, feeNumerator?: null): DefaultRoyaltySetEventFilter;
        DefaultRoyaltySet(receiver?: null, feeNumerator?: null): DefaultRoyaltySetEventFilter;
        "SetCosigner(address)"(cosigner?: null): SetCosignerEventFilter;
        SetCosigner(cosigner?: null): SetCosignerEventFilter;
        "SetGlobalWalletLimit(uint256,uint256)"(tokenId?: PromiseOrValue<BigNumberish> | null, globalWalletLimit?: null): SetGlobalWalletLimitEventFilter;
        SetGlobalWalletLimit(tokenId?: PromiseOrValue<BigNumberish> | null, globalWalletLimit?: null): SetGlobalWalletLimitEventFilter;
        "SetMaxMintableSupply(uint256,uint256)"(tokenId?: PromiseOrValue<BigNumberish> | null, maxMintableSupply?: null): SetMaxMintableSupplyEventFilter;
        SetMaxMintableSupply(tokenId?: PromiseOrValue<BigNumberish> | null, maxMintableSupply?: null): SetMaxMintableSupplyEventFilter;
        "SetTransferable(bool)"(transferable?: null): SetTransferableEventFilter;
        SetTransferable(transferable?: null): SetTransferableEventFilter;
        "TokenRoyaltySet(uint256,address,uint96)"(tokenId?: PromiseOrValue<BigNumberish> | null, receiver?: null, feeNumerator?: null): TokenRoyaltySetEventFilter;
        TokenRoyaltySet(tokenId?: PromiseOrValue<BigNumberish> | null, receiver?: null, feeNumerator?: null): TokenRoyaltySetEventFilter;
        "UpdateStage(uint256,uint80[],uint80[],uint32[],bytes32[],uint24[],uint64,uint64)"(stage?: PromiseOrValue<BigNumberish> | null, price?: null, mintFee?: null, walletLimit?: null, merkleRoot?: null, maxStageSupply?: null, startTimeUnixSeconds?: null, endTimeUnixSeconds?: null): UpdateStageEventFilter;
        UpdateStage(stage?: PromiseOrValue<BigNumberish> | null, price?: null, mintFee?: null, walletLimit?: null, merkleRoot?: null, maxStageSupply?: null, startTimeUnixSeconds?: null, endTimeUnixSeconds?: null): UpdateStageEventFilter;
        "Withdraw(uint256)"(value?: null): WithdrawEventFilter;
        Withdraw(value?: null): WithdrawEventFilter;
        "WithdrawERC20(address,uint256)"(mintCurrency?: PromiseOrValue<string> | null, value?: null): WithdrawERC20EventFilter;
        WithdrawERC20(mintCurrency?: PromiseOrValue<string> | null, value?: null): WithdrawERC20EventFilter;
    };
    estimateGas: {
        authorizedMint(to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, qty: PromiseOrValue<BigNumberish>, limit: PromiseOrValue<BigNumberish>, proof: PromiseOrValue<BytesLike>[], overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        getCosignNonce(minter: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getGlobalWalletLimit(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getMaxMintableSupply(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getNumberStages(overrides?: CallOverrides): Promise<BigNumber>;
        getStageInfo(stage: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        mint(tokenId: PromiseOrValue<BigNumberish>, qty: PromiseOrValue<BigNumberish>, proof: PromiseOrValue<BytesLike>[], timestamp: PromiseOrValue<BigNumberish>, signature: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        mintWithLimit(tokenId: PromiseOrValue<BigNumberish>, qty: PromiseOrValue<BigNumberish>, limit: PromiseOrValue<BigNumberish>, proof: PromiseOrValue<BytesLike>[], timestamp: PromiseOrValue<BigNumberish>, signature: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        totalMintedByAddress(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        "totalSupply()"(overrides?: CallOverrides): Promise<BigNumber>;
        "totalSupply(uint256)"(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    };
    populateTransaction: {
        authorizedMint(to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, qty: PromiseOrValue<BigNumberish>, limit: PromiseOrValue<BigNumberish>, proof: PromiseOrValue<BytesLike>[], overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        getCosignNonce(minter: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getGlobalWalletLimit(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getMaxMintableSupply(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getNumberStages(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getStageInfo(stage: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        mint(tokenId: PromiseOrValue<BigNumberish>, qty: PromiseOrValue<BigNumberish>, proof: PromiseOrValue<BytesLike>[], timestamp: PromiseOrValue<BigNumberish>, signature: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        mintWithLimit(tokenId: PromiseOrValue<BigNumberish>, qty: PromiseOrValue<BigNumberish>, limit: PromiseOrValue<BigNumberish>, proof: PromiseOrValue<BytesLike>[], timestamp: PromiseOrValue<BigNumberish>, signature: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        totalMintedByAddress(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        "totalSupply()"(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        "totalSupply(uint256)"(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
    };
}
