export declare const abi: readonly [{
    readonly type: "constructor";
    readonly inputs: readonly [{
        readonly name: "_permissionController";
        readonly type: "address";
        readonly internalType: "contract IPermissionController";
    }, {
        readonly name: "_reservationRegistry";
        readonly type: "address";
        readonly internalType: "contract IReservationRegistry";
    }, {
        readonly name: "_slashingRegistryCoordinator";
        readonly type: "address";
        readonly internalType: "contract ISlashingRegistryCoordinator";
    }, {
        readonly name: "_indexRegistry";
        readonly type: "address";
        readonly internalType: "contract IIndexRegistry";
    }, {
        readonly name: "_stakeRegistry";
        readonly type: "address";
        readonly internalType: "contract IStakeRegistry";
    }, {
        readonly name: "_paymentToken";
        readonly type: "address";
        readonly internalType: "contract IERC20";
    }];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "DENOMINATOR";
    readonly inputs: readonly [];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "THRESHOLD";
    readonly inputs: readonly [];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "getFinalizedResponse";
    readonly inputs: readonly [{
        readonly name: "requestIndex";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "status";
        readonly type: "uint8";
        readonly internalType: "enum IReexecutionEndpoint.RequestStatus";
    }, {
        readonly name: "finalizedResultHash";
        readonly type: "bytes32";
        readonly internalType: "bytes32";
    }];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "getFinalizedResponseView";
    readonly inputs: readonly [{
        readonly name: "requestIndex";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "status";
        readonly type: "uint8";
        readonly internalType: "enum IReexecutionEndpoint.RequestStatus";
    }, {
        readonly name: "finalizedResultHash";
        readonly type: "bytes32";
        readonly internalType: "bytes32";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "getRequest";
    readonly inputs: readonly [{
        readonly name: "requestIndex";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "request";
        readonly type: "tuple";
        readonly internalType: "struct IReexecutionEndpoint.ReexecutionRequest";
        readonly components: readonly [{
            readonly name: "avs";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "imageID";
            readonly type: "uint32";
            readonly internalType: "uint32";
        }, {
            readonly name: "syncPayloadHash";
            readonly type: "bytes32";
            readonly internalType: "bytes32";
        }, {
            readonly name: "taskID";
            readonly type: "bytes32";
            readonly internalType: "bytes32";
        }, {
            readonly name: "taskPayloadHash";
            readonly type: "bytes32";
            readonly internalType: "bytes32";
        }, {
            readonly name: "requestBlock";
            readonly type: "uint32";
            readonly internalType: "uint32";
        }, {
            readonly name: "epochStartBlockNumber";
            readonly type: "uint32";
            readonly internalType: "uint32";
        }, {
            readonly name: "totalStakeWeight";
            readonly type: "uint96";
            readonly internalType: "uint96";
        }, {
            readonly name: "finalizedResultHash";
            readonly type: "bytes32";
            readonly internalType: "bytes32";
        }, {
            readonly name: "feePerOperator";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }, {
            readonly name: "status";
            readonly type: "uint8";
            readonly internalType: "enum IReexecutionEndpoint.RequestStatus";
        }];
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "getRequestCount";
    readonly inputs: readonly [];
    readonly outputs: readonly [{
        readonly name: "count";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "getRequestFee";
    readonly inputs: readonly [{
        readonly name: "blockNumber";
        readonly type: "uint32";
        readonly internalType: "uint32";
    }];
    readonly outputs: readonly [{
        readonly name: "requiredFee";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "feePerOperator";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "getRequestStatus";
    readonly inputs: readonly [{
        readonly name: "requestIndex";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "status";
        readonly type: "uint8";
        readonly internalType: "enum IReexecutionEndpoint.RequestStatus";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "getResultHash";
    readonly inputs: readonly [{
        readonly name: "requestIndex";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "operator";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "resultHash";
        readonly type: "bytes32";
        readonly internalType: "bytes32";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "hasOperatorResponded";
    readonly inputs: readonly [{
        readonly name: "requestIndex";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "operator";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bool";
        readonly internalType: "bool";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "indexRegistry";
    readonly inputs: readonly [];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "address";
        readonly internalType: "contract IIndexRegistry";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "initialize";
    readonly inputs: readonly [{
        readonly name: "initialOwner";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "_responseFeePerOperator";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "_reexecutionFeePerOperator";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "_responseWindowBlocks";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
}, {
    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: "paymentToken";
    readonly inputs: readonly [];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "address";
        readonly internalType: "contract IERC20";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "permissionController";
    readonly inputs: readonly [];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "address";
        readonly internalType: "contract IPermissionController";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "reexecutionFeePerOperator";
    readonly inputs: readonly [];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "renounceOwnership";
    readonly inputs: readonly [];
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "requestReexecution";
    readonly inputs: readonly [{
        readonly name: "imageID";
        readonly type: "uint32";
        readonly internalType: "uint32";
    }, {
        readonly name: "syncPayload";
        readonly type: "bytes";
        readonly internalType: "bytes";
    }, {
        readonly name: "taskID";
        readonly type: "bytes32";
        readonly internalType: "bytes32";
    }, {
        readonly name: "taskPayload";
        readonly type: "bytes";
        readonly internalType: "bytes";
    }];
    readonly outputs: readonly [{
        readonly name: "requestIndex";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "reservationRegistry";
    readonly inputs: readonly [];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "address";
        readonly internalType: "contract IReservationRegistry";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "respond";
    readonly inputs: readonly [{
        readonly name: "operator";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "requestIndex";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "resultHash";
        readonly type: "bytes32";
        readonly internalType: "bytes32";
    }, {
        readonly name: "";
        readonly type: "bytes";
        readonly internalType: "bytes";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "responseFeePerOperator";
    readonly inputs: readonly [];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "responseWindowBlocks";
    readonly inputs: readonly [];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "setReexecutionFeePerOperator";
    readonly inputs: readonly [{
        readonly name: "_reexecutionFeePerOperator";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "setResponseFeePerOperator";
    readonly inputs: readonly [{
        readonly name: "_responseFeePerOperator";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "setResponseWindowBlocks";
    readonly inputs: readonly [{
        readonly name: "_responseWindowBlocks";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "slashingRegistryCoordinator";
    readonly inputs: readonly [];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "address";
        readonly internalType: "contract ISlashingRegistryCoordinator";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "stakeRegistry";
    readonly inputs: readonly [];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "address";
        readonly internalType: "contract IStakeRegistry";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "transferOwnership";
    readonly inputs: readonly [{
        readonly name: "newOwner";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "event";
    readonly name: "Initialized";
    readonly inputs: readonly [{
        readonly name: "version";
        readonly type: "uint8";
        readonly indexed: false;
        readonly internalType: "uint8";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "OperatorResponse";
    readonly inputs: readonly [{
        readonly name: "requestIndex";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }, {
        readonly name: "operator";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }, {
        readonly name: "response";
        readonly type: "bytes32";
        readonly indexed: true;
        readonly internalType: "bytes32";
    }, {
        readonly name: "stake";
        readonly type: "uint256";
        readonly indexed: false;
        readonly internalType: "uint256";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "OwnershipTransferred";
    readonly inputs: readonly [{
        readonly name: "previousOwner";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }, {
        readonly name: "newOwner";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "ReexecutionRequestCreated";
    readonly inputs: readonly [{
        readonly name: "requestIndex";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }, {
        readonly name: "avs";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }, {
        readonly name: "reservationID";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }, {
        readonly name: "imageID";
        readonly type: "uint32";
        readonly indexed: false;
        readonly internalType: "uint32";
    }, {
        readonly name: "syncPayload";
        readonly type: "bytes";
        readonly indexed: false;
        readonly internalType: "bytes";
    }, {
        readonly name: "taskID";
        readonly type: "bytes32";
        readonly indexed: false;
        readonly internalType: "bytes32";
    }, {
        readonly name: "taskPayload";
        readonly type: "bytes";
        readonly indexed: false;
        readonly internalType: "bytes";
    }, {
        readonly name: "requestBlock";
        readonly type: "uint32";
        readonly indexed: false;
        readonly internalType: "uint32";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "ResponseFinalized";
    readonly inputs: readonly [{
        readonly name: "requestIndex";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }, {
        readonly name: "finalizedResultHash";
        readonly type: "bytes32";
        readonly indexed: true;
        readonly internalType: "bytes32";
    }];
    readonly anonymous: false;
}, {
    readonly type: "error";
    readonly name: "InvalidPermissions";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "InvalidRequest";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "InvalidRequestIndex";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "MaxRequestsPerReservationExceeded";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "OperatorAlreadyResponded";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "OperatorHasNotResponded";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "OperatorNotRegistered";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "RequestNotPending";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "ResponseDeadlineNotPassed";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "ResponseDeadlinePassed";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "TimestampBeforeGenesis";
    readonly inputs: readonly [];
}];
