import { BigNumber } from "ethers"; import type { InputCriteria, Item, Order, OrderParameters } from "../types"; export declare const isCurrencyItem: ({ itemType }: Item) => boolean; export declare const isNativeCurrencyItem: ({ itemType }: Item) => boolean; export declare const isErc20Item: (itemType: Item["itemType"]) => boolean; export declare const isErc721Item: (itemType: Item["itemType"]) => boolean; export declare const isErc1155Item: (itemType: Item["itemType"]) => boolean; export declare const isCriteriaItem: (itemType: Item["itemType"]) => boolean; export declare type TimeBasedItemParams = { isConsiderationItem?: boolean; currentBlockTimestamp: number; ascendingAmountTimestampBuffer: number; } & Pick; export declare const getPresentItemAmount: ({ startAmount, endAmount, timeBasedItemParams, }: Pick & { timeBasedItemParams?: TimeBasedItemParams | undefined; }) => BigNumber; export declare const getSummedTokenAndIdentifierAmounts: ({ items, criterias, timeBasedItemParams, }: { items: Item[]; criterias: InputCriteria[]; timeBasedItemParams?: TimeBasedItemParams | undefined; }) => Record>; /** * Returns the maximum size of units possible for the order * If any of the items on a partially fillable order specify a different "startAmount" and "endAmount * (e.g. they are ascending-amount or descending-amount items), the fraction will be applied to both amounts * prior to determining the current price. This ensures that cleanly divisible amounts can be chosen when * constructing the order without a dependency on the time when the order is ultimately fulfilled. */ export declare const getMaximumSizeForOrder: ({ parameters: { offer, consideration }, }: Order) => BigNumber;