declare const contract: {
    readonly id: 4270;
    readonly address: "0x784bcbfdb01691889709e35644dcf1cc12db6faf";
    readonly contract_name: "TMAGacha";
    readonly display_name: "TMA Gacha";
    readonly is_deprecated: false;
    readonly is_proxy: false;
    readonly proxy_to: false;
    readonly created_at: 1727413890;
    readonly 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: "ERC1967InvalidImplementation";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "implementation";
        }];
    }, {
        readonly name: "ERC1967NonPayable";
        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: "FailedInnerCall";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "GachaFailed";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidAddress";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidExternalGeneration";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidInitialization";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidInputs";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidItemContract";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidNFTContract";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidRecipient";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidRewardTable";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidRewardTableInput";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidSignature";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidTokenContract";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidValidatorContract";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "MainnetNotAllowed";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "NoValidatorContract";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "NotInitializing";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "SignatureAlreadyUsed";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "SignatureExpired";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "UUPSUnauthorizedCallContext";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "UUPSUnsupportedProxiableUUID";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "slot";
        }];
    }, {
        readonly name: "UnknownNetwork";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "CheckParamsUpdated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "tuple";
            readonly name: "oldParams";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "minExternalGeneration";
            }, {
                readonly type: "uint256";
                readonly name: "multiplier";
            }, {
                readonly type: "uint256";
                readonly name: "threshold";
            }];
        }, {
            readonly type: "tuple";
            readonly name: "newParams";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "minExternalGeneration";
            }, {
                readonly type: "uint256";
                readonly name: "multiplier";
            }, {
                readonly type: "uint256";
                readonly name: "threshold";
            }];
        }];
    }, {
        readonly name: "FundsSentToTreasury";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "treasuryAddress";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "amount";
        }];
    }, {
        readonly name: "GachaCompleted";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "wallet";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "tableId";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "randomNumber";
        }, {
            readonly type: "uint256";
            readonly name: "externalGeneration";
        }, {
            readonly type: "uint256";
            readonly name: "internalGeneration";
        }, {
            readonly type: "bool";
            readonly name: "isHonest";
        }, {
            readonly type: "uint256";
            readonly name: "rewardIndex";
        }, {
            readonly type: "tuple";
            readonly name: "reward";
            readonly components: readonly [{
                readonly type: "uint256[]";
                readonly name: "tokenIds";
            }, {
                readonly type: "uint256[]";
                readonly name: "tokenAmounts";
            }, {
                readonly type: "uint256";
                readonly name: "ronAmount";
            }];
        }];
    }, {
        readonly name: "GenerationAdvanced";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "externalGeneration";
        }, {
            readonly type: "uint256";
            readonly name: "internalGeneration";
        }, {
            readonly type: "bool";
            readonly name: "isHonest";
        }];
    }, {
        readonly name: "Initialized";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint64";
            readonly name: "version";
        }];
    }, {
        readonly name: "ItemContractUpdated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "newContract";
        }];
    }, {
        readonly name: "Paused";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "account";
        }];
    }, {
        readonly name: "RewardTableDeleted";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "tableId";
            readonly indexed: true;
        }];
    }, {
        readonly name: "RewardTableUpdated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "tableId";
            readonly indexed: true;
        }, {
            readonly type: "tuple";
            readonly name: "newTable";
            readonly components: readonly [{
                readonly type: "uint256[]";
                readonly name: "costTokenIds";
            }, {
                readonly type: "uint256[]";
                readonly name: "costTokenAmounts";
            }, {
                readonly type: "tuple[]";
                readonly name: "rewards";
                readonly components: readonly [{
                    readonly type: "uint256[]";
                    readonly name: "tokenIds";
                }, {
                    readonly type: "uint256[]";
                    readonly name: "tokenAmounts";
                }, {
                    readonly type: "uint256";
                    readonly name: "ronAmount";
                }];
            }, {
                readonly type: "uint256[]";
                readonly name: "chanceRanges";
            }, {
                readonly type: "uint256";
                readonly name: "totalChance";
            }];
        }];
    }, {
        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: "TreasuryUpdated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "oldAddress";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "newAddress";
            readonly indexed: true;
        }];
    }, {
        readonly name: "Unpaused";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "account";
        }];
    }, {
        readonly name: "Upgraded";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "implementation";
            readonly indexed: true;
        }];
    }, {
        readonly name: "ValidatorContractUpdated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "oldContract";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "newContract";
            readonly indexed: true;
        }];
    }, {
        readonly name: "Withdraw";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "recipient";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "amount";
        }];
    }, {
        readonly name: "DEFAULT_ADMIN_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: "REWARD_TABLE_HIGH";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "REWARD_TABLE_LOW";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "REWARD_TABLE_MEDIUM";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "UPGRADER_ROLE";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "bytes32";
        }];
    }, {
        readonly name: "UPGRADE_INTERFACE_VERSION";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "string";
        }];
    }, {
        readonly name: "adminDeleteRewardTable";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "tableId";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "adminSetHonestyCheckParams";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "tuple";
            readonly name: "params";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "minExternalGeneration";
            }, {
                readonly type: "uint256";
                readonly name: "multiplier";
            }, {
                readonly type: "uint256";
                readonly name: "threshold";
            }];
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "adminSetItemContract";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "itemContract";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "adminSetRewardTable";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "tableId";
        }, {
            readonly type: "tuple";
            readonly name: "input";
            readonly components: readonly [{
                readonly type: "uint256[]";
                readonly name: "costTokenIds";
            }, {
                readonly type: "uint256[]";
                readonly name: "costTokenAmounts";
            }, {
                readonly type: "tuple[]";
                readonly name: "rewards";
                readonly components: readonly [{
                    readonly type: "uint256[]";
                    readonly name: "tokenIds";
                }, {
                    readonly type: "uint256[]";
                    readonly name: "tokenAmounts";
                }, {
                    readonly type: "uint256";
                    readonly name: "ronAmount";
                }];
            }, {
                readonly type: "uint256[]";
                readonly name: "chances";
            }];
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "adminSetTreasuryAddress";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "newTreasuryAddress";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "adminSetValidatorContract";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "validator";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "adminWithdraw";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "recipient";
        }, {
            readonly type: "uint256";
            readonly name: "amount";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "adminWithdrawAll";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "recipient";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "gacha";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "rewardTableId";
        }, {
            readonly type: "tuple";
            readonly name: "payload";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "randomNumber";
            }, {
                readonly type: "uint256";
                readonly name: "generation";
            }, {
                readonly type: "uint256";
                readonly name: "expireTime";
            }, {
                readonly type: "bytes";
                readonly name: "signature";
            }, {
                readonly type: "bool";
                readonly name: "verifyMessageHash";
            }];
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "getHonestyCheckParams";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "tuple";
            readonly components: readonly [{
                readonly type: "uint256";
                readonly name: "minExternalGeneration";
            }, {
                readonly type: "uint256";
                readonly name: "multiplier";
            }, {
                readonly type: "uint256";
                readonly name: "threshold";
            }];
        }];
    }, {
        readonly name: "getInternalGeneration";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "account";
        }];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "getRewardTable";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "tableId";
        }];
        readonly outputs: readonly [{
            readonly type: "tuple";
            readonly components: readonly [{
                readonly type: "uint256[]";
                readonly name: "costTokenIds";
            }, {
                readonly type: "uint256[]";
                readonly name: "costTokenAmounts";
            }, {
                readonly type: "tuple[]";
                readonly name: "rewards";
                readonly components: readonly [{
                    readonly type: "uint256[]";
                    readonly name: "tokenIds";
                }, {
                    readonly type: "uint256[]";
                    readonly name: "tokenAmounts";
                }, {
                    readonly type: "uint256";
                    readonly name: "ronAmount";
                }];
            }, {
                readonly type: "uint256[]";
                readonly name: "chanceRanges";
            }, {
                readonly type: "uint256";
                readonly name: "totalChance";
            }];
        }];
    }, {
        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: "getStorage";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "tuple";
            readonly components: readonly [{
                readonly type: "address";
                readonly name: "itemContract";
            }, {
                readonly type: "uint256[]";
                readonly name: "rewardTableIDs";
            }, {
                readonly type: "tuple[]";
                readonly name: "rewardTables";
                readonly components: readonly [{
                    readonly type: "uint256[]";
                    readonly name: "costTokenIds";
                }, {
                    readonly type: "uint256[]";
                    readonly name: "costTokenAmounts";
                }, {
                    readonly type: "tuple[]";
                    readonly name: "rewards";
                    readonly components: readonly [{
                        readonly type: "uint256[]";
                        readonly name: "tokenIds";
                    }, {
                        readonly type: "uint256[]";
                        readonly name: "tokenAmounts";
                    }, {
                        readonly type: "uint256";
                        readonly name: "ronAmount";
                    }];
                }, {
                    readonly type: "uint256[]";
                    readonly name: "chances";
                }];
            }];
        }];
    }, {
        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: "tuple";
            readonly name: "_initializer";
            readonly components: readonly [{
                readonly type: "address";
                readonly name: "adminAddress";
            }, {
                readonly type: "address";
                readonly name: "itemContract";
            }, {
                readonly type: "uint256[]";
                readonly name: "rewardTableIDs";
            }, {
                readonly type: "tuple[]";
                readonly name: "rewardTables";
                readonly components: readonly [{
                    readonly type: "uint256[]";
                    readonly name: "costTokenIds";
                }, {
                    readonly type: "uint256[]";
                    readonly name: "costTokenAmounts";
                }, {
                    readonly type: "tuple[]";
                    readonly name: "rewards";
                    readonly components: readonly [{
                        readonly type: "uint256[]";
                        readonly name: "tokenIds";
                    }, {
                        readonly type: "uint256[]";
                        readonly name: "tokenAmounts";
                    }, {
                        readonly type: "uint256";
                        readonly name: "ronAmount";
                    }];
                }, {
                    readonly type: "uint256[]";
                    readonly name: "chances";
                }];
            }];
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "pause";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [];
        readonly outputs: readonly [];
    }, {
        readonly name: "paused";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "bool";
        }];
    }, {
        readonly name: "proxiableUUID";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "bytes32";
        }];
    }, {
        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: "supportsInterface";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "bytes4";
            readonly name: "interfaceId";
        }];
        readonly outputs: readonly [{
            readonly type: "bool";
        }];
    }, {
        readonly name: "treasuryAddress";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "address";
        }];
    }, {
        readonly name: "unpause";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [];
        readonly outputs: readonly [];
    }, {
        readonly name: "upgradeToAndCall";
        readonly type: "function";
        readonly stateMutability: "payable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "newImplementation";
        }, {
            readonly type: "bytes";
            readonly name: "data";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "validatorContract";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "address";
        }];
    }, {
        readonly name: "version";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "string";
        }];
    }];
};

export { contract as default };
