export declare const abi: readonly [{
    readonly type: "function";
    readonly name: "CHALLENGE_WINDOW";
    readonly inputs: readonly [];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "challenge";
    readonly inputs: readonly [{
        readonly name: "taskId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "challengeWatcher";
    readonly inputs: readonly [];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "challenges";
    readonly inputs: readonly [{
        readonly name: "taskId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "tuple";
        readonly internalType: "struct ITaskDispatch.Challenge";
        readonly components: readonly [{
            readonly name: "challenger";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "challengedResultHash";
            readonly type: "bytes32";
            readonly internalType: "bytes32";
        }, {
            readonly name: "timestamp";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }, {
            readonly name: "resolved";
            readonly type: "bool";
            readonly internalType: "bool";
        }, {
            readonly name: "challengeSuccessful";
            readonly type: "bool";
            readonly internalType: "bool";
        }];
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "getChallengeDetails";
    readonly inputs: readonly [{
        readonly name: "taskId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "challenger";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "challengedResultHash";
        readonly type: "bytes32";
        readonly internalType: "bytes32";
    }, {
        readonly name: "timestamp";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "resolved";
        readonly type: "bool";
        readonly internalType: "bool";
    }, {
        readonly name: "challengeSuccessful";
        readonly type: "bool";
        readonly internalType: "bool";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "getGovernance";
    readonly inputs: readonly [{
        readonly name: "taskId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bytes[]";
        readonly internalType: "bytes[]";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "getOperatorStake";
    readonly inputs: readonly [{
        readonly name: "operator";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "stake";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "getTaskChallengeInfo";
    readonly inputs: readonly [{
        readonly name: "taskId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "challengeDeadline";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "canChallenge";
        readonly type: "bool";
        readonly internalType: "bool";
    }, {
        readonly name: "timeRemaining";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "getTaskDetails";
    readonly inputs: readonly [{
        readonly name: "taskId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "serviceName";
        readonly type: "string";
        readonly internalType: "string";
    }, {
        readonly name: "serviceVersion";
        readonly type: "string";
        readonly internalType: "string";
    }, {
        readonly name: "functionName";
        readonly type: "string";
        readonly internalType: "string";
    }, {
        readonly name: "args";
        readonly type: "bytes";
        readonly internalType: "bytes";
    }, {
        readonly name: "stakeThreshold";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "remainingStake";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "isConsensus";
        readonly type: "bool";
        readonly internalType: "bool";
    }, {
        readonly name: "consensusType";
        readonly type: "uint8";
        readonly internalType: "enum ITaskDispatch.ConsensusType";
    }, {
        readonly name: "isLocal";
        readonly type: "bool";
        readonly internalType: "bool";
    }, {
        readonly name: "deterministic";
        readonly type: "bool";
        readonly internalType: "bool";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "getTaskFlags";
    readonly inputs: readonly [{
        readonly name: "taskId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "flags";
        readonly type: "uint8";
        readonly internalType: "uint8";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "getTaskStatus";
    readonly inputs: readonly [{
        readonly name: "taskId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "exists";
        readonly type: "bool";
        readonly internalType: "bool";
    }, {
        readonly name: "completed";
        readonly type: "bool";
        readonly internalType: "bool";
    }, {
        readonly name: "failed";
        readonly type: "bool";
        readonly internalType: "bool";
    }, {
        readonly name: "finalResponse";
        readonly type: "bytes";
        readonly internalType: "bytes";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "getTaskVotingOperators";
    readonly inputs: readonly [{
        readonly name: "taskId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "address[]";
        readonly internalType: "address[]";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "nextTaskId";
    readonly inputs: readonly [];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "owner";
    readonly inputs: readonly [];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "resolveChallenge";
    readonly inputs: readonly [{
        readonly name: "taskId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "challengeSuccessful";
        readonly type: "bool";
        readonly internalType: "bool";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "setChallengeWatcher";
    readonly inputs: readonly [{
        readonly name: "newChallengeWatcher";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "setStakeUpdater";
    readonly inputs: readonly [{
        readonly name: "newStakeUpdater";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "stakeUpdater";
    readonly inputs: readonly [];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "submitResult";
    readonly inputs: readonly [{
        readonly name: "taskId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "_response";
        readonly type: "tuple";
        readonly internalType: "struct ITaskDispatch.ResponseInput";
        readonly components: readonly [{
            readonly name: "success";
            readonly type: "bool";
            readonly internalType: "bool";
        }, {
            readonly name: "resultType";
            readonly type: "string";
            readonly internalType: "string";
        }, {
            readonly name: "result";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }, {
            readonly name: "extra";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }];
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "submitTask";
    readonly inputs: readonly [{
        readonly name: "serviceName";
        readonly type: "string";
        readonly internalType: "string";
    }, {
        readonly name: "serviceVersion";
        readonly type: "string";
        readonly internalType: "string";
    }, {
        readonly name: "functionName";
        readonly type: "string";
        readonly internalType: "string";
    }, {
        readonly name: "args";
        readonly type: "bytes";
        readonly internalType: "bytes";
    }, {
        readonly name: "stakeThreshold";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "consensusType";
        readonly type: "uint8";
        readonly internalType: "enum ITaskDispatch.ConsensusType";
    }, {
        readonly name: "isConsensus";
        readonly type: "bool";
        readonly internalType: "bool";
    }, {
        readonly name: "callbackReceiver";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "isLocal";
        readonly type: "bool";
        readonly internalType: "bool";
    }, {
        readonly name: "isDeterministic";
        readonly type: "bool";
        readonly internalType: "bool";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "taskChallengeDeadlines";
    readonly inputs: readonly [{
        readonly name: "taskId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "taskToConsensusTask";
    readonly inputs: readonly [{
        readonly name: "taskId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "taskVotingOperators";
    readonly inputs: readonly [{
        readonly name: "taskId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "index";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "totalOperatorStake";
    readonly inputs: readonly [];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "updateOperatorStake";
    readonly inputs: readonly [{
        readonly name: "operator";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "newStake";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "updateOperatorStakes";
    readonly inputs: readonly [{
        readonly name: "operatorList";
        readonly type: "address[]";
        readonly internalType: "address[]";
    }, {
        readonly name: "newStakes";
        readonly type: "uint256[]";
        readonly internalType: "uint256[]";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "event";
    readonly name: "CallbackFailed";
    readonly inputs: readonly [{
        readonly name: "taskId";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }, {
        readonly name: "callbackReceiver";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }, {
        readonly name: "reason";
        readonly type: "string";
        readonly indexed: false;
        readonly internalType: "string";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "ChallengeRequested";
    readonly inputs: readonly [{
        readonly name: "taskId";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }, {
        readonly name: "challenger";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }, {
        readonly name: "resultHash";
        readonly type: "bytes32";
        readonly indexed: false;
        readonly internalType: "bytes32";
    }, {
        readonly name: "operatorsWhoAgreed";
        readonly type: "address[]";
        readonly indexed: false;
        readonly internalType: "address[]";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "ChallengeResolved";
    readonly inputs: readonly [{
        readonly name: "taskId";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }, {
        readonly name: "challengeSuccessful";
        readonly type: "bool";
        readonly indexed: false;
        readonly internalType: "bool";
    }, {
        readonly name: "slashedOperators";
        readonly type: "address[]";
        readonly indexed: false;
        readonly internalType: "address[]";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "GovernanceEvent";
    readonly inputs: readonly [{
        readonly name: "taskId";
        readonly type: "uint256";
        readonly indexed: false;
        readonly internalType: "uint256";
    }, {
        readonly name: "consensusTaskId";
        readonly type: "uint256";
        readonly indexed: false;
        readonly internalType: "uint256";
    }, {
        readonly name: "l1safeHash";
        readonly type: "bytes32";
        readonly indexed: false;
        readonly internalType: "bytes32";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "OperatorStakeUpdated";
    readonly inputs: readonly [{
        readonly name: "operator";
        readonly type: "address";
        readonly indexed: false;
        readonly internalType: "address";
    }, {
        readonly name: "newStake";
        readonly type: "uint256";
        readonly indexed: false;
        readonly internalType: "uint256";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "ResultSubmitted";
    readonly inputs: readonly [{
        readonly name: "taskId";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }, {
        readonly name: "operator";
        readonly type: "address";
        readonly indexed: false;
        readonly internalType: "address";
    }, {
        readonly name: "response";
        readonly type: "tuple";
        readonly indexed: false;
        readonly internalType: "struct ITaskDispatch.ResponseInput";
        readonly components: readonly [{
            readonly name: "success";
            readonly type: "bool";
            readonly internalType: "bool";
        }, {
            readonly name: "resultType";
            readonly type: "string";
            readonly internalType: "string";
        }, {
            readonly name: "result";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }, {
            readonly name: "extra";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }];
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "StakeUpdaterChanged";
    readonly inputs: readonly [{
        readonly name: "oldStakeUpdater";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }, {
        readonly name: "newStakeUpdater";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "TaskFailed";
    readonly inputs: readonly [{
        readonly name: "taskId";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "TaskRequested";
    readonly inputs: readonly [{
        readonly name: "taskId";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }, {
        readonly name: "serviceName";
        readonly type: "string";
        readonly indexed: false;
        readonly internalType: "string";
    }, {
        readonly name: "serviceVersion";
        readonly type: "string";
        readonly indexed: false;
        readonly internalType: "string";
    }, {
        readonly name: "functionName";
        readonly type: "string";
        readonly indexed: false;
        readonly internalType: "string";
    }, {
        readonly name: "args";
        readonly type: "bytes";
        readonly indexed: false;
        readonly internalType: "bytes";
    }, {
        readonly name: "stakeThreshold";
        readonly type: "uint256";
        readonly indexed: false;
        readonly internalType: "uint256";
    }, {
        readonly name: "isConsensus";
        readonly type: "bool";
        readonly indexed: false;
        readonly internalType: "bool";
    }, {
        readonly name: "consensusType";
        readonly type: "uint256";
        readonly indexed: false;
        readonly internalType: "uint256";
    }, {
        readonly name: "isLocal";
        readonly type: "bool";
        readonly indexed: true;
        readonly internalType: "bool";
    }, {
        readonly name: "isDeterministic";
        readonly type: "bool";
        readonly indexed: false;
        readonly internalType: "bool";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "TaskSuccess";
    readonly inputs: readonly [{
        readonly name: "taskId";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }, {
        readonly name: "response";
        readonly type: "tuple";
        readonly indexed: false;
        readonly internalType: "struct ITaskDispatch.ResponseInput";
        readonly components: readonly [{
            readonly name: "success";
            readonly type: "bool";
            readonly internalType: "bool";
        }, {
            readonly name: "resultType";
            readonly type: "string";
            readonly internalType: "string";
        }, {
            readonly name: "result";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }, {
            readonly name: "extra";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }];
    }];
    readonly anonymous: false;
}];
