declare const contract: {
    readonly id: 1578;
    readonly address: "0x8d34da00d712a5aa5444f7619ac6390abfb6e9e4";
    readonly contract_name: "LandDelegationV2";
    readonly display_name: "Land Delegation Logic";
    readonly is_deprecated: false;
    readonly is_proxy: false;
    readonly proxy_to: false;
    readonly created_at: 1705558627;
    readonly abi: readonly [{
        readonly type: "constructor";
        readonly stateMutability: "payable";
        readonly inputs: readonly [];
    }, {
        readonly name: "AgreementExpiredOrNotYetStarted";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "AlreadyAssignedFor";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "steward";
        }, {
            readonly type: "bytes32";
            readonly name: "agreementHash";
        }];
    }, {
        readonly name: "AlreadyClaimed";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "AlreadySubmited";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "AlreadyTerminated";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ExceedsMaxLevel";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ExpiredAgreement";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "FixedSalaryInvalidConfig";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InsufficientAmount";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "token";
        }, {
            readonly type: "uint256";
            readonly name: "required";
        }];
    }, {
        readonly name: "InvalidConfig";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidDuration";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidOwnerOf";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "id";
        }];
    }, {
        readonly name: "InvalidRatio";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidShortString";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidSignature";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "signer";
        }];
    }, {
        readonly name: "NFTIsForbidden";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "token";
        }];
    }, {
        readonly name: "NativeValueShouldBeZero";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "NullAddress";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "OwnerIsSteward";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "PayoutTokenIsForbidden";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "token";
        }];
    }, {
        readonly name: "RatioExceedMaxPercentage";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "RewardSharingInvalidConfig";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "SignatureExpired";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "SignatureUsed";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "bytes";
            readonly name: "signature";
        }];
    }, {
        readonly name: "StringTooLong";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "string";
            readonly name: "str";
        }];
    }, {
        readonly name: "TerminationTooEarly";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "Unauthorized";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "UnexistAgreement";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "UnknownSteward";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "AgreementExtended";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "submitter";
            readonly indexed: true;
        }, {
            readonly type: "bytes32";
            readonly name: "agreementHash";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "depositAmount";
        }, {
            readonly type: "uint64";
            readonly name: "endAt";
        }];
    }, {
        readonly name: "AgreementSubmitted";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "submitter";
            readonly indexed: true;
        }, {
            readonly type: "bytes32";
            readonly name: "agreementHash";
            readonly indexed: true;
        }, {
            readonly type: "tuple";
            readonly name: "agreement";
            readonly components: readonly [{
                readonly type: "address";
                readonly name: "owner";
            }, {
                readonly type: "uint8";
                readonly name: "payoutOption";
            }, {
                readonly type: "uint8";
                readonly name: "extensionRule";
            }, {
                readonly type: "uint8";
                readonly name: "earlyTermination";
            }, {
                readonly type: "tuple[]";
                readonly name: "payouts";
                readonly components: readonly [{
                    readonly type: "uint8";
                    readonly name: "recipientOpt";
                }, {
                    readonly type: "uint256";
                    readonly name: "ratio";
                }];
            }, {
                readonly type: "uint256";
                readonly name: "salary";
            }, {
                readonly type: "uint256";
                readonly name: "level";
            }, {
                readonly type: "address";
                readonly name: "payoutToken";
            }, {
                readonly type: "address";
                readonly name: "nft";
            }, {
                readonly type: "uint256[]";
                readonly name: "ids";
            }, {
                readonly type: "address[]";
                readonly name: "acceptances";
            }, {
                readonly type: "uint64";
                readonly name: "duration";
            }, {
                readonly type: "string";
                readonly name: "agreementCode";
            }];
        }];
    }, {
        readonly name: "AgreementTerminated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "submitter";
            readonly indexed: true;
        }, {
            readonly type: "bytes32";
            readonly name: "agreementHash";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "terminatedAt";
        }];
    }, {
        readonly name: "EIP712DomainChanged";
        readonly type: "event";
        readonly inputs: readonly [];
    }, {
        readonly name: "EarningsClaimed";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "caller";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "payee";
            readonly indexed: true;
        }, {
            readonly type: "bytes32";
            readonly name: "agreementHash";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "payout";
        }];
    }, {
        readonly name: "Initialized";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "uint8";
            readonly name: "version";
        }];
    }, {
        readonly name: "MaxLevelUpdated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "operator";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "maxLevel";
        }];
    }, {
        readonly name: "Paused";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "account";
        }];
    }, {
        readonly name: "Refunded";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "refundAddr";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "payoutToken";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "refundAmount";
        }];
    }, {
        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: "TerminationMinDurationUpdated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "operator";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "newTerminationMinDuration";
        }];
    }, {
        readonly name: "TokenStatusUpdated";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "operator";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "token";
            readonly indexed: true;
        }, {
            readonly type: "bool";
            readonly name: "isBlacklisted";
        }];
    }, {
        readonly name: "Unpaused";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "account";
        }];
    }, {
        readonly name: "DEFAULT_ADMIN_ROLE";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "bytes32";
        }];
    }, {
        readonly name: "MAX_PERCENTAGE";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "NATIVE_TOKEN";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "address";
        }];
    }, {
        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: "eip712Domain";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "bytes1";
            readonly name: "fields";
        }, {
            readonly type: "string";
            readonly name: "name";
        }, {
            readonly type: "string";
            readonly name: "version";
        }, {
            readonly type: "uint256";
            readonly name: "chainId";
        }, {
            readonly type: "address";
            readonly name: "verifyingContract";
        }, {
            readonly type: "bytes32";
            readonly name: "salt";
        }, {
            readonly type: "uint256[]";
            readonly name: "extensions";
        }];
    }, {
        readonly name: "extendAgreement";
        readonly type: "function";
        readonly stateMutability: "payable";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "agreementHash";
        }, {
            readonly type: "uint64";
            readonly name: "duration";
        }, {
            readonly type: "uint64";
            readonly name: "validUntil";
        }, {
            readonly type: "bytes";
            readonly name: "approvalSig";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "getAgreementOf";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "nft";
        }, {
            readonly type: "uint256";
            readonly name: "id";
        }];
        readonly outputs: readonly [{
            readonly type: "bytes32";
            readonly name: "agreementHash";
        }];
    }, {
        readonly name: "getAllAgreementHashes";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "bytes32[]";
            readonly name: "agreementHashes";
        }];
    }, {
        readonly name: "getAssignedAgreements";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "steward";
        }];
        readonly outputs: readonly [{
            readonly type: "bytes32[]";
            readonly name: "agreementHashes";
        }];
    }, {
        readonly name: "getCurrentState";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "agreementHash";
        }];
        readonly outputs: readonly [{
            readonly type: "tuple";
            readonly name: "realTimeAgreement";
            readonly components: readonly [{
                readonly type: "address";
                readonly name: "owner";
            }, {
                readonly type: "uint8";
                readonly name: "payoutOption";
            }, {
                readonly type: "uint8";
                readonly name: "extensionRule";
            }, {
                readonly type: "uint8";
                readonly name: "earlyTermination";
            }, {
                readonly type: "uint64";
                readonly name: "terminatedAt";
            }, {
                readonly type: "uint64";
                readonly name: "submittedAt";
            }, {
                readonly type: "address";
                readonly name: "steward";
            }, {
                readonly type: "uint64";
                readonly name: "endAt";
            }, {
                readonly type: "address";
                readonly name: "payoutToken";
            }, {
                readonly type: "address";
                readonly name: "nft";
            }, {
                readonly type: "uint256";
                readonly name: "salary";
            }, {
                readonly type: "uint256";
                readonly name: "released";
            }, {
                readonly type: "uint256[]";
                readonly name: "ids";
            }];
        }];
    }, {
        readonly name: "getMaxLevel";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        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: "getStructAgreementHash";
        readonly type: "function";
        readonly stateMutability: "pure";
        readonly inputs: readonly [{
            readonly type: "tuple";
            readonly name: "agreement";
            readonly components: readonly [{
                readonly type: "address";
                readonly name: "owner";
            }, {
                readonly type: "uint8";
                readonly name: "payoutOption";
            }, {
                readonly type: "uint8";
                readonly name: "extensionRule";
            }, {
                readonly type: "uint8";
                readonly name: "earlyTermination";
            }, {
                readonly type: "tuple[]";
                readonly name: "payouts";
                readonly components: readonly [{
                    readonly type: "uint8";
                    readonly name: "recipientOpt";
                }, {
                    readonly type: "uint256";
                    readonly name: "ratio";
                }];
            }, {
                readonly type: "uint256";
                readonly name: "salary";
            }, {
                readonly type: "uint256";
                readonly name: "level";
            }, {
                readonly type: "address";
                readonly name: "payoutToken";
            }, {
                readonly type: "address";
                readonly name: "nft";
            }, {
                readonly type: "uint256[]";
                readonly name: "ids";
            }, {
                readonly type: "address[]";
                readonly name: "acceptances";
            }, {
                readonly type: "uint64";
                readonly name: "duration";
            }, {
                readonly type: "string";
                readonly name: "agreementCode";
            }];
        }];
        readonly outputs: readonly [{
            readonly type: "bytes32";
            readonly name: "structHash";
        }];
    }, {
        readonly name: "getStructExtendAgreementHash";
        readonly type: "function";
        readonly stateMutability: "pure";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "agreementHash";
        }, {
            readonly type: "uint64";
            readonly name: "duration";
        }, {
            readonly type: "uint256";
            readonly name: "depositAmount";
        }, {
            readonly type: "uint64";
            readonly name: "validUntil";
        }];
        readonly outputs: readonly [{
            readonly type: "bytes32";
            readonly name: "structHash";
        }];
    }, {
        readonly name: "getStructTerminateAgreementHash";
        readonly type: "function";
        readonly stateMutability: "pure";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "agreementHash";
        }, {
            readonly type: "uint64";
            readonly name: "validUntil";
        }];
        readonly outputs: readonly [{
            readonly type: "bytes32";
            readonly name: "structHash";
        }];
    }, {
        readonly name: "getTerminationMinDuration";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly name: "getTokenStatus";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "token";
        }];
        readonly outputs: readonly [{
            readonly type: "bool";
            readonly name: "isBlacklisted";
        }];
    }, {
        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: "admin";
        }, {
            readonly type: "uint256";
            readonly name: "maxLevel";
        }, {
            readonly type: "uint256";
            readonly name: "terminationMinDuration";
        }, {
            readonly type: "address[]";
            readonly name: "pausers";
        }, {
            readonly type: "address[]";
            readonly name: "operators";
        }];
        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: "renounceRole";
        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: "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: "setMaxLevel";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "maxLevel";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "setTerminationMinDuration";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "terminationMinDuration";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "setTokenStatus";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "token";
        }, {
            readonly type: "bool";
            readonly name: "shouldBlacklist";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "submitDelegationAgreement";
        readonly type: "function";
        readonly stateMutability: "payable";
        readonly inputs: readonly [{
            readonly type: "tuple";
            readonly name: "agreement";
            readonly components: readonly [{
                readonly type: "address";
                readonly name: "owner";
            }, {
                readonly type: "uint8";
                readonly name: "payoutOption";
            }, {
                readonly type: "uint8";
                readonly name: "extensionRule";
            }, {
                readonly type: "uint8";
                readonly name: "earlyTermination";
            }, {
                readonly type: "tuple[]";
                readonly name: "payouts";
                readonly components: readonly [{
                    readonly type: "uint8";
                    readonly name: "recipientOpt";
                }, {
                    readonly type: "uint256";
                    readonly name: "ratio";
                }];
            }, {
                readonly type: "uint256";
                readonly name: "salary";
            }, {
                readonly type: "uint256";
                readonly name: "level";
            }, {
                readonly type: "address";
                readonly name: "payoutToken";
            }, {
                readonly type: "address";
                readonly name: "nft";
            }, {
                readonly type: "uint256[]";
                readonly name: "ids";
            }, {
                readonly type: "address[]";
                readonly name: "acceptances";
            }, {
                readonly type: "uint64";
                readonly name: "duration";
            }, {
                readonly type: "string";
                readonly name: "agreementCode";
            }];
        }, {
            readonly type: "address";
            readonly name: "steward";
        }, {
            readonly type: "bytes";
            readonly name: "ownerSig";
        }, {
            readonly type: "bytes";
            readonly name: "stewardSig";
        }];
        readonly outputs: readonly [{
            readonly type: "tuple";
            readonly name: "currentState";
            readonly components: readonly [{
                readonly type: "address";
                readonly name: "owner";
            }, {
                readonly type: "uint8";
                readonly name: "payoutOption";
            }, {
                readonly type: "uint8";
                readonly name: "extensionRule";
            }, {
                readonly type: "uint8";
                readonly name: "earlyTermination";
            }, {
                readonly type: "uint64";
                readonly name: "terminatedAt";
            }, {
                readonly type: "uint64";
                readonly name: "submittedAt";
            }, {
                readonly type: "address";
                readonly name: "steward";
            }, {
                readonly type: "uint64";
                readonly name: "endAt";
            }, {
                readonly type: "address";
                readonly name: "payoutToken";
            }, {
                readonly type: "address";
                readonly name: "nft";
            }, {
                readonly type: "uint256";
                readonly name: "salary";
            }, {
                readonly type: "uint256";
                readonly name: "released";
            }, {
                readonly type: "uint256[]";
                readonly name: "ids";
            }];
        }];
    }, {
        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: "terminateAgreement";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "agreementHash";
        }, {
            readonly type: "uint64";
            readonly name: "validUntil";
        }, {
            readonly type: "bytes";
            readonly name: "approvalSig";
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "unpause";
        readonly type: "function";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [];
        readonly outputs: readonly [];
    }, {
        readonly name: "validateAgreement";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "tuple";
            readonly name: "agreement";
            readonly components: readonly [{
                readonly type: "address";
                readonly name: "owner";
            }, {
                readonly type: "uint8";
                readonly name: "payoutOption";
            }, {
                readonly type: "uint8";
                readonly name: "extensionRule";
            }, {
                readonly type: "uint8";
                readonly name: "earlyTermination";
            }, {
                readonly type: "tuple[]";
                readonly name: "payouts";
                readonly components: readonly [{
                    readonly type: "uint8";
                    readonly name: "recipientOpt";
                }, {
                    readonly type: "uint256";
                    readonly name: "ratio";
                }];
            }, {
                readonly type: "uint256";
                readonly name: "salary";
            }, {
                readonly type: "uint256";
                readonly name: "level";
            }, {
                readonly type: "address";
                readonly name: "payoutToken";
            }, {
                readonly type: "address";
                readonly name: "nft";
            }, {
                readonly type: "uint256[]";
                readonly name: "ids";
            }, {
                readonly type: "address[]";
                readonly name: "acceptances";
            }, {
                readonly type: "uint64";
                readonly name: "duration";
            }, {
                readonly type: "string";
                readonly name: "agreementCode";
            }];
        }];
        readonly outputs: readonly [{
            readonly type: "bool";
            readonly name: "isValid";
        }, {
            readonly type: "bytes";
            readonly name: "reason";
        }];
    }, {
        readonly name: "validateAndCheckSubmissionEligibility";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "tuple";
            readonly name: "agreement";
            readonly components: readonly [{
                readonly type: "address";
                readonly name: "owner";
            }, {
                readonly type: "uint8";
                readonly name: "payoutOption";
            }, {
                readonly type: "uint8";
                readonly name: "extensionRule";
            }, {
                readonly type: "uint8";
                readonly name: "earlyTermination";
            }, {
                readonly type: "tuple[]";
                readonly name: "payouts";
                readonly components: readonly [{
                    readonly type: "uint8";
                    readonly name: "recipientOpt";
                }, {
                    readonly type: "uint256";
                    readonly name: "ratio";
                }];
            }, {
                readonly type: "uint256";
                readonly name: "salary";
            }, {
                readonly type: "uint256";
                readonly name: "level";
            }, {
                readonly type: "address";
                readonly name: "payoutToken";
            }, {
                readonly type: "address";
                readonly name: "nft";
            }, {
                readonly type: "uint256[]";
                readonly name: "ids";
            }, {
                readonly type: "address[]";
                readonly name: "acceptances";
            }, {
                readonly type: "uint64";
                readonly name: "duration";
            }, {
                readonly type: "string";
                readonly name: "agreementCode";
            }];
        }, {
            readonly type: "address";
            readonly name: "steward";
        }, {
            readonly type: "address";
            readonly name: "submitter";
        }, {
            readonly type: "uint256";
            readonly name: "nativeAmount";
        }];
        readonly outputs: readonly [{
            readonly type: "bool";
            readonly name: "isValid";
        }, {
            readonly type: "bytes";
            readonly name: "reason";
        }];
    }];
};

export { contract as default };
