import { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, PopulatedTransaction, Signer, utils } from "ethers";
import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
import { Listener, Provider } from "@ethersproject/providers";
import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common";
export declare type ListingStruct = {
    listingId: BigNumberish;
    tokenOwner: string;
    assetContract: string;
    tokenId: BigNumberish;
    startTime: BigNumberish;
    endTime: BigNumberish;
    quantity: BigNumberish;
    currency: string;
    reservePricePerToken: BigNumberish;
    buyoutPricePerToken: BigNumberish;
    tokenType: BigNumberish;
    listingType: BigNumberish;
};
export declare type ListingStructOutput = [
    BigNumber,
    string,
    string,
    BigNumber,
    BigNumber,
    BigNumber,
    BigNumber,
    string,
    BigNumber,
    BigNumber,
    number,
    number
] & {
    listingId: BigNumber;
    tokenOwner: string;
    assetContract: string;
    tokenId: BigNumber;
    startTime: BigNumber;
    endTime: BigNumber;
    quantity: BigNumber;
    currency: string;
    reservePricePerToken: BigNumber;
    buyoutPricePerToken: BigNumber;
    tokenType: number;
    listingType: number;
};
export declare type ListingParametersStruct = {
    assetContract: string;
    tokenId: BigNumberish;
    startTime: BigNumberish;
    secondsUntilEndTime: BigNumberish;
    quantityToList: BigNumberish;
    currencyToAccept: string;
    reservePricePerToken: BigNumberish;
    buyoutPricePerToken: BigNumberish;
    listingType: BigNumberish;
};
export declare type ListingParametersStructOutput = [
    string,
    BigNumber,
    BigNumber,
    BigNumber,
    BigNumber,
    string,
    BigNumber,
    BigNumber,
    number
] & {
    assetContract: string;
    tokenId: BigNumber;
    startTime: BigNumber;
    secondsUntilEndTime: BigNumber;
    quantityToList: BigNumber;
    currencyToAccept: string;
    reservePricePerToken: BigNumber;
    buyoutPricePerToken: BigNumber;
    listingType: number;
};
export interface MarketplaceInterface extends utils.Interface {
    functions: {
        "DEFAULT_ADMIN_ROLE()": FunctionFragment;
        "LISTER_ROLE()": FunctionFragment;
        "MAX_BPS()": FunctionFragment;
        "NATIVE_TOKEN()": FunctionFragment;
        "VERSION()": FunctionFragment;
        "acceptOffer(uint256,address)": FunctionFragment;
        "bidBufferBps()": FunctionFragment;
        "buy(uint256,uint256,address,uint256)": FunctionFragment;
        "closeAuction(uint256,address)": FunctionFragment;
        "contractURI()": FunctionFragment;
        "createListing((address,uint256,uint256,uint256,uint256,address,uint256,uint256,uint8))": FunctionFragment;
        "getRoleAdmin(bytes32)": FunctionFragment;
        "getRoleMember(bytes32,uint256)": FunctionFragment;
        "getRoleMemberCount(bytes32)": FunctionFragment;
        "grantRole(bytes32,address)": FunctionFragment;
        "hasRole(bytes32,address)": FunctionFragment;
        "isTrustedForwarder(address)": FunctionFragment;
        "listings(uint256)": FunctionFragment;
        "marketFeeBps()": FunctionFragment;
        "multicall(bytes[])": FunctionFragment;
        "nativeTokenWrapper()": FunctionFragment;
        "offer(uint256,uint256,address,uint256)": FunctionFragment;
        "offers(uint256,address)": FunctionFragment;
        "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": FunctionFragment;
        "onERC1155Received(address,address,uint256,uint256,bytes)": FunctionFragment;
        "onERC721Received(address,address,uint256,bytes)": FunctionFragment;
        "renounceRole(bytes32,address)": FunctionFragment;
        "restrictedListerRoleOnly()": FunctionFragment;
        "revokeRole(bytes32,address)": FunctionFragment;
        "setAuctionBuffers(uint256,uint256)": FunctionFragment;
        "setContractURI(string)": FunctionFragment;
        "setMarketFeeBps(uint256)": FunctionFragment;
        "setRestrictedListerRoleOnly(bool)": FunctionFragment;
        "supportsInterface(bytes4)": FunctionFragment;
        "timeBuffer()": FunctionFragment;
        "totalListings()": FunctionFragment;
        "updateListing(uint256,uint256,uint256,uint256,address,uint256,uint256)": FunctionFragment;
        "winningBid(uint256)": FunctionFragment;
    };
    encodeFunctionData(functionFragment: "DEFAULT_ADMIN_ROLE", values?: undefined): string;
    encodeFunctionData(functionFragment: "LISTER_ROLE", values?: undefined): string;
    encodeFunctionData(functionFragment: "MAX_BPS", values?: undefined): string;
    encodeFunctionData(functionFragment: "NATIVE_TOKEN", values?: undefined): string;
    encodeFunctionData(functionFragment: "VERSION", values?: undefined): string;
    encodeFunctionData(functionFragment: "acceptOffer", values: [BigNumberish, string]): string;
    encodeFunctionData(functionFragment: "bidBufferBps", values?: undefined): string;
    encodeFunctionData(functionFragment: "buy", values: [BigNumberish, BigNumberish, string, BigNumberish]): string;
    encodeFunctionData(functionFragment: "closeAuction", values: [BigNumberish, string]): string;
    encodeFunctionData(functionFragment: "contractURI", values?: undefined): string;
    encodeFunctionData(functionFragment: "createListing", values: [ListingParametersStruct]): string;
    encodeFunctionData(functionFragment: "getRoleAdmin", values: [BytesLike]): string;
    encodeFunctionData(functionFragment: "getRoleMember", values: [BytesLike, BigNumberish]): string;
    encodeFunctionData(functionFragment: "getRoleMemberCount", values: [BytesLike]): string;
    encodeFunctionData(functionFragment: "grantRole", values: [BytesLike, string]): string;
    encodeFunctionData(functionFragment: "hasRole", values: [BytesLike, string]): string;
    encodeFunctionData(functionFragment: "isTrustedForwarder", values: [string]): string;
    encodeFunctionData(functionFragment: "listings", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "marketFeeBps", values?: undefined): string;
    encodeFunctionData(functionFragment: "multicall", values: [BytesLike[]]): string;
    encodeFunctionData(functionFragment: "nativeTokenWrapper", values?: undefined): string;
    encodeFunctionData(functionFragment: "offer", values: [BigNumberish, BigNumberish, string, BigNumberish]): string;
    encodeFunctionData(functionFragment: "offers", values: [BigNumberish, string]): string;
    encodeFunctionData(functionFragment: "onERC1155BatchReceived", values: [string, string, BigNumberish[], BigNumberish[], BytesLike]): string;
    encodeFunctionData(functionFragment: "onERC1155Received", values: [string, string, BigNumberish, BigNumberish, BytesLike]): string;
    encodeFunctionData(functionFragment: "onERC721Received", values: [string, string, BigNumberish, BytesLike]): string;
    encodeFunctionData(functionFragment: "renounceRole", values: [BytesLike, string]): string;
    encodeFunctionData(functionFragment: "restrictedListerRoleOnly", values?: undefined): string;
    encodeFunctionData(functionFragment: "revokeRole", values: [BytesLike, string]): string;
    encodeFunctionData(functionFragment: "setAuctionBuffers", values: [BigNumberish, BigNumberish]): string;
    encodeFunctionData(functionFragment: "setContractURI", values: [string]): string;
    encodeFunctionData(functionFragment: "setMarketFeeBps", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "setRestrictedListerRoleOnly", values: [boolean]): string;
    encodeFunctionData(functionFragment: "supportsInterface", values: [BytesLike]): string;
    encodeFunctionData(functionFragment: "timeBuffer", values?: undefined): string;
    encodeFunctionData(functionFragment: "totalListings", values?: undefined): string;
    encodeFunctionData(functionFragment: "updateListing", values: [
        BigNumberish,
        BigNumberish,
        BigNumberish,
        BigNumberish,
        string,
        BigNumberish,
        BigNumberish
    ]): string;
    encodeFunctionData(functionFragment: "winningBid", values: [BigNumberish]): string;
    decodeFunctionResult(functionFragment: "DEFAULT_ADMIN_ROLE", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "LISTER_ROLE", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "MAX_BPS", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "NATIVE_TOKEN", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "VERSION", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "acceptOffer", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "bidBufferBps", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "buy", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "closeAuction", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "contractURI", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "createListing", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getRoleAdmin", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getRoleMember", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getRoleMemberCount", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "isTrustedForwarder", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "listings", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "marketFeeBps", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "nativeTokenWrapper", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "offer", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "offers", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "onERC1155BatchReceived", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "onERC1155Received", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "onERC721Received", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "renounceRole", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "restrictedListerRoleOnly", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setAuctionBuffers", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setContractURI", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setMarketFeeBps", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setRestrictedListerRoleOnly", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "timeBuffer", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "totalListings", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "updateListing", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "winningBid", data: BytesLike): Result;
    events: {
        "AuctionBuffersUpdated(uint256,uint256)": EventFragment;
        "AuctionClosed(uint256,address,bool,address,address)": EventFragment;
        "ListingRestricted(bool)": EventFragment;
        "ListingUpdate(uint256,address)": EventFragment;
        "MarketFeeUpdate(uint64)": EventFragment;
        "NewListing(uint256,address,address,tuple)": EventFragment;
        "NewOffer(uint256,address,uint8,uint256,uint256,address)": EventFragment;
        "NewSale(uint256,address,address,address,uint256,uint256)": EventFragment;
        "RoleAdminChanged(bytes32,bytes32,bytes32)": EventFragment;
        "RoleGranted(bytes32,address,address)": EventFragment;
        "RoleRevoked(bytes32,address,address)": EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: "AuctionBuffersUpdated"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "AuctionClosed"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "ListingRestricted"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "ListingUpdate"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "MarketFeeUpdate"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "NewListing"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "NewOffer"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "NewSale"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "RoleAdminChanged"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "RoleGranted"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "RoleRevoked"): EventFragment;
}
export declare type AuctionBuffersUpdatedEvent = TypedEvent<[
    BigNumber,
    BigNumber
], {
    timeBuffer: BigNumber;
    bidBufferBps: BigNumber;
}>;
export declare type AuctionBuffersUpdatedEventFilter = TypedEventFilter<AuctionBuffersUpdatedEvent>;
export declare type AuctionClosedEvent = TypedEvent<[
    BigNumber,
    string,
    boolean,
    string,
    string
], {
    listingId: BigNumber;
    closer: string;
    cancelled: boolean;
    auctionCreator: string;
    winningBidder: string;
}>;
export declare type AuctionClosedEventFilter = TypedEventFilter<AuctionClosedEvent>;
export declare type ListingRestrictedEvent = TypedEvent<[
    boolean
], {
    restricted: boolean;
}>;
export declare type ListingRestrictedEventFilter = TypedEventFilter<ListingRestrictedEvent>;
export declare type ListingUpdateEvent = TypedEvent<[
    BigNumber,
    string
], {
    listingId: BigNumber;
    listingCreator: string;
}>;
export declare type ListingUpdateEventFilter = TypedEventFilter<ListingUpdateEvent>;
export declare type MarketFeeUpdateEvent = TypedEvent<[
    BigNumber
], {
    newFee: BigNumber;
}>;
export declare type MarketFeeUpdateEventFilter = TypedEventFilter<MarketFeeUpdateEvent>;
export declare type NewListingEvent = TypedEvent<[
    BigNumber,
    string,
    string,
    ListingStructOutput
], {
    listingId: BigNumber;
    assetContract: string;
    lister: string;
    listing: ListingStructOutput;
}>;
export declare type NewListingEventFilter = TypedEventFilter<NewListingEvent>;
export declare type NewOfferEvent = TypedEvent<[
    BigNumber,
    string,
    number,
    BigNumber,
    BigNumber,
    string
], {
    listingId: BigNumber;
    offeror: string;
    listingType: number;
    quantityWanted: BigNumber;
    totalOfferAmount: BigNumber;
    currency: string;
}>;
export declare type NewOfferEventFilter = TypedEventFilter<NewOfferEvent>;
export declare type NewSaleEvent = TypedEvent<[
    BigNumber,
    string,
    string,
    string,
    BigNumber,
    BigNumber
], {
    listingId: BigNumber;
    assetContract: string;
    lister: string;
    buyer: string;
    quantityBought: BigNumber;
    totalPricePaid: BigNumber;
}>;
export declare type NewSaleEventFilter = TypedEventFilter<NewSaleEvent>;
export declare type RoleAdminChangedEvent = TypedEvent<[
    string,
    string,
    string
], {
    role: string;
    previousAdminRole: string;
    newAdminRole: string;
}>;
export declare type RoleAdminChangedEventFilter = TypedEventFilter<RoleAdminChangedEvent>;
export declare type RoleGrantedEvent = TypedEvent<[
    string,
    string,
    string
], {
    role: string;
    account: string;
    sender: string;
}>;
export declare type RoleGrantedEventFilter = TypedEventFilter<RoleGrantedEvent>;
export declare type RoleRevokedEvent = TypedEvent<[
    string,
    string,
    string
], {
    role: string;
    account: string;
    sender: string;
}>;
export declare type RoleRevokedEventFilter = TypedEventFilter<RoleRevokedEvent>;
export interface Marketplace extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: MarketplaceInterface;
    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: {
        DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<[string]>;
        LISTER_ROLE(overrides?: CallOverrides): Promise<[string]>;
        MAX_BPS(overrides?: CallOverrides): Promise<[BigNumber]>;
        NATIVE_TOKEN(overrides?: CallOverrides): Promise<[string]>;
        VERSION(overrides?: CallOverrides): Promise<[BigNumber]>;
        acceptOffer(_listingId: BigNumberish, offeror: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        bidBufferBps(overrides?: CallOverrides): Promise<[BigNumber]>;
        buy(_listingId: BigNumberish, _quantityToBuy: BigNumberish, _currency: string, _totalPrice: BigNumberish, overrides?: PayableOverrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        closeAuction(_listingId: BigNumberish, _closeFor: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        contractURI(overrides?: CallOverrides): Promise<[string]>;
        createListing(_params: ListingParametersStruct, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<[string]>;
        getRoleMember(role: BytesLike, index: BigNumberish, overrides?: CallOverrides): Promise<[string]>;
        getRoleMemberCount(role: BytesLike, overrides?: CallOverrides): Promise<[BigNumber]>;
        grantRole(role: BytesLike, account: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<[boolean]>;
        isTrustedForwarder(forwarder: string, overrides?: CallOverrides): Promise<[boolean]>;
        listings(arg0: BigNumberish, overrides?: CallOverrides): Promise<[
            BigNumber,
            string,
            string,
            BigNumber,
            BigNumber,
            BigNumber,
            BigNumber,
            string,
            BigNumber,
            BigNumber,
            number,
            number
        ] & {
            listingId: BigNumber;
            tokenOwner: string;
            assetContract: string;
            tokenId: BigNumber;
            startTime: BigNumber;
            endTime: BigNumber;
            quantity: BigNumber;
            currency: string;
            reservePricePerToken: BigNumber;
            buyoutPricePerToken: BigNumber;
            tokenType: number;
            listingType: number;
        }>;
        marketFeeBps(overrides?: CallOverrides): Promise<[BigNumber]>;
        multicall(data: BytesLike[], overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        nativeTokenWrapper(overrides?: CallOverrides): Promise<[string]>;
        offer(_listingId: BigNumberish, _quantityWanted: BigNumberish, _currency: string, _pricePerToken: BigNumberish, overrides?: PayableOverrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        offers(arg0: BigNumberish, arg1: string, overrides?: CallOverrides): Promise<[
            BigNumber,
            string,
            BigNumber,
            string,
            BigNumber
        ] & {
            listingId: BigNumber;
            offeror: string;
            quantityWanted: BigNumber;
            currency: string;
            pricePerToken: BigNumber;
        }>;
        onERC1155BatchReceived(arg0: string, arg1: string, arg2: BigNumberish[], arg3: BigNumberish[], arg4: BytesLike, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        onERC1155Received(arg0: string, arg1: string, arg2: BigNumberish, arg3: BigNumberish, arg4: BytesLike, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        onERC721Received(arg0: string, arg1: string, arg2: BigNumberish, arg3: BytesLike, overrides?: CallOverrides): Promise<[string]>;
        renounceRole(role: BytesLike, account: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        restrictedListerRoleOnly(overrides?: CallOverrides): Promise<[boolean]>;
        revokeRole(role: BytesLike, account: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        setAuctionBuffers(_timeBuffer: BigNumberish, _bidBufferBps: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        setContractURI(_uri: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        setMarketFeeBps(_feeBps: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        setRestrictedListerRoleOnly(restricted: boolean, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<[boolean]>;
        timeBuffer(overrides?: CallOverrides): Promise<[BigNumber]>;
        totalListings(overrides?: CallOverrides): Promise<[BigNumber]>;
        updateListing(_listingId: BigNumberish, _quantityToList: BigNumberish, _reservePricePerToken: BigNumberish, _buyoutPricePerToken: BigNumberish, _currencyToAccept: string, _startTime: BigNumberish, _secondsUntilEndTime: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        winningBid(arg0: BigNumberish, overrides?: CallOverrides): Promise<[
            BigNumber,
            string,
            BigNumber,
            string,
            BigNumber
        ] & {
            listingId: BigNumber;
            offeror: string;
            quantityWanted: BigNumber;
            currency: string;
            pricePerToken: BigNumber;
        }>;
    };
    DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<string>;
    LISTER_ROLE(overrides?: CallOverrides): Promise<string>;
    MAX_BPS(overrides?: CallOverrides): Promise<BigNumber>;
    NATIVE_TOKEN(overrides?: CallOverrides): Promise<string>;
    VERSION(overrides?: CallOverrides): Promise<BigNumber>;
    acceptOffer(_listingId: BigNumberish, offeror: string, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    bidBufferBps(overrides?: CallOverrides): Promise<BigNumber>;
    buy(_listingId: BigNumberish, _quantityToBuy: BigNumberish, _currency: string, _totalPrice: BigNumberish, overrides?: PayableOverrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    closeAuction(_listingId: BigNumberish, _closeFor: string, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    contractURI(overrides?: CallOverrides): Promise<string>;
    createListing(_params: ListingParametersStruct, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<string>;
    getRoleMember(role: BytesLike, index: BigNumberish, overrides?: CallOverrides): Promise<string>;
    getRoleMemberCount(role: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
    grantRole(role: BytesLike, account: string, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<boolean>;
    isTrustedForwarder(forwarder: string, overrides?: CallOverrides): Promise<boolean>;
    listings(arg0: BigNumberish, overrides?: CallOverrides): Promise<[
        BigNumber,
        string,
        string,
        BigNumber,
        BigNumber,
        BigNumber,
        BigNumber,
        string,
        BigNumber,
        BigNumber,
        number,
        number
    ] & {
        listingId: BigNumber;
        tokenOwner: string;
        assetContract: string;
        tokenId: BigNumber;
        startTime: BigNumber;
        endTime: BigNumber;
        quantity: BigNumber;
        currency: string;
        reservePricePerToken: BigNumber;
        buyoutPricePerToken: BigNumber;
        tokenType: number;
        listingType: number;
    }>;
    marketFeeBps(overrides?: CallOverrides): Promise<BigNumber>;
    multicall(data: BytesLike[], overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    nativeTokenWrapper(overrides?: CallOverrides): Promise<string>;
    offer(_listingId: BigNumberish, _quantityWanted: BigNumberish, _currency: string, _pricePerToken: BigNumberish, overrides?: PayableOverrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    offers(arg0: BigNumberish, arg1: string, overrides?: CallOverrides): Promise<[
        BigNumber,
        string,
        BigNumber,
        string,
        BigNumber
    ] & {
        listingId: BigNumber;
        offeror: string;
        quantityWanted: BigNumber;
        currency: string;
        pricePerToken: BigNumber;
    }>;
    onERC1155BatchReceived(arg0: string, arg1: string, arg2: BigNumberish[], arg3: BigNumberish[], arg4: BytesLike, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    onERC1155Received(arg0: string, arg1: string, arg2: BigNumberish, arg3: BigNumberish, arg4: BytesLike, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    onERC721Received(arg0: string, arg1: string, arg2: BigNumberish, arg3: BytesLike, overrides?: CallOverrides): Promise<string>;
    renounceRole(role: BytesLike, account: string, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    restrictedListerRoleOnly(overrides?: CallOverrides): Promise<boolean>;
    revokeRole(role: BytesLike, account: string, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    setAuctionBuffers(_timeBuffer: BigNumberish, _bidBufferBps: BigNumberish, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    setContractURI(_uri: string, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    setMarketFeeBps(_feeBps: BigNumberish, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    setRestrictedListerRoleOnly(restricted: boolean, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<boolean>;
    timeBuffer(overrides?: CallOverrides): Promise<BigNumber>;
    totalListings(overrides?: CallOverrides): Promise<BigNumber>;
    updateListing(_listingId: BigNumberish, _quantityToList: BigNumberish, _reservePricePerToken: BigNumberish, _buyoutPricePerToken: BigNumberish, _currencyToAccept: string, _startTime: BigNumberish, _secondsUntilEndTime: BigNumberish, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    winningBid(arg0: BigNumberish, overrides?: CallOverrides): Promise<[
        BigNumber,
        string,
        BigNumber,
        string,
        BigNumber
    ] & {
        listingId: BigNumber;
        offeror: string;
        quantityWanted: BigNumber;
        currency: string;
        pricePerToken: BigNumber;
    }>;
    callStatic: {
        DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<string>;
        LISTER_ROLE(overrides?: CallOverrides): Promise<string>;
        MAX_BPS(overrides?: CallOverrides): Promise<BigNumber>;
        NATIVE_TOKEN(overrides?: CallOverrides): Promise<string>;
        VERSION(overrides?: CallOverrides): Promise<BigNumber>;
        acceptOffer(_listingId: BigNumberish, offeror: string, overrides?: CallOverrides): Promise<void>;
        bidBufferBps(overrides?: CallOverrides): Promise<BigNumber>;
        buy(_listingId: BigNumberish, _quantityToBuy: BigNumberish, _currency: string, _totalPrice: BigNumberish, overrides?: CallOverrides): Promise<void>;
        closeAuction(_listingId: BigNumberish, _closeFor: string, overrides?: CallOverrides): Promise<void>;
        contractURI(overrides?: CallOverrides): Promise<string>;
        createListing(_params: ListingParametersStruct, overrides?: CallOverrides): Promise<void>;
        getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<string>;
        getRoleMember(role: BytesLike, index: BigNumberish, overrides?: CallOverrides): Promise<string>;
        getRoleMemberCount(role: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
        grantRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<void>;
        hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<boolean>;
        isTrustedForwarder(forwarder: string, overrides?: CallOverrides): Promise<boolean>;
        listings(arg0: BigNumberish, overrides?: CallOverrides): Promise<[
            BigNumber,
            string,
            string,
            BigNumber,
            BigNumber,
            BigNumber,
            BigNumber,
            string,
            BigNumber,
            BigNumber,
            number,
            number
        ] & {
            listingId: BigNumber;
            tokenOwner: string;
            assetContract: string;
            tokenId: BigNumber;
            startTime: BigNumber;
            endTime: BigNumber;
            quantity: BigNumber;
            currency: string;
            reservePricePerToken: BigNumber;
            buyoutPricePerToken: BigNumber;
            tokenType: number;
            listingType: number;
        }>;
        marketFeeBps(overrides?: CallOverrides): Promise<BigNumber>;
        multicall(data: BytesLike[], overrides?: CallOverrides): Promise<string[]>;
        nativeTokenWrapper(overrides?: CallOverrides): Promise<string>;
        offer(_listingId: BigNumberish, _quantityWanted: BigNumberish, _currency: string, _pricePerToken: BigNumberish, overrides?: CallOverrides): Promise<void>;
        offers(arg0: BigNumberish, arg1: string, overrides?: CallOverrides): Promise<[
            BigNumber,
            string,
            BigNumber,
            string,
            BigNumber
        ] & {
            listingId: BigNumber;
            offeror: string;
            quantityWanted: BigNumber;
            currency: string;
            pricePerToken: BigNumber;
        }>;
        onERC1155BatchReceived(arg0: string, arg1: string, arg2: BigNumberish[], arg3: BigNumberish[], arg4: BytesLike, overrides?: CallOverrides): Promise<string>;
        onERC1155Received(arg0: string, arg1: string, arg2: BigNumberish, arg3: BigNumberish, arg4: BytesLike, overrides?: CallOverrides): Promise<string>;
        onERC721Received(arg0: string, arg1: string, arg2: BigNumberish, arg3: BytesLike, overrides?: CallOverrides): Promise<string>;
        renounceRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<void>;
        restrictedListerRoleOnly(overrides?: CallOverrides): Promise<boolean>;
        revokeRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<void>;
        setAuctionBuffers(_timeBuffer: BigNumberish, _bidBufferBps: BigNumberish, overrides?: CallOverrides): Promise<void>;
        setContractURI(_uri: string, overrides?: CallOverrides): Promise<void>;
        setMarketFeeBps(_feeBps: BigNumberish, overrides?: CallOverrides): Promise<void>;
        setRestrictedListerRoleOnly(restricted: boolean, overrides?: CallOverrides): Promise<void>;
        supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<boolean>;
        timeBuffer(overrides?: CallOverrides): Promise<BigNumber>;
        totalListings(overrides?: CallOverrides): Promise<BigNumber>;
        updateListing(_listingId: BigNumberish, _quantityToList: BigNumberish, _reservePricePerToken: BigNumberish, _buyoutPricePerToken: BigNumberish, _currencyToAccept: string, _startTime: BigNumberish, _secondsUntilEndTime: BigNumberish, overrides?: CallOverrides): Promise<void>;
        winningBid(arg0: BigNumberish, overrides?: CallOverrides): Promise<[
            BigNumber,
            string,
            BigNumber,
            string,
            BigNumber
        ] & {
            listingId: BigNumber;
            offeror: string;
            quantityWanted: BigNumber;
            currency: string;
            pricePerToken: BigNumber;
        }>;
    };
    filters: {
        "AuctionBuffersUpdated(uint256,uint256)"(timeBuffer?: null, bidBufferBps?: null): AuctionBuffersUpdatedEventFilter;
        AuctionBuffersUpdated(timeBuffer?: null, bidBufferBps?: null): AuctionBuffersUpdatedEventFilter;
        "AuctionClosed(uint256,address,bool,address,address)"(listingId?: BigNumberish | null, closer?: string | null, cancelled?: boolean | null, auctionCreator?: null, winningBidder?: null): AuctionClosedEventFilter;
        AuctionClosed(listingId?: BigNumberish | null, closer?: string | null, cancelled?: boolean | null, auctionCreator?: null, winningBidder?: null): AuctionClosedEventFilter;
        "ListingRestricted(bool)"(restricted?: null): ListingRestrictedEventFilter;
        ListingRestricted(restricted?: null): ListingRestrictedEventFilter;
        "ListingUpdate(uint256,address)"(listingId?: BigNumberish | null, listingCreator?: string | null): ListingUpdateEventFilter;
        ListingUpdate(listingId?: BigNumberish | null, listingCreator?: string | null): ListingUpdateEventFilter;
        "MarketFeeUpdate(uint64)"(newFee?: null): MarketFeeUpdateEventFilter;
        MarketFeeUpdate(newFee?: null): MarketFeeUpdateEventFilter;
        "NewListing(uint256,address,address,tuple)"(listingId?: BigNumberish | null, assetContract?: string | null, lister?: string | null, listing?: null): NewListingEventFilter;
        NewListing(listingId?: BigNumberish | null, assetContract?: string | null, lister?: string | null, listing?: null): NewListingEventFilter;
        "NewOffer(uint256,address,uint8,uint256,uint256,address)"(listingId?: BigNumberish | null, offeror?: string | null, listingType?: BigNumberish | null, quantityWanted?: null, totalOfferAmount?: null, currency?: null): NewOfferEventFilter;
        NewOffer(listingId?: BigNumberish | null, offeror?: string | null, listingType?: BigNumberish | null, quantityWanted?: null, totalOfferAmount?: null, currency?: null): NewOfferEventFilter;
        "NewSale(uint256,address,address,address,uint256,uint256)"(listingId?: BigNumberish | null, assetContract?: string | null, lister?: string | null, buyer?: null, quantityBought?: null, totalPricePaid?: null): NewSaleEventFilter;
        NewSale(listingId?: BigNumberish | null, assetContract?: string | null, lister?: string | null, buyer?: null, quantityBought?: null, totalPricePaid?: null): NewSaleEventFilter;
        "RoleAdminChanged(bytes32,bytes32,bytes32)"(role?: BytesLike | null, previousAdminRole?: BytesLike | null, newAdminRole?: BytesLike | null): RoleAdminChangedEventFilter;
        RoleAdminChanged(role?: BytesLike | null, previousAdminRole?: BytesLike | null, newAdminRole?: BytesLike | null): RoleAdminChangedEventFilter;
        "RoleGranted(bytes32,address,address)"(role?: BytesLike | null, account?: string | null, sender?: string | null): RoleGrantedEventFilter;
        RoleGranted(role?: BytesLike | null, account?: string | null, sender?: string | null): RoleGrantedEventFilter;
        "RoleRevoked(bytes32,address,address)"(role?: BytesLike | null, account?: string | null, sender?: string | null): RoleRevokedEventFilter;
        RoleRevoked(role?: BytesLike | null, account?: string | null, sender?: string | null): RoleRevokedEventFilter;
    };
    estimateGas: {
        DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<BigNumber>;
        LISTER_ROLE(overrides?: CallOverrides): Promise<BigNumber>;
        MAX_BPS(overrides?: CallOverrides): Promise<BigNumber>;
        NATIVE_TOKEN(overrides?: CallOverrides): Promise<BigNumber>;
        VERSION(overrides?: CallOverrides): Promise<BigNumber>;
        acceptOffer(_listingId: BigNumberish, offeror: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        bidBufferBps(overrides?: CallOverrides): Promise<BigNumber>;
        buy(_listingId: BigNumberish, _quantityToBuy: BigNumberish, _currency: string, _totalPrice: BigNumberish, overrides?: PayableOverrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        closeAuction(_listingId: BigNumberish, _closeFor: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        contractURI(overrides?: CallOverrides): Promise<BigNumber>;
        createListing(_params: ListingParametersStruct, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
        getRoleMember(role: BytesLike, index: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        getRoleMemberCount(role: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
        grantRole(role: BytesLike, account: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<BigNumber>;
        isTrustedForwarder(forwarder: string, overrides?: CallOverrides): Promise<BigNumber>;
        listings(arg0: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        marketFeeBps(overrides?: CallOverrides): Promise<BigNumber>;
        multicall(data: BytesLike[], overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        nativeTokenWrapper(overrides?: CallOverrides): Promise<BigNumber>;
        offer(_listingId: BigNumberish, _quantityWanted: BigNumberish, _currency: string, _pricePerToken: BigNumberish, overrides?: PayableOverrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        offers(arg0: BigNumberish, arg1: string, overrides?: CallOverrides): Promise<BigNumber>;
        onERC1155BatchReceived(arg0: string, arg1: string, arg2: BigNumberish[], arg3: BigNumberish[], arg4: BytesLike, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        onERC1155Received(arg0: string, arg1: string, arg2: BigNumberish, arg3: BigNumberish, arg4: BytesLike, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        onERC721Received(arg0: string, arg1: string, arg2: BigNumberish, arg3: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
        renounceRole(role: BytesLike, account: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        restrictedListerRoleOnly(overrides?: CallOverrides): Promise<BigNumber>;
        revokeRole(role: BytesLike, account: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        setAuctionBuffers(_timeBuffer: BigNumberish, _bidBufferBps: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        setContractURI(_uri: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        setMarketFeeBps(_feeBps: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        setRestrictedListerRoleOnly(restricted: boolean, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
        timeBuffer(overrides?: CallOverrides): Promise<BigNumber>;
        totalListings(overrides?: CallOverrides): Promise<BigNumber>;
        updateListing(_listingId: BigNumberish, _quantityToList: BigNumberish, _reservePricePerToken: BigNumberish, _buyoutPricePerToken: BigNumberish, _currencyToAccept: string, _startTime: BigNumberish, _secondsUntilEndTime: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        winningBid(arg0: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
    };
    populateTransaction: {
        DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        LISTER_ROLE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        MAX_BPS(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        NATIVE_TOKEN(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        VERSION(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        acceptOffer(_listingId: BigNumberish, offeror: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        bidBufferBps(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        buy(_listingId: BigNumberish, _quantityToBuy: BigNumberish, _currency: string, _totalPrice: BigNumberish, overrides?: PayableOverrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        closeAuction(_listingId: BigNumberish, _closeFor: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        contractURI(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        createListing(_params: ListingParametersStruct, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getRoleMember(role: BytesLike, index: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getRoleMemberCount(role: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        grantRole(role: BytesLike, account: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        isTrustedForwarder(forwarder: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        listings(arg0: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        marketFeeBps(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        multicall(data: BytesLike[], overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        nativeTokenWrapper(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        offer(_listingId: BigNumberish, _quantityWanted: BigNumberish, _currency: string, _pricePerToken: BigNumberish, overrides?: PayableOverrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        offers(arg0: BigNumberish, arg1: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        onERC1155BatchReceived(arg0: string, arg1: string, arg2: BigNumberish[], arg3: BigNumberish[], arg4: BytesLike, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        onERC1155Received(arg0: string, arg1: string, arg2: BigNumberish, arg3: BigNumberish, arg4: BytesLike, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        onERC721Received(arg0: string, arg1: string, arg2: BigNumberish, arg3: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        renounceRole(role: BytesLike, account: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        restrictedListerRoleOnly(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        revokeRole(role: BytesLike, account: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        setAuctionBuffers(_timeBuffer: BigNumberish, _bidBufferBps: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        setContractURI(_uri: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        setMarketFeeBps(_feeBps: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        setRestrictedListerRoleOnly(restricted: boolean, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        timeBuffer(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        totalListings(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        updateListing(_listingId: BigNumberish, _quantityToList: BigNumberish, _reservePricePerToken: BigNumberish, _buyoutPricePerToken: BigNumberish, _currencyToAccept: string, _startTime: BigNumberish, _secondsUntilEndTime: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        winningBid(arg0: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
    };
}
