declare const contract: {
    readonly id: 34915;
    readonly address: "0x7f14342919b9d4b179fb7bd307bf6e90f073a829";
    readonly contract_name: "TransparentUpgradeableProxy";
    readonly display_name: "Cocksino Ending Game Proxy";
    readonly is_deprecated: false;
    readonly is_proxy: true;
    readonly proxy_to: "0x2ecea474e6f16f7c2e2613bf897cd8aad5a6f2f0";
    readonly created_at: 1747666136;
    readonly abi: readonly [{
        readonly type: "constructor";
        readonly stateMutability: "payable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "_logic";
        }, {
            readonly type: "address";
            readonly name: "admin_";
        }, {
            readonly type: "bytes";
            readonly name: "_data";
        }];
    }, {
        readonly name: "AdminChanged";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "previousAdmin";
        }, {
            readonly type: "address";
            readonly name: "newAdmin";
        }];
    }, {
        readonly name: "BeaconUpgraded";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "beacon";
            readonly indexed: true;
        }];
    }, {
        readonly name: "Upgraded";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "implementation";
            readonly indexed: true;
        }];
    }, {
        readonly type: "fallback";
        readonly stateMutability: "payable";
    }, {
        readonly name: "admin";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "address";
            readonly name: "admin_";
        }];
    }, {
        readonly name: "changeAdmin";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "newAdmin";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "implementation";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "address";
            readonly name: "implementation_";
        }];
    }, {
        readonly name: "upgradeTo";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "newImplementation";
        }];
        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 type: "receive";
        readonly stateMutability: "payable";
    }];
    readonly proxy_abi: 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: "EnforcedPause";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrERC20TransferFailed";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrGameAlreadyDone";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrGameNotFound";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrInsufficientContractBalance";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrInvalidAmount";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrInvalidNumber";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrInvalidTimestamp";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrNoPot";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrRonNotAccepted";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrRonTransferFailed";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrSameNumberNotAllowed";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrSlotAlreadyTaken";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrSlotEndingInvalid";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ErrUnauthorizedAccount";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "account";
        }, {
            readonly type: "bytes32";
            readonly name: "neededRole";
        }];
    }, {
        readonly name: "ExpectedPause";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidInitialization";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "NotInitializing";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "PurchaseTimeoutError";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ReentrancyGuardReentrantCall";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "SafeERC20FailedOperation";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "token";
        }];
    }, {
        readonly name: "FeeWalletUpdated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "newFeeWallet";
        }];
    }, {
        readonly name: "GameCreated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "gameId";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "token";
        }, {
            readonly type: "uint256";
            readonly name: "pricePerSlot";
        }, {
            readonly type: "uint256";
            readonly name: "buyEnd";
        }];
    }, {
        readonly name: "GameFinished";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "gameId";
            readonly indexed: true;
        }];
    }, {
        readonly name: "Initialized";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint64";
            readonly name: "version";
        }];
    }, {
        readonly name: "MultiplierUpdated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "newMultiplier";
        }];
    }, {
        readonly name: "Paused";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "account";
        }];
    }, {
        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: "SlotPurchased";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "gameId";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "user";
            readonly indexed: true;
        }, {
            readonly type: "uint8";
            readonly name: "endingA";
        }, {
            readonly type: "uint8";
            readonly name: "endingB";
        }];
    }, {
        readonly name: "Unpaused";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "account";
        }];
    }, {
        readonly name: "WinnerDeclared";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "gameId";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "winner";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "token";
        }, {
            readonly type: "uint8";
            readonly name: "endingA";
        }, {
            readonly type: "uint8";
            readonly name: "endingB";
        }, {
            readonly type: "uint256";
            readonly name: "prize";
        }];
    }, {
        readonly name: "DEFAULT_ADMIN_ROLE";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "bytes32";
        }];
    }, {
        readonly name: "FEE_WALLET";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "address";
        }];
    }, {
        readonly name: "GAME_COUNTER";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "GAME_MANAGER_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: "WINNING_MULTIPLIER";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "uint8";
        }];
    }, {
        readonly name: "batchGetGameInfo";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "uint256[]";
            readonly name: "gameIds";
        }];
        readonly outputs: readonly [{
            readonly type: "address[]";
            readonly name: "tokens";
        }, {
            readonly type: "uint256[]";
            readonly name: "pricePerSlots";
        }, {
            readonly type: "bool[]";
            readonly name: "isActives";
        }, {
            readonly type: "bool[]";
            readonly name: "isFinisheds";
        }, {
            readonly type: "uint8[]";
            readonly name: "winningEndingAs";
        }, {
            readonly type: "uint8[]";
            readonly name: "winningEndingBs";
        }, {
            readonly type: "uint256[]";
            readonly name: "totalPots";
        }, {
            readonly type: "uint256[]";
            readonly name: "buyEnd";
        }];
    }, {
        readonly name: "buySlot";
        readonly type: "function";
        readonly stateMutability: "payable";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "gameId";
        }, {
            readonly type: "uint8";
            readonly name: "endingA";
        }, {
            readonly type: "uint8";
            readonly name: "endingB";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "createGame";
        readonly type: "function";
        readonly stateMutability: "payable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "token";
        }, {
            readonly type: "uint256";
            readonly name: "pricePerSlot";
        }, {
            readonly type: "uint256";
            readonly name: "buyEnd";
        }];
        readonly outputs: readonly [{
            readonly type: "uint256";
            readonly name: "gameId";
        }];
    }, {
        readonly name: "declareWinner";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "gameId";
        }, {
            readonly type: "uint8";
            readonly name: "endingA";
        }, {
            readonly type: "uint8";
            readonly name: "endingB";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "emergencyWithdraw";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "token";
        }, {
            readonly type: "address";
            readonly name: "to";
        }, {
            readonly type: "uint256";
            readonly name: "amount";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "getAllActiveGames";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "uint256[]";
        }];
    }, {
        readonly name: "getAllGames";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "uint256[]";
        }];
    }, {
        readonly name: "getAllSlotOwners";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "gameId";
        }];
        readonly outputs: readonly [{
            readonly type: "bytes8[]";
            readonly name: "slotKeys";
        }, {
            readonly type: "address[]";
            readonly name: "owners";
        }];
    }, {
        readonly name: "getGameInfo";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "gameId";
        }];
        readonly outputs: readonly [{
            readonly type: "address";
            readonly name: "token";
        }, {
            readonly type: "uint256";
            readonly name: "pricePerSlot";
        }, {
            readonly type: "bool";
            readonly name: "isActive";
        }, {
            readonly type: "bool";
            readonly name: "isFinished";
        }, {
            readonly type: "uint8";
            readonly name: "winningEndingA";
        }, {
            readonly type: "uint8";
            readonly name: "winningEndingB";
        }, {
            readonly type: "uint256";
            readonly name: "totalPot";
        }, {
            readonly type: "uint256";
            readonly name: "buyEnd";
        }];
    }, {
        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: "getRoleMembers";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "role";
        }];
        readonly outputs: readonly [{
            readonly type: "address[]";
        }];
    }, {
        readonly name: "getSlotOwner";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "gameId";
        }, {
            readonly type: "uint8";
            readonly name: "endingA";
        }, {
            readonly type: "uint8";
            readonly name: "endingB";
        }];
        readonly outputs: readonly [{
            readonly type: "address";
        }];
    }, {
        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: "_FEE_WALLET";
        }, {
            readonly type: "uint8";
            readonly name: "_WINNING_MULTIPLIER";
        }];
        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: "refundBatch";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "uint256[]";
            readonly name: "gameIds";
        }];
        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: "setNewFeeWallet";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "newWallet";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "setNewMultiplier";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "uint8";
            readonly name: "newMultiplier";
        }];
        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 outputs: readonly [];
    }, {
        readonly type: "receive";
        readonly stateMutability: "payable";
    }];
};

export { contract as default };
