declare const contract: {
    readonly id: 35738;
    readonly address: "0xdba2a3ce6cf8ad6a4105d6129cf2c698d87f8f88";
    readonly contract_name: "UpgradeableBeacon";
    readonly display_name: "NFT Mystery Pack Proxy";
    readonly is_deprecated: false;
    readonly is_proxy: true;
    readonly proxy_to: "0x81b568b9b415f1758315fc300d3e3ace7fb09611";
    readonly created_at: 1750747994;
    readonly abi: readonly [{
        readonly type: "constructor";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "implementation_";
        }, {
            readonly type: "address";
            readonly name: "initialOwner";
        }];
    }, {
        readonly name: "BeaconInvalidImplementation";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "implementation";
        }];
    }, {
        readonly name: "OwnableInvalidOwner";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "owner";
        }];
    }, {
        readonly name: "OwnableUnauthorizedAccount";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "account";
        }];
    }, {
        readonly name: "OwnershipTransferred";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "previousOwner";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "newOwner";
            readonly indexed: true;
        }];
    }, {
        readonly name: "Upgraded";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "implementation";
            readonly indexed: true;
        }];
    }, {
        readonly name: "implementation";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "address";
        }];
    }, {
        readonly name: "owner";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "address";
        }];
    }, {
        readonly name: "renounceOwnership";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [];
        readonly outputs: readonly [];
    }, {
        readonly name: "transferOwnership";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "newOwner";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "upgradeTo";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "newImplementation";
        }];
        readonly outputs: readonly [];
    }];
    readonly proxy_abi: readonly [{
        readonly type: "constructor";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [];
    }, {
        readonly name: "AccessControlBadConfirmation";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "AccessControlUnauthorizedAccount";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "account";
        }, {
            readonly type: "bytes32";
            readonly name: "neededRole";
        }];
    }, {
        readonly name: "AddressEmptyCode";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "target";
        }];
    }, {
        readonly name: "AddressInsufficientBalance";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "account";
        }];
    }, {
        readonly name: "AssetAlreadyExists";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "BuybackExpired";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "BuybackNotEnabled";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "EnforcedPause";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ExpectedPause";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ExpectedSelectorPaused";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "bytes4";
            readonly name: "selector";
        }];
    }, {
        readonly name: "FailedInnerCall";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InactivePack";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InsufficientAssets";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InsufficientBuybackBalance";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "available";
        }, {
            readonly type: "uint256";
            readonly name: "required";
        }];
    }, {
        readonly name: "InsufficientFunds";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "available";
        }, {
            readonly type: "uint256";
            readonly name: "required";
        }];
    }, {
        readonly name: "InsufficientRefundAmount";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidBuybackPrice";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "buybackRatio";
        }, {
            readonly type: "uint256";
            readonly name: "buybackPrice";
        }];
    }, {
        readonly name: "InvalidDecayConfig";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "interval";
        }, {
            readonly type: "uint256";
            readonly name: "duration";
        }];
    }, {
        readonly name: "InvalidDecayRatioRange";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "startRatio";
        }, {
            readonly type: "uint256";
            readonly name: "endRatio";
        }];
    }, {
        readonly name: "InvalidExpectedPrice";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidInitialization";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidMysteryPackManager";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidOrderOfTiers";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidPaymentToken";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidPlatformFees";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "totalPlatformFees";
        }, {
            readonly type: "uint256";
            readonly name: "packPrice";
        }];
    }, {
        readonly name: "InvalidPrice";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidRandomWordsLength";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidRatio";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "have";
        }, {
            readonly type: "uint256";
            readonly name: "want";
        }];
    }, {
        readonly name: "InvalidTierConfiguration";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidTimeRange";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "startTime";
        }, {
            readonly type: "uint256";
            readonly name: "endTime";
        }];
    }, {
        readonly name: "InvalidTotalTierRatios";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidVRFCoordinator";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidWithdrawalAccount";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "LengthMismatch";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "MathOverflowedMulDiv";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "NoTiers";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "NonExistentAsset";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "NonExistentPackId";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "NonExistentRequest";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "NotInitializing";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "OnlyCoordinatorCanFulfill";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "OnlyManager";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "OutOfStock";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "tierId";
        }];
    }, {
        readonly name: "PackAlreadyPaused";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ReentrancyGuardReentrantCall";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "RevenueScatteringFailed";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "SafeERC20FailedOperation";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "token";
        }];
    }, {
        readonly name: "SelectorPaused";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "bytes4";
            readonly name: "selector";
        }];
    }, {
        readonly name: "TooManyPacks";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "amount";
        }, {
            readonly type: "uint256";
            readonly name: "maxPackOpenPerTx";
        }];
    }, {
        readonly name: "TransferFailed";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ZeroLength";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "AssetsDeposited";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "tierId";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "collection";
            readonly indexed: true;
        }, {
            readonly type: "uint256[]";
            readonly name: "ids";
        }, {
            readonly type: "address";
            readonly name: "by";
        }];
    }, {
        readonly name: "AssetsWithdrew";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "tierId";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "collection";
            readonly indexed: true;
        }, {
            readonly type: "uint256[]";
            readonly name: "ids";
        }, {
            readonly type: "address";
            readonly name: "to";
        }];
    }, {
        readonly name: "FundsDeposited";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "account";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "paymentToken";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "amount";
        }];
    }, {
        readonly name: "FundsWithdrawn";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "to";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "paymentToken";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "amount";
            readonly indexed: true;
        }];
    }, {
        readonly name: "Initialized";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint64";
            readonly name: "version";
        }];
    }, {
        readonly name: "MaxPackOpenPerTxUpdated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "maxPackOpenPerTx";
        }];
    }, {
        readonly name: "MysteryPackOpened";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "requester";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "recipient";
            readonly indexed: true;
        }, {
            readonly type: "uint32";
            readonly name: "amount";
            readonly indexed: true;
        }, {
            readonly type: "bytes32[]";
            readonly name: "requestHashes";
        }, {
            readonly type: "uint256";
            readonly name: "totalRequestPrice";
        }];
    }, {
        readonly name: "MysteryPackUpdated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "tuple";
            readonly name: "newPack";
            readonly components: readonly [{
                readonly type: "address";
                readonly name: "paymentToken";
            }, {
                readonly type: "uint96";
                readonly name: "unitPrice";
            }, {
                readonly type: "uint40";
                readonly name: "activationTime";
            }, {
                readonly type: "uint32";
                readonly name: "buybackExpiration";
            }, {
                readonly type: "uint32";
                readonly name: "decayInterval";
            }, {
                readonly type: "uint32";
                readonly name: "decayDuration";
            }, {
                readonly type: "uint16";
                readonly name: "buybackStartRatio";
            }, {
                readonly type: "uint16";
                readonly name: "buybackEndRatio";
            }, {
                readonly type: "bool";
                readonly name: "buybackEnabled";
            }];
        }];
    }, {
        readonly name: "NFTPriceOverrode";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "collection";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "tokenId";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "price";
        }];
    }, {
        readonly name: "NFTSoldBack";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "tierId";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "collection";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "id";
        }, {
            readonly type: "uint256";
            readonly name: "buybackPrice";
        }];
    }, {
        readonly name: "NFTsClaimed";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "tierId";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "collection";
            readonly indexed: true;
        }, {
            readonly type: "uint256[]";
            readonly name: "tokenIds";
        }];
    }, {
        readonly name: "PartialPaused";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "account";
            readonly indexed: true;
        }, {
            readonly type: "bytes4";
            readonly name: "selector";
            readonly indexed: true;
        }];
    }, {
        readonly name: "PartialUnpaused";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "account";
            readonly indexed: true;
        }, {
            readonly type: "bytes4";
            readonly name: "selector";
            readonly indexed: true;
        }];
    }, {
        readonly name: "Paused";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "account";
        }];
    }, {
        readonly name: "RandomRequestFulfilled";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "requestHash";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "requester";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "fulfilledAt";
            readonly indexed: true;
        }, {
            readonly type: "uint256[]";
            readonly name: "outOfStockHitsByTier";
        }, {
            readonly type: "uint256";
            readonly name: "numOpenedPacks";
        }, {
            readonly type: "tuple";
            readonly name: "refundOutput";
            readonly components: readonly [{
                readonly type: "bool";
                readonly name: "success";
            }, {
                readonly type: "uint256";
                readonly name: "amount";
            }, {
                readonly type: "address";
                readonly name: "token";
            }];
        }, {
            readonly type: "uint256";
            readonly name: "revenue";
        }, {
            readonly type: "tuple[]";
            readonly name: "outputs";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "tierId";
            }, {
                readonly type: "address";
                readonly name: "collection";
            }, {
                readonly type: "uint256";
                readonly name: "tokenId";
            }];
        }, {
            readonly type: "tuple[]";
            readonly name: "recipients";
            readonly components: readonly [{
                readonly type: "address";
                readonly name: "recipient";
            }, {
                readonly type: "uint256";
                readonly name: "amount";
            }];
        }];
    }, {
        readonly name: "RewardTiersUpdated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "tuple[]";
            readonly name: "rewardTiers";
            readonly components: readonly [{
                readonly type: "uint96";
                readonly name: "price";
            }, {
                readonly type: "uint16";
                readonly name: "ratio";
            }];
        }];
    }, {
        readonly name: "RoleAdminChanged";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "role";
            readonly indexed: true;
        }, {
            readonly type: "bytes32";
            readonly name: "previousAdminRole";
            readonly indexed: true;
        }, {
            readonly type: "bytes32";
            readonly name: "newAdminRole";
            readonly indexed: true;
        }];
    }, {
        readonly name: "RoleGranted";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "role";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "account";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "sender";
            readonly indexed: true;
        }];
    }, {
        readonly name: "RoleRevoked";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "role";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "account";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "sender";
            readonly indexed: true;
        }];
    }, {
        readonly name: "Unpaused";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "account";
        }];
    }, {
        readonly name: "VRFCoordinatorAddressUpdated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "newCoordinator";
            readonly indexed: true;
        }];
    }, {
        readonly name: "VRFCoordinatorMigrated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "oldCoordinator";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "newCoordinator";
            readonly indexed: true;
        }];
    }, {
        readonly name: "DEFAULT_ADMIN_ROLE";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "bytes32";
        }];
    }, {
        readonly name: "DEPOSITOR_ROLE";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "bytes32";
        }];
    }, {
        readonly name: "MAX_GAS_FOR_TRANSFER_NATIVE";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "MAX_PACK_OPEN_PER_TX";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "MAX_PERCENTAGE";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "OPERATOR_ROLE";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "bytes32";
        }];
    }, {
        readonly name: "PAUSER_ROLE";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "bytes32";
        }];
    }, {
        readonly name: "batchClaimPendingNFTs";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "uint256[]";
            readonly name: "tierIds";
        }, {
            readonly type: "address[][]";
            readonly name: "collections";
        }, {
            readonly type: "uint256[][][]";
            readonly name: "tokenIds";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "batchDepositAssetsToPack";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "uint256[]";
            readonly name: "tierIds";
        }, {
            readonly type: "address[]";
            readonly name: "collections";
        }, {
            readonly type: "uint256[][]";
            readonly name: "ids";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "batchSellBackNFTs";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "uint256[]";
            readonly name: "tierIds";
        }, {
            readonly type: "address[]";
            readonly name: "collections";
        }, {
            readonly type: "uint256[]";
            readonly name: "tokenIds";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "bulkOverrideBuybackBasePriceByNFT";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address[]";
            readonly name: "collections";
        }, {
            readonly type: "uint256[]";
            readonly name: "tokenIds";
        }, {
            readonly type: "uint96[]";
            readonly name: "prices";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "calculateBuybackPrice";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "tierId";
        }, {
            readonly type: "uint256";
            readonly name: "startTime";
        }, {
            readonly type: "uint256";
            readonly name: "endTime";
        }];
        readonly outputs: readonly [{
            readonly type: "uint256";
            readonly name: "buybackPrice";
        }];
    }, {
        readonly name: "claimPendingNFTs";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "tierId";
        }, {
            readonly type: "address[]";
            readonly name: "collections";
        }, {
            readonly type: "uint256[][]";
            readonly name: "tokenIds";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "depositAssetsToPack";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "tierId";
        }, {
            readonly type: "address";
            readonly name: "collection";
        }, {
            readonly type: "uint256[]";
            readonly name: "ids";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "depositFunds";
        readonly type: "function";
        readonly stateMutability: "payable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "account";
        }, {
            readonly type: "address";
            readonly name: "paymentToken";
        }, {
            readonly type: "uint256";
            readonly name: "amount";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "estimateGasForVRFFulfillment";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "uint32";
            readonly name: "amount";
        }, {
            readonly type: "uint256";
            readonly name: "gasPrice";
        }];
        readonly outputs: readonly [{
            readonly type: "uint256";
            readonly name: "totalCallbackGasLimit";
        }, {
            readonly type: "uint256";
            readonly name: "totalRequestPrice";
        }];
    }, {
        readonly name: "getAssetsPendingToClaim";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "tierId";
        }, {
            readonly type: "address";
            readonly name: "user";
        }];
        readonly outputs: readonly [{
            readonly type: "tuple[]";
            readonly name: "items";
            readonly components: readonly [{
                readonly type: "address";
                readonly name: "collection";
            }, {
                readonly type: "uint256";
                readonly name: "tokenId";
            }];
        }];
    }, {
        readonly name: "getAvailableAssetsInTier";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "tierId";
        }];
        readonly outputs: readonly [{
            readonly type: "tuple[]";
            readonly name: "items";
            readonly components: readonly [{
                readonly type: "address";
                readonly name: "collection";
            }, {
                readonly type: "uint256";
                readonly name: "tokenId";
            }];
        }];
    }, {
        readonly name: "getBuybackBasePrice";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "tierId";
        }, {
            readonly type: "address";
            readonly name: "collection";
        }, {
            readonly type: "uint256";
            readonly name: "tokenId";
        }];
        readonly outputs: readonly [{
            readonly type: "uint96";
            readonly name: "price";
        }];
    }, {
        readonly name: "getLastFulfillmentTime";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "collection";
        }, {
            readonly type: "uint256";
            readonly name: "tokenId";
        }];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "getMaxPackOpenPerTx";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "getMysteryPack";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "tuple";
            readonly components: readonly [{
                readonly type: "address";
                readonly name: "paymentToken";
            }, {
                readonly type: "uint96";
                readonly name: "unitPrice";
            }, {
                readonly type: "uint40";
                readonly name: "activationTime";
            }, {
                readonly type: "uint32";
                readonly name: "buybackExpiration";
            }, {
                readonly type: "uint32";
                readonly name: "decayInterval";
            }, {
                readonly type: "uint32";
                readonly name: "decayDuration";
            }, {
                readonly type: "uint16";
                readonly name: "buybackStartRatio";
            }, {
                readonly type: "uint16";
                readonly name: "buybackEndRatio";
            }, {
                readonly type: "bool";
                readonly name: "buybackEnabled";
            }];
        }];
    }, {
        readonly name: "getNFTPriceOverride";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "collection";
        }, {
            readonly type: "uint256";
            readonly name: "tokenId";
        }];
        readonly outputs: readonly [{
            readonly type: "uint96";
            readonly name: "price";
        }];
    }, {
        readonly name: "getRequestInfo";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "requestHash";
        }];
        readonly outputs: readonly [{
            readonly type: "tuple";
            readonly components: readonly [{
                readonly type: "address";
                readonly name: "requester";
            }, {
                readonly type: "uint96";
                readonly name: "packUnitPrice";
            }, {
                readonly type: "address";
                readonly name: "paymentToken";
            }, {
                readonly type: "uint32";
                readonly name: "amount";
            }, {
                readonly type: "tuple[]";
                readonly name: "platformFeeForUnitPrice";
                readonly components: readonly [{
                    readonly type: "address";
                    readonly name: "recipient";
                }, {
                    readonly type: "uint256";
                    readonly name: "amount";
                }];
            }];
        }];
    }, {
        readonly name: "getRewardTiers";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "tuple[]";
            readonly components: readonly [{
                readonly type: "uint96";
                readonly name: "price";
            }, {
                readonly type: "uint16";
                readonly name: "ratio";
            }];
        }];
    }, {
        readonly name: "getRoleAdmin";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "role";
        }];
        readonly outputs: readonly [{
            readonly type: "bytes32";
        }];
    }, {
        readonly name: "getRoleMember";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "role";
        }, {
            readonly type: "uint256";
            readonly name: "index";
        }];
        readonly outputs: readonly [{
            readonly type: "address";
        }];
    }, {
        readonly name: "getRoleMemberCount";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "role";
        }];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "getWithdrawableBalance";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "account";
        }, {
            readonly type: "address";
            readonly name: "paymentToken";
        }];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "grantRole";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "role";
        }, {
            readonly type: "address";
            readonly name: "account";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "hasRole";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "role";
        }, {
            readonly type: "address";
            readonly name: "account";
        }];
        readonly outputs: readonly [{
            readonly type: "bool";
        }];
    }, {
        readonly name: "initialize";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "owner";
        }, {
            readonly type: "address";
            readonly name: "mysteryPackManager_";
        }, {
            readonly type: "address";
            readonly name: "vrfCoordinator_";
        }, {
            readonly type: "tuple";
            readonly name: "mysteryPack";
            readonly components: readonly [{
                readonly type: "address";
                readonly name: "paymentToken";
            }, {
                readonly type: "uint96";
                readonly name: "unitPrice";
            }, {
                readonly type: "uint40";
                readonly name: "activationTime";
            }, {
                readonly type: "uint32";
                readonly name: "buybackExpiration";
            }, {
                readonly type: "uint32";
                readonly name: "decayInterval";
            }, {
                readonly type: "uint32";
                readonly name: "decayDuration";
            }, {
                readonly type: "uint16";
                readonly name: "buybackStartRatio";
            }, {
                readonly type: "uint16";
                readonly name: "buybackEndRatio";
            }, {
                readonly type: "bool";
                readonly name: "buybackEnabled";
            }];
        }, {
            readonly type: "tuple[]";
            readonly name: "rewardTiers";
            readonly components: readonly [{
                readonly type: "uint96";
                readonly name: "price";
            }, {
                readonly type: "uint16";
                readonly name: "ratio";
            }];
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "migrateVRFCoordinator";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "newCoordinator";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "mysteryPackManager";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "address";
        }];
    }, {
        readonly name: "onERC721Received";
        readonly type: "function";
        readonly stateMutability: "pure";
        readonly inputs: readonly [{
            readonly type: "address";
        }, {
            readonly type: "address";
        }, {
            readonly type: "uint256";
        }, {
            readonly type: "bytes";
        }];
        readonly outputs: readonly [{
            readonly type: "bytes4";
        }];
    }, {
        readonly name: "openMysteryPack";
        readonly type: "function";
        readonly stateMutability: "payable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "recipient";
        }, {
            readonly type: "uint32";
            readonly name: "amount";
        }, {
            readonly type: "uint256";
            readonly name: "expectPrice";
        }];
        readonly outputs: readonly [{
            readonly type: "bytes32[]";
            readonly name: "requestHashes";
        }];
    }, {
        readonly name: "overrideBuybackBasePriceByNFT";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "collection";
        }, {
            readonly type: "uint256";
            readonly name: "tokenId";
        }, {
            readonly type: "uint96";
            readonly name: "price";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "partialPaused";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "bytes4";
            readonly name: "selector";
        }];
        readonly outputs: readonly [{
            readonly type: "bool";
        }];
    }, {
        readonly name: "pause";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "bytes4";
            readonly name: "selector";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "paused";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "bool";
            readonly name: "result";
        }];
    }, {
        readonly name: "rawFulfillRandomSeed";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "reqHash";
        }, {
            readonly type: "uint256";
            readonly name: "randomSeed";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "renounceRole";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "role";
        }, {
            readonly type: "address";
            readonly name: "callerConfirmation";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "revokeRole";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "role";
        }, {
            readonly type: "address";
            readonly name: "account";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "sellBackNFT";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "tierId";
        }, {
            readonly type: "address";
            readonly name: "collection";
        }, {
            readonly type: "uint256";
            readonly name: "id";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "setMaxPackOpenPerTx";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "maxPackOpenPerTx";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "supportsInterface";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "bytes4";
            readonly name: "interfaceId";
        }];
        readonly outputs: readonly [{
            readonly type: "bool";
        }];
    }, {
        readonly name: "unpause";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "bytes4";
            readonly name: "selector";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "updateMysteryPack";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "tuple";
            readonly name: "newPack";
            readonly components: readonly [{
                readonly type: "address";
                readonly name: "paymentToken";
            }, {
                readonly type: "uint96";
                readonly name: "unitPrice";
            }, {
                readonly type: "uint40";
                readonly name: "activationTime";
            }, {
                readonly type: "uint32";
                readonly name: "buybackExpiration";
            }, {
                readonly type: "uint32";
                readonly name: "decayInterval";
            }, {
                readonly type: "uint32";
                readonly name: "decayDuration";
            }, {
                readonly type: "uint16";
                readonly name: "buybackStartRatio";
            }, {
                readonly type: "uint16";
                readonly name: "buybackEndRatio";
            }, {
                readonly type: "bool";
                readonly name: "buybackEnabled";
            }];
        }, {
            readonly type: "tuple[]";
            readonly name: "tiers";
            readonly components: readonly [{
                readonly type: "uint96";
                readonly name: "price";
            }, {
                readonly type: "uint16";
                readonly name: "ratio";
            }];
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "vrfCoordinator";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "address";
        }];
    }, {
        readonly name: "withdrawAssetsFromPack";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "tierId";
        }, {
            readonly type: "address";
            readonly name: "collection";
        }, {
            readonly type: "uint256[]";
            readonly name: "ids";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "withdrawFunds";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "account";
        }, {
            readonly type: "address";
            readonly name: "recipient";
        }, {
            readonly type: "address";
            readonly name: "paymentToken";
        }, {
            readonly type: "uint256";
            readonly name: "amount";
        }];
        readonly outputs: readonly [];
    }];
};

export { contract as default };
