import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers";
import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "./common.ts";
export declare namespace IReclaimServiceManager {
    type ClaimRequestStruct = {
        provider: string;
        claimUserId: BytesLike;
        claimHash: BytesLike;
        requestedAt: BigNumberish;
        owner: AddressLike;
    };
    type ClaimRequestStructOutput = [
        provider: string,
        claimUserId: string,
        claimHash: string,
        requestedAt: bigint,
        owner: string
    ] & {
        provider: string;
        claimUserId: string;
        claimHash: string;
        requestedAt: bigint;
        owner: string;
    };
    type OperatorMetadataStruct = {
        addr: AddressLike;
        url: string;
    };
    type OperatorMetadataStructOutput = [addr: string, url: string] & {
        addr: string;
        url: string;
    };
    type OperatorStruct = {
        addr: AddressLike;
        url: string;
    };
    type OperatorStructOutput = [addr: string, url: string] & {
        addr: string;
        url: string;
    };
    type TaskStruct = {
        request: IReclaimServiceManager.ClaimRequestStruct;
        createdAt: BigNumberish;
        expiresAt: BigNumberish;
        minimumSignatures: BigNumberish;
        operators: IReclaimServiceManager.OperatorStruct[];
        feePaid: BigNumberish;
    };
    type TaskStructOutput = [
        request: IReclaimServiceManager.ClaimRequestStructOutput,
        createdAt: bigint,
        expiresAt: bigint,
        minimumSignatures: bigint,
        operators: IReclaimServiceManager.OperatorStructOutput[],
        feePaid: bigint
    ] & {
        request: IReclaimServiceManager.ClaimRequestStructOutput;
        createdAt: bigint;
        expiresAt: bigint;
        minimumSignatures: bigint;
        operators: IReclaimServiceManager.OperatorStructOutput[];
        feePaid: bigint;
    };
    type CompletedTaskStruct = {
        task: IReclaimServiceManager.TaskStruct;
        signatures: BytesLike[];
    };
    type CompletedTaskStructOutput = [
        task: IReclaimServiceManager.TaskStructOutput,
        signatures: string[]
    ] & {
        task: IReclaimServiceManager.TaskStructOutput;
        signatures: string[];
    };
    type TaskCreationMetadataStruct = {
        maxTaskLifetimeS: BigNumberish;
        minSignaturesPerTask: BigNumberish;
        maxTaskCreationDelayS: BigNumberish;
    };
    type TaskCreationMetadataStructOutput = [
        maxTaskLifetimeS: bigint,
        minSignaturesPerTask: bigint,
        maxTaskCreationDelayS: bigint
    ] & {
        maxTaskLifetimeS: bigint;
        minSignaturesPerTask: bigint;
        maxTaskCreationDelayS: bigint;
    };
}
export declare namespace IPaymentCoordinator {
    type StrategyAndMultiplierStruct = {
        strategy: AddressLike;
        multiplier: BigNumberish;
    };
    type StrategyAndMultiplierStructOutput = [
        strategy: string,
        multiplier: bigint
    ] & {
        strategy: string;
        multiplier: bigint;
    };
    type RangePaymentStruct = {
        strategiesAndMultipliers: IPaymentCoordinator.StrategyAndMultiplierStruct[];
        token: AddressLike;
        amount: BigNumberish;
        startTimestamp: BigNumberish;
        duration: BigNumberish;
    };
    type RangePaymentStructOutput = [
        strategiesAndMultipliers: IPaymentCoordinator.StrategyAndMultiplierStructOutput[],
        token: string,
        amount: bigint,
        startTimestamp: bigint,
        duration: bigint
    ] & {
        strategiesAndMultipliers: IPaymentCoordinator.StrategyAndMultiplierStructOutput[];
        token: string;
        amount: bigint;
        startTimestamp: bigint;
        duration: bigint;
    };
}
export declare namespace ISignatureUtils {
    type SignatureWithSaltAndExpiryStruct = {
        signature: BytesLike;
        salt: BytesLike;
        expiry: BigNumberish;
    };
    type SignatureWithSaltAndExpiryStructOutput = [
        signature: string,
        salt: string,
        expiry: bigint
    ] & {
        signature: string;
        salt: string;
        expiry: bigint;
    };
}
export interface ReclaimServiceManagerInterface extends Interface {
    getFunction(nameOrSignature: "admins" | "allTaskHashes" | "avsDirectory" | "checkSignerAddress" | "createNewTask" | "deregisterOperatorFromAVS" | "encodeClaimRequest" | "getMetadataForOperator" | "getOperatorRestakedStrategies" | "getRestakeableStrategies" | "isAdmin" | "isOperatorWhitelisted" | "latestTaskNum" | "operatorHasMinimumWeight" | "owner" | "pause" | "pauseAll" | "paused(uint8)" | "paused()" | "pauserRegistry" | "payForRange" | "registerOperatorToAVS" | "registeredOperators" | "renounceOwnership" | "setPauserRegistry" | "setup" | "stakeRegistry" | "taskCompleted" | "taskCreationMetadata" | "transferOwnership" | "unpause" | "updateAVSMetadataURI" | "updateOperatorMetadata" | "updateTaskCreationMetadata" | "whitelistAddressAsOperator" | "whitelistedOperators"): FunctionFragment;
    getEvent(nameOrSignatureOrTopic: "Initialized" | "NewTaskCreated" | "OwnershipTransferred" | "Paused" | "PauserRegistrySet" | "TaskCompleted" | "Unpaused"): EventFragment;
    encodeFunctionData(functionFragment: "admins", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "allTaskHashes", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "avsDirectory", values?: undefined): string;
    encodeFunctionData(functionFragment: "checkSignerAddress", values: [IReclaimServiceManager.ClaimRequestStruct, BytesLike]): string;
    encodeFunctionData(functionFragment: "createNewTask", values: [IReclaimServiceManager.ClaimRequestStruct, BytesLike]): string;
    encodeFunctionData(functionFragment: "deregisterOperatorFromAVS", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "encodeClaimRequest", values: [IReclaimServiceManager.ClaimRequestStruct]): string;
    encodeFunctionData(functionFragment: "getMetadataForOperator", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "getOperatorRestakedStrategies", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "getRestakeableStrategies", values?: undefined): string;
    encodeFunctionData(functionFragment: "isAdmin", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "isOperatorWhitelisted", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "latestTaskNum", values?: undefined): string;
    encodeFunctionData(functionFragment: "operatorHasMinimumWeight", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "owner", values?: undefined): string;
    encodeFunctionData(functionFragment: "pause", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "pauseAll", values?: undefined): string;
    encodeFunctionData(functionFragment: "paused(uint8)", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "paused()", values?: undefined): string;
    encodeFunctionData(functionFragment: "pauserRegistry", values?: undefined): string;
    encodeFunctionData(functionFragment: "payForRange", values: [IPaymentCoordinator.RangePaymentStruct[]]): string;
    encodeFunctionData(functionFragment: "registerOperatorToAVS", values: [AddressLike, ISignatureUtils.SignatureWithSaltAndExpiryStruct]): string;
    encodeFunctionData(functionFragment: "registeredOperators", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string;
    encodeFunctionData(functionFragment: "setPauserRegistry", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "setup", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "stakeRegistry", values?: undefined): string;
    encodeFunctionData(functionFragment: "taskCompleted", values: [IReclaimServiceManager.CompletedTaskStruct, BigNumberish]): string;
    encodeFunctionData(functionFragment: "taskCreationMetadata", values?: undefined): string;
    encodeFunctionData(functionFragment: "transferOwnership", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "unpause", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "updateAVSMetadataURI", values: [string]): string;
    encodeFunctionData(functionFragment: "updateOperatorMetadata", values: [IReclaimServiceManager.OperatorMetadataStruct]): string;
    encodeFunctionData(functionFragment: "updateTaskCreationMetadata", values: [IReclaimServiceManager.TaskCreationMetadataStruct]): string;
    encodeFunctionData(functionFragment: "whitelistAddressAsOperator", values: [AddressLike, boolean]): string;
    encodeFunctionData(functionFragment: "whitelistedOperators", values: [BigNumberish]): string;
    decodeFunctionResult(functionFragment: "admins", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "allTaskHashes", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "avsDirectory", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "checkSignerAddress", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "createNewTask", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "deregisterOperatorFromAVS", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "encodeClaimRequest", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getMetadataForOperator", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getOperatorRestakedStrategies", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getRestakeableStrategies", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "isAdmin", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "isOperatorWhitelisted", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "latestTaskNum", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "operatorHasMinimumWeight", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "pause", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "pauseAll", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "paused(uint8)", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "paused()", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "pauserRegistry", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "payForRange", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "registerOperatorToAVS", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "registeredOperators", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setPauserRegistry", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setup", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "stakeRegistry", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "taskCompleted", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "taskCreationMetadata", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "unpause", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "updateAVSMetadataURI", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "updateOperatorMetadata", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "updateTaskCreationMetadata", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "whitelistAddressAsOperator", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "whitelistedOperators", data: BytesLike): Result;
}
export declare namespace InitializedEvent {
    type InputTuple = [version: BigNumberish];
    type OutputTuple = [version: bigint];
    interface OutputObject {
        version: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace NewTaskCreatedEvent {
    type InputTuple = [
        taskIndex: BigNumberish,
        task: IReclaimServiceManager.TaskStruct
    ];
    type OutputTuple = [
        taskIndex: bigint,
        task: IReclaimServiceManager.TaskStructOutput
    ];
    interface OutputObject {
        taskIndex: bigint;
        task: IReclaimServiceManager.TaskStructOutput;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace OwnershipTransferredEvent {
    type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike];
    type OutputTuple = [previousOwner: string, newOwner: string];
    interface OutputObject {
        previousOwner: string;
        newOwner: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace PausedEvent {
    type InputTuple = [
        account: AddressLike,
        newPausedStatus: BigNumberish
    ];
    type OutputTuple = [account: string, newPausedStatus: bigint];
    interface OutputObject {
        account: string;
        newPausedStatus: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace PauserRegistrySetEvent {
    type InputTuple = [
        pauserRegistry: AddressLike,
        newPauserRegistry: AddressLike
    ];
    type OutputTuple = [pauserRegistry: string, newPauserRegistry: string];
    interface OutputObject {
        pauserRegistry: string;
        newPauserRegistry: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace TaskCompletedEvent {
    type InputTuple = [
        taskIndex: BigNumberish,
        task: IReclaimServiceManager.CompletedTaskStruct
    ];
    type OutputTuple = [
        taskIndex: bigint,
        task: IReclaimServiceManager.CompletedTaskStructOutput
    ];
    interface OutputObject {
        taskIndex: bigint;
        task: IReclaimServiceManager.CompletedTaskStructOutput;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace UnpausedEvent {
    type InputTuple = [
        account: AddressLike,
        newPausedStatus: BigNumberish
    ];
    type OutputTuple = [account: string, newPausedStatus: bigint];
    interface OutputObject {
        account: string;
        newPausedStatus: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export interface ReclaimServiceManager extends BaseContract {
    connect(runner?: ContractRunner | null): ReclaimServiceManager;
    waitForDeployment(): Promise<this>;
    interface: ReclaimServiceManagerInterface;
    queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
    queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
    on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
    on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
    once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
    once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
    listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
    listeners(eventName?: string): Promise<Array<Listener>>;
    removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
    admins: TypedContractMethod<[arg0: BigNumberish], [string], "view">;
    allTaskHashes: TypedContractMethod<[arg0: BigNumberish], [string], "view">;
    avsDirectory: TypedContractMethod<[], [string], "view">;
    checkSignerAddress: TypedContractMethod<[
        request: IReclaimServiceManager.ClaimRequestStruct,
        requestSignature: BytesLike
    ], [
        string
    ], "view">;
    createNewTask: TypedContractMethod<[
        request: IReclaimServiceManager.ClaimRequestStruct,
        requestSignature: BytesLike
    ], [
        void
    ], "nonpayable">;
    deregisterOperatorFromAVS: TypedContractMethod<[
        operator: AddressLike
    ], [
        void
    ], "nonpayable">;
    encodeClaimRequest: TypedContractMethod<[
        request: IReclaimServiceManager.ClaimRequestStruct
    ], [
        string
    ], "view">;
    getMetadataForOperator: TypedContractMethod<[
        operator: AddressLike
    ], [
        IReclaimServiceManager.OperatorMetadataStructOutput
    ], "view">;
    getOperatorRestakedStrategies: TypedContractMethod<[
        _operator: AddressLike
    ], [
        string[]
    ], "view">;
    getRestakeableStrategies: TypedContractMethod<[], [string[]], "view">;
    isAdmin: TypedContractMethod<[_admin: AddressLike], [boolean], "view">;
    isOperatorWhitelisted: TypedContractMethod<[
        operator: AddressLike
    ], [
        boolean
    ], "view">;
    latestTaskNum: TypedContractMethod<[], [bigint], "view">;
    operatorHasMinimumWeight: TypedContractMethod<[
        operator: AddressLike
    ], [
        boolean
    ], "view">;
    owner: TypedContractMethod<[], [string], "view">;
    pause: TypedContractMethod<[
        newPausedStatus: BigNumberish
    ], [
        void
    ], "nonpayable">;
    pauseAll: TypedContractMethod<[], [void], "nonpayable">;
    "paused(uint8)": TypedContractMethod<[
        index: BigNumberish
    ], [
        boolean
    ], "view">;
    "paused()": TypedContractMethod<[], [bigint], "view">;
    pauserRegistry: TypedContractMethod<[], [string], "view">;
    payForRange: TypedContractMethod<[
        rangePayments: IPaymentCoordinator.RangePaymentStruct[]
    ], [
        void
    ], "nonpayable">;
    registerOperatorToAVS: TypedContractMethod<[
        operator: AddressLike,
        operatorSignature: ISignatureUtils.SignatureWithSaltAndExpiryStruct
    ], [
        void
    ], "nonpayable">;
    registeredOperators: TypedContractMethod<[
        arg0: BigNumberish
    ], [
        [string, string] & {
            addr: string;
            url: string;
        }
    ], "view">;
    renounceOwnership: TypedContractMethod<[], [void], "nonpayable">;
    setPauserRegistry: TypedContractMethod<[
        newPauserRegistry: AddressLike
    ], [
        void
    ], "nonpayable">;
    setup: TypedContractMethod<[initialAdmin: AddressLike], [void], "nonpayable">;
    stakeRegistry: TypedContractMethod<[], [string], "view">;
    taskCompleted: TypedContractMethod<[
        completedTask: IReclaimServiceManager.CompletedTaskStruct,
        referenceTaskIndex: BigNumberish
    ], [
        void
    ], "nonpayable">;
    taskCreationMetadata: TypedContractMethod<[
    ], [
        [
            bigint,
            bigint,
            bigint
        ] & {
            maxTaskLifetimeS: bigint;
            minSignaturesPerTask: bigint;
            maxTaskCreationDelayS: bigint;
        }
    ], "view">;
    transferOwnership: TypedContractMethod<[
        newOwner: AddressLike
    ], [
        void
    ], "nonpayable">;
    unpause: TypedContractMethod<[
        newPausedStatus: BigNumberish
    ], [
        void
    ], "nonpayable">;
    updateAVSMetadataURI: TypedContractMethod<[
        _metadataURI: string
    ], [
        void
    ], "nonpayable">;
    updateOperatorMetadata: TypedContractMethod<[
        metadata: IReclaimServiceManager.OperatorMetadataStruct
    ], [
        void
    ], "nonpayable">;
    updateTaskCreationMetadata: TypedContractMethod<[
        newMetadata: IReclaimServiceManager.TaskCreationMetadataStruct
    ], [
        void
    ], "nonpayable">;
    whitelistAddressAsOperator: TypedContractMethod<[
        operator: AddressLike,
        isWhitelisted: boolean
    ], [
        void
    ], "nonpayable">;
    whitelistedOperators: TypedContractMethod<[
        arg0: BigNumberish
    ], [
        string
    ], "view">;
    getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
    getFunction(nameOrSignature: "admins"): TypedContractMethod<[arg0: BigNumberish], [string], "view">;
    getFunction(nameOrSignature: "allTaskHashes"): TypedContractMethod<[arg0: BigNumberish], [string], "view">;
    getFunction(nameOrSignature: "avsDirectory"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "checkSignerAddress"): TypedContractMethod<[
        request: IReclaimServiceManager.ClaimRequestStruct,
        requestSignature: BytesLike
    ], [
        string
    ], "view">;
    getFunction(nameOrSignature: "createNewTask"): TypedContractMethod<[
        request: IReclaimServiceManager.ClaimRequestStruct,
        requestSignature: BytesLike
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "deregisterOperatorFromAVS"): TypedContractMethod<[operator: AddressLike], [void], "nonpayable">;
    getFunction(nameOrSignature: "encodeClaimRequest"): TypedContractMethod<[
        request: IReclaimServiceManager.ClaimRequestStruct
    ], [
        string
    ], "view">;
    getFunction(nameOrSignature: "getMetadataForOperator"): TypedContractMethod<[
        operator: AddressLike
    ], [
        IReclaimServiceManager.OperatorMetadataStructOutput
    ], "view">;
    getFunction(nameOrSignature: "getOperatorRestakedStrategies"): TypedContractMethod<[_operator: AddressLike], [string[]], "view">;
    getFunction(nameOrSignature: "getRestakeableStrategies"): TypedContractMethod<[], [string[]], "view">;
    getFunction(nameOrSignature: "isAdmin"): TypedContractMethod<[_admin: AddressLike], [boolean], "view">;
    getFunction(nameOrSignature: "isOperatorWhitelisted"): TypedContractMethod<[operator: AddressLike], [boolean], "view">;
    getFunction(nameOrSignature: "latestTaskNum"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "operatorHasMinimumWeight"): TypedContractMethod<[operator: AddressLike], [boolean], "view">;
    getFunction(nameOrSignature: "owner"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "pause"): TypedContractMethod<[newPausedStatus: BigNumberish], [void], "nonpayable">;
    getFunction(nameOrSignature: "pauseAll"): TypedContractMethod<[], [void], "nonpayable">;
    getFunction(nameOrSignature: "paused(uint8)"): TypedContractMethod<[index: BigNumberish], [boolean], "view">;
    getFunction(nameOrSignature: "paused()"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "pauserRegistry"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "payForRange"): TypedContractMethod<[
        rangePayments: IPaymentCoordinator.RangePaymentStruct[]
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "registerOperatorToAVS"): TypedContractMethod<[
        operator: AddressLike,
        operatorSignature: ISignatureUtils.SignatureWithSaltAndExpiryStruct
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "registeredOperators"): TypedContractMethod<[
        arg0: BigNumberish
    ], [
        [string, string] & {
            addr: string;
            url: string;
        }
    ], "view">;
    getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[], [void], "nonpayable">;
    getFunction(nameOrSignature: "setPauserRegistry"): TypedContractMethod<[
        newPauserRegistry: AddressLike
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "setup"): TypedContractMethod<[initialAdmin: AddressLike], [void], "nonpayable">;
    getFunction(nameOrSignature: "stakeRegistry"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "taskCompleted"): TypedContractMethod<[
        completedTask: IReclaimServiceManager.CompletedTaskStruct,
        referenceTaskIndex: BigNumberish
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "taskCreationMetadata"): TypedContractMethod<[
    ], [
        [
            bigint,
            bigint,
            bigint
        ] & {
            maxTaskLifetimeS: bigint;
            minSignaturesPerTask: bigint;
            maxTaskCreationDelayS: bigint;
        }
    ], "view">;
    getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">;
    getFunction(nameOrSignature: "unpause"): TypedContractMethod<[newPausedStatus: BigNumberish], [void], "nonpayable">;
    getFunction(nameOrSignature: "updateAVSMetadataURI"): TypedContractMethod<[_metadataURI: string], [void], "nonpayable">;
    getFunction(nameOrSignature: "updateOperatorMetadata"): TypedContractMethod<[
        metadata: IReclaimServiceManager.OperatorMetadataStruct
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "updateTaskCreationMetadata"): TypedContractMethod<[
        newMetadata: IReclaimServiceManager.TaskCreationMetadataStruct
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "whitelistAddressAsOperator"): TypedContractMethod<[
        operator: AddressLike,
        isWhitelisted: boolean
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "whitelistedOperators"): TypedContractMethod<[arg0: BigNumberish], [string], "view">;
    getEvent(key: "Initialized"): TypedContractEvent<InitializedEvent.InputTuple, InitializedEvent.OutputTuple, InitializedEvent.OutputObject>;
    getEvent(key: "NewTaskCreated"): TypedContractEvent<NewTaskCreatedEvent.InputTuple, NewTaskCreatedEvent.OutputTuple, NewTaskCreatedEvent.OutputObject>;
    getEvent(key: "OwnershipTransferred"): TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
    getEvent(key: "Paused"): TypedContractEvent<PausedEvent.InputTuple, PausedEvent.OutputTuple, PausedEvent.OutputObject>;
    getEvent(key: "PauserRegistrySet"): TypedContractEvent<PauserRegistrySetEvent.InputTuple, PauserRegistrySetEvent.OutputTuple, PauserRegistrySetEvent.OutputObject>;
    getEvent(key: "TaskCompleted"): TypedContractEvent<TaskCompletedEvent.InputTuple, TaskCompletedEvent.OutputTuple, TaskCompletedEvent.OutputObject>;
    getEvent(key: "Unpaused"): TypedContractEvent<UnpausedEvent.InputTuple, UnpausedEvent.OutputTuple, UnpausedEvent.OutputObject>;
    filters: {
        "Initialized(uint8)": TypedContractEvent<InitializedEvent.InputTuple, InitializedEvent.OutputTuple, InitializedEvent.OutputObject>;
        Initialized: TypedContractEvent<InitializedEvent.InputTuple, InitializedEvent.OutputTuple, InitializedEvent.OutputObject>;
        "NewTaskCreated(uint32,tuple)": TypedContractEvent<NewTaskCreatedEvent.InputTuple, NewTaskCreatedEvent.OutputTuple, NewTaskCreatedEvent.OutputObject>;
        NewTaskCreated: TypedContractEvent<NewTaskCreatedEvent.InputTuple, NewTaskCreatedEvent.OutputTuple, NewTaskCreatedEvent.OutputObject>;
        "OwnershipTransferred(address,address)": TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
        OwnershipTransferred: TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
        "Paused(address,uint256)": TypedContractEvent<PausedEvent.InputTuple, PausedEvent.OutputTuple, PausedEvent.OutputObject>;
        Paused: TypedContractEvent<PausedEvent.InputTuple, PausedEvent.OutputTuple, PausedEvent.OutputObject>;
        "PauserRegistrySet(address,address)": TypedContractEvent<PauserRegistrySetEvent.InputTuple, PauserRegistrySetEvent.OutputTuple, PauserRegistrySetEvent.OutputObject>;
        PauserRegistrySet: TypedContractEvent<PauserRegistrySetEvent.InputTuple, PauserRegistrySetEvent.OutputTuple, PauserRegistrySetEvent.OutputObject>;
        "TaskCompleted(uint32,tuple)": TypedContractEvent<TaskCompletedEvent.InputTuple, TaskCompletedEvent.OutputTuple, TaskCompletedEvent.OutputObject>;
        TaskCompleted: TypedContractEvent<TaskCompletedEvent.InputTuple, TaskCompletedEvent.OutputTuple, TaskCompletedEvent.OutputObject>;
        "Unpaused(address,uint256)": TypedContractEvent<UnpausedEvent.InputTuple, UnpausedEvent.OutputTuple, UnpausedEvent.OutputObject>;
        Unpaused: TypedContractEvent<UnpausedEvent.InputTuple, UnpausedEvent.OutputTuple, UnpausedEvent.OutputObject>;
    };
}
