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.js";
export declare namespace IE3RefundManager {
    type WorkValueAllocationStruct = {
        committeeFormationBps: BigNumberish;
        dkgBps: BigNumberish;
        decryptionBps: BigNumberish;
        protocolBps: BigNumberish;
        successSlashedNodeBps: BigNumberish;
    };
    type WorkValueAllocationStructOutput = [committeeFormationBps: bigint, dkgBps: bigint, decryptionBps: bigint, protocolBps: bigint, successSlashedNodeBps: bigint] & {
        committeeFormationBps: bigint;
        dkgBps: bigint;
        decryptionBps: bigint;
        protocolBps: bigint;
        successSlashedNodeBps: bigint;
    };
    type RefundDistributionStruct = {
        requesterAmount: BigNumberish;
        honestNodeAmount: BigNumberish;
        protocolAmount: BigNumberish;
        totalSlashed: BigNumberish;
        honestNodeCount: BigNumberish;
        calculated: boolean;
        feeToken: AddressLike;
        originalPayment: BigNumberish;
        perNodeAmount: BigNumberish;
    };
    type RefundDistributionStructOutput = [requesterAmount: bigint, honestNodeAmount: bigint, protocolAmount: bigint, totalSlashed: bigint, honestNodeCount: bigint, calculated: boolean, feeToken: string, originalPayment: bigint, perNodeAmount: bigint] & {
        requesterAmount: bigint;
        honestNodeAmount: bigint;
        protocolAmount: bigint;
        totalSlashed: bigint;
        honestNodeCount: bigint;
        calculated: boolean;
        feeToken: string;
        originalPayment: bigint;
        perNodeAmount: bigint;
    };
}
export interface IE3RefundManagerInterface extends Interface {
    getFunction(nameOrSignature: "calculateRefund" | "calculateWorkValue" | "claimHonestNodeReward" | "claimRequesterRefund" | "claimSlashedFundsOnSuccess" | "claimSlashedFundsOnSuccessBatch" | "distributeSlashedFundsOnSuccess" | "escrowSlashedFunds" | "getRefundDistribution" | "getWorkAllocation" | "hasClaimed" | "pendingSlashedFundsOnSuccess" | "pendingTreasuryClaim" | "setWorkAllocation" | "treasuryClaim"): FunctionFragment;
    getEvent(nameOrSignatureOrTopic: "InterfoldSet" | "OrphanedSlashedFundsWithdrawn" | "RefundClaimed" | "RefundDistributionCalculated" | "SlashedFundsApplied" | "SlashedFundsClaimed" | "SlashedFundsCredited" | "SlashedFundsDistributedOnSuccess" | "SlashedFundsEscrowed" | "TreasurySet" | "TreasurySlashedClaimed" | "TreasurySlashedCredited" | "WorkAllocationUpdated"): EventFragment;
    encodeFunctionData(functionFragment: 'calculateRefund', values: [BigNumberish, BigNumberish, AddressLike[], AddressLike]): string;
    encodeFunctionData(functionFragment: 'calculateWorkValue', values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: 'claimHonestNodeReward', values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: 'claimRequesterRefund', values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: 'claimSlashedFundsOnSuccess', values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: 'claimSlashedFundsOnSuccessBatch', values: [BigNumberish[]]): string;
    encodeFunctionData(functionFragment: 'distributeSlashedFundsOnSuccess', values: [BigNumberish, AddressLike[], AddressLike]): string;
    encodeFunctionData(functionFragment: 'escrowSlashedFunds', values: [BigNumberish, BigNumberish]): string;
    encodeFunctionData(functionFragment: 'getRefundDistribution', values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: 'getWorkAllocation', values?: undefined): string;
    encodeFunctionData(functionFragment: 'hasClaimed', values: [BigNumberish, AddressLike]): string;
    encodeFunctionData(functionFragment: 'pendingSlashedFundsOnSuccess', values: [BigNumberish, AddressLike]): string;
    encodeFunctionData(functionFragment: 'pendingTreasuryClaim', values: [AddressLike, AddressLike]): string;
    encodeFunctionData(functionFragment: 'setWorkAllocation', values: [IE3RefundManager.WorkValueAllocationStruct]): string;
    encodeFunctionData(functionFragment: 'treasuryClaim', values: [AddressLike]): string;
    decodeFunctionResult(functionFragment: 'calculateRefund', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'calculateWorkValue', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'claimHonestNodeReward', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'claimRequesterRefund', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'claimSlashedFundsOnSuccess', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'claimSlashedFundsOnSuccessBatch', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'distributeSlashedFundsOnSuccess', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'escrowSlashedFunds', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getRefundDistribution', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getWorkAllocation', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'hasClaimed', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'pendingSlashedFundsOnSuccess', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'pendingTreasuryClaim', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setWorkAllocation', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'treasuryClaim', data: BytesLike): Result;
}
export declare namespace InterfoldSetEvent {
    type InputTuple = [interfold: AddressLike];
    type OutputTuple = [interfold: string];
    interface OutputObject {
        interfold: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace OrphanedSlashedFundsWithdrawnEvent {
    type InputTuple = [e3Id: BigNumberish, amount: BigNumberish];
    type OutputTuple = [e3Id: bigint, amount: bigint];
    interface OutputObject {
        e3Id: bigint;
        amount: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace RefundClaimedEvent {
    type InputTuple = [e3Id: BigNumberish, claimant: AddressLike, amount: BigNumberish, claimType: BytesLike];
    type OutputTuple = [e3Id: bigint, claimant: string, amount: bigint, claimType: string];
    interface OutputObject {
        e3Id: bigint;
        claimant: string;
        amount: bigint;
        claimType: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace RefundDistributionCalculatedEvent {
    type InputTuple = [e3Id: BigNumberish, requesterAmount: BigNumberish, honestNodeAmount: BigNumberish, protocolAmount: BigNumberish, totalSlashed: BigNumberish];
    type OutputTuple = [e3Id: bigint, requesterAmount: bigint, honestNodeAmount: bigint, protocolAmount: bigint, totalSlashed: bigint];
    interface OutputObject {
        e3Id: bigint;
        requesterAmount: bigint;
        honestNodeAmount: bigint;
        protocolAmount: bigint;
        totalSlashed: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SlashedFundsAppliedEvent {
    type InputTuple = [e3Id: BigNumberish, toRequester: BigNumberish, toHonestNodes: BigNumberish];
    type OutputTuple = [e3Id: bigint, toRequester: bigint, toHonestNodes: bigint];
    interface OutputObject {
        e3Id: bigint;
        toRequester: bigint;
        toHonestNodes: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SlashedFundsClaimedEvent {
    type InputTuple = [e3Id: BigNumberish, account: AddressLike, token: AddressLike, amount: BigNumberish];
    type OutputTuple = [e3Id: bigint, account: string, token: string, amount: bigint];
    interface OutputObject {
        e3Id: bigint;
        account: string;
        token: string;
        amount: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SlashedFundsCreditedEvent {
    type InputTuple = [e3Id: BigNumberish, account: AddressLike, token: AddressLike, amount: BigNumberish];
    type OutputTuple = [e3Id: bigint, account: string, token: string, amount: bigint];
    interface OutputObject {
        e3Id: bigint;
        account: string;
        token: string;
        amount: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SlashedFundsDistributedOnSuccessEvent {
    type InputTuple = [e3Id: BigNumberish, toNodes: BigNumberish, toProtocol: BigNumberish];
    type OutputTuple = [e3Id: bigint, toNodes: bigint, toProtocol: bigint];
    interface OutputObject {
        e3Id: bigint;
        toNodes: bigint;
        toProtocol: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SlashedFundsEscrowedEvent {
    type InputTuple = [e3Id: BigNumberish, amount: BigNumberish];
    type OutputTuple = [e3Id: bigint, amount: bigint];
    interface OutputObject {
        e3Id: bigint;
        amount: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace TreasurySetEvent {
    type InputTuple = [treasury: AddressLike];
    type OutputTuple = [treasury: string];
    interface OutputObject {
        treasury: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace TreasurySlashedClaimedEvent {
    type InputTuple = [treasury: AddressLike, token: AddressLike, amount: BigNumberish];
    type OutputTuple = [treasury: string, token: string, amount: bigint];
    interface OutputObject {
        treasury: string;
        token: string;
        amount: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace TreasurySlashedCreditedEvent {
    type InputTuple = [treasury: AddressLike, token: AddressLike, amount: BigNumberish];
    type OutputTuple = [treasury: string, token: string, amount: bigint];
    interface OutputObject {
        treasury: string;
        token: string;
        amount: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace WorkAllocationUpdatedEvent {
    type InputTuple = [allocation: IE3RefundManager.WorkValueAllocationStruct];
    type OutputTuple = [allocation: IE3RefundManager.WorkValueAllocationStructOutput];
    interface OutputObject {
        allocation: IE3RefundManager.WorkValueAllocationStructOutput;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export interface IE3RefundManager extends BaseContract {
    connect(runner?: ContractRunner | null): IE3RefundManager;
    waitForDeployment(): Promise<this>;
    interface: IE3RefundManagerInterface;
    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>;
    calculateRefund: TypedContractMethod<[
        e3Id: BigNumberish,
        originalPayment: BigNumberish,
        honestNodes: AddressLike[],
        paymentToken: AddressLike
    ], [
        void
    ], 'nonpayable'>;
    calculateWorkValue: TypedContractMethod<[
        stage: BigNumberish
    ], [
        [bigint, bigint] & {
            workCompletedBps: bigint;
            workRemainingBps: bigint;
        }
    ], 'view'>;
    claimHonestNodeReward: TypedContractMethod<[
        e3Id: BigNumberish
    ], [
        bigint
    ], 'nonpayable'>;
    claimRequesterRefund: TypedContractMethod<[
        e3Id: BigNumberish
    ], [
        bigint
    ], 'nonpayable'>;
    claimSlashedFundsOnSuccess: TypedContractMethod<[
        e3Id: BigNumberish
    ], [
        bigint
    ], 'nonpayable'>;
    claimSlashedFundsOnSuccessBatch: TypedContractMethod<[
        e3Ids: BigNumberish[]
    ], [
        void
    ], 'nonpayable'>;
    distributeSlashedFundsOnSuccess: TypedContractMethod<[
        e3Id: BigNumberish,
        honestNodes: AddressLike[],
        paymentToken: AddressLike
    ], [
        void
    ], 'nonpayable'>;
    escrowSlashedFunds: TypedContractMethod<[
        e3Id: BigNumberish,
        amount: BigNumberish
    ], [
        void
    ], 'nonpayable'>;
    getRefundDistribution: TypedContractMethod<[
        e3Id: BigNumberish
    ], [
        IE3RefundManager.RefundDistributionStructOutput
    ], 'view'>;
    getWorkAllocation: TypedContractMethod<[
    ], [
        IE3RefundManager.WorkValueAllocationStructOutput
    ], 'view'>;
    hasClaimed: TypedContractMethod<[
        e3Id: BigNumberish,
        claimant: AddressLike
    ], [
        boolean
    ], 'view'>;
    pendingSlashedFundsOnSuccess: TypedContractMethod<[
        e3Id: BigNumberish,
        account: AddressLike
    ], [
        bigint
    ], 'view'>;
    pendingTreasuryClaim: TypedContractMethod<[
        treasury: AddressLike,
        token: AddressLike
    ], [
        bigint
    ], 'view'>;
    setWorkAllocation: TypedContractMethod<[
        allocation: IE3RefundManager.WorkValueAllocationStruct
    ], [
        void
    ], 'nonpayable'>;
    treasuryClaim: TypedContractMethod<[
        token: AddressLike
    ], [
        bigint
    ], 'nonpayable'>;
    getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
    getFunction(nameOrSignature: 'calculateRefund'): TypedContractMethod<[
        e3Id: BigNumberish,
        originalPayment: BigNumberish,
        honestNodes: AddressLike[],
        paymentToken: AddressLike
    ], [
        void
    ], 'nonpayable'>;
    getFunction(nameOrSignature: 'calculateWorkValue'): TypedContractMethod<[
        stage: BigNumberish
    ], [
        [bigint, bigint] & {
            workCompletedBps: bigint;
            workRemainingBps: bigint;
        }
    ], 'view'>;
    getFunction(nameOrSignature: 'claimHonestNodeReward'): TypedContractMethod<[
        e3Id: BigNumberish
    ], [
        bigint
    ], 'nonpayable'>;
    getFunction(nameOrSignature: 'claimRequesterRefund'): TypedContractMethod<[
        e3Id: BigNumberish
    ], [
        bigint
    ], 'nonpayable'>;
    getFunction(nameOrSignature: 'claimSlashedFundsOnSuccess'): TypedContractMethod<[
        e3Id: BigNumberish
    ], [
        bigint
    ], 'nonpayable'>;
    getFunction(nameOrSignature: 'claimSlashedFundsOnSuccessBatch'): TypedContractMethod<[
        e3Ids: BigNumberish[]
    ], [
        void
    ], 'nonpayable'>;
    getFunction(nameOrSignature: 'distributeSlashedFundsOnSuccess'): TypedContractMethod<[
        e3Id: BigNumberish,
        honestNodes: AddressLike[],
        paymentToken: AddressLike
    ], [
        void
    ], 'nonpayable'>;
    getFunction(nameOrSignature: 'escrowSlashedFunds'): TypedContractMethod<[
        e3Id: BigNumberish,
        amount: BigNumberish
    ], [
        void
    ], 'nonpayable'>;
    getFunction(nameOrSignature: 'getRefundDistribution'): TypedContractMethod<[
        e3Id: BigNumberish
    ], [
        IE3RefundManager.RefundDistributionStructOutput
    ], 'view'>;
    getFunction(nameOrSignature: 'getWorkAllocation'): TypedContractMethod<[
    ], [
        IE3RefundManager.WorkValueAllocationStructOutput
    ], 'view'>;
    getFunction(nameOrSignature: 'hasClaimed'): TypedContractMethod<[
        e3Id: BigNumberish,
        claimant: AddressLike
    ], [
        boolean
    ], 'view'>;
    getFunction(nameOrSignature: 'pendingSlashedFundsOnSuccess'): TypedContractMethod<[
        e3Id: BigNumberish,
        account: AddressLike
    ], [
        bigint
    ], 'view'>;
    getFunction(nameOrSignature: 'pendingTreasuryClaim'): TypedContractMethod<[
        treasury: AddressLike,
        token: AddressLike
    ], [
        bigint
    ], 'view'>;
    getFunction(nameOrSignature: 'setWorkAllocation'): TypedContractMethod<[
        allocation: IE3RefundManager.WorkValueAllocationStruct
    ], [
        void
    ], 'nonpayable'>;
    getFunction(nameOrSignature: 'treasuryClaim'): TypedContractMethod<[
        token: AddressLike
    ], [
        bigint
    ], 'nonpayable'>;
    getEvent(key: 'InterfoldSet'): TypedContractEvent<InterfoldSetEvent.InputTuple, InterfoldSetEvent.OutputTuple, InterfoldSetEvent.OutputObject>;
    getEvent(key: 'OrphanedSlashedFundsWithdrawn'): TypedContractEvent<OrphanedSlashedFundsWithdrawnEvent.InputTuple, OrphanedSlashedFundsWithdrawnEvent.OutputTuple, OrphanedSlashedFundsWithdrawnEvent.OutputObject>;
    getEvent(key: 'RefundClaimed'): TypedContractEvent<RefundClaimedEvent.InputTuple, RefundClaimedEvent.OutputTuple, RefundClaimedEvent.OutputObject>;
    getEvent(key: 'RefundDistributionCalculated'): TypedContractEvent<RefundDistributionCalculatedEvent.InputTuple, RefundDistributionCalculatedEvent.OutputTuple, RefundDistributionCalculatedEvent.OutputObject>;
    getEvent(key: 'SlashedFundsApplied'): TypedContractEvent<SlashedFundsAppliedEvent.InputTuple, SlashedFundsAppliedEvent.OutputTuple, SlashedFundsAppliedEvent.OutputObject>;
    getEvent(key: 'SlashedFundsClaimed'): TypedContractEvent<SlashedFundsClaimedEvent.InputTuple, SlashedFundsClaimedEvent.OutputTuple, SlashedFundsClaimedEvent.OutputObject>;
    getEvent(key: 'SlashedFundsCredited'): TypedContractEvent<SlashedFundsCreditedEvent.InputTuple, SlashedFundsCreditedEvent.OutputTuple, SlashedFundsCreditedEvent.OutputObject>;
    getEvent(key: 'SlashedFundsDistributedOnSuccess'): TypedContractEvent<SlashedFundsDistributedOnSuccessEvent.InputTuple, SlashedFundsDistributedOnSuccessEvent.OutputTuple, SlashedFundsDistributedOnSuccessEvent.OutputObject>;
    getEvent(key: 'SlashedFundsEscrowed'): TypedContractEvent<SlashedFundsEscrowedEvent.InputTuple, SlashedFundsEscrowedEvent.OutputTuple, SlashedFundsEscrowedEvent.OutputObject>;
    getEvent(key: 'TreasurySet'): TypedContractEvent<TreasurySetEvent.InputTuple, TreasurySetEvent.OutputTuple, TreasurySetEvent.OutputObject>;
    getEvent(key: 'TreasurySlashedClaimed'): TypedContractEvent<TreasurySlashedClaimedEvent.InputTuple, TreasurySlashedClaimedEvent.OutputTuple, TreasurySlashedClaimedEvent.OutputObject>;
    getEvent(key: 'TreasurySlashedCredited'): TypedContractEvent<TreasurySlashedCreditedEvent.InputTuple, TreasurySlashedCreditedEvent.OutputTuple, TreasurySlashedCreditedEvent.OutputObject>;
    getEvent(key: 'WorkAllocationUpdated'): TypedContractEvent<WorkAllocationUpdatedEvent.InputTuple, WorkAllocationUpdatedEvent.OutputTuple, WorkAllocationUpdatedEvent.OutputObject>;
    filters: {
        'InterfoldSet(address)': TypedContractEvent<InterfoldSetEvent.InputTuple, InterfoldSetEvent.OutputTuple, InterfoldSetEvent.OutputObject>;
        InterfoldSet: TypedContractEvent<InterfoldSetEvent.InputTuple, InterfoldSetEvent.OutputTuple, InterfoldSetEvent.OutputObject>;
        'OrphanedSlashedFundsWithdrawn(uint256,uint256)': TypedContractEvent<OrphanedSlashedFundsWithdrawnEvent.InputTuple, OrphanedSlashedFundsWithdrawnEvent.OutputTuple, OrphanedSlashedFundsWithdrawnEvent.OutputObject>;
        OrphanedSlashedFundsWithdrawn: TypedContractEvent<OrphanedSlashedFundsWithdrawnEvent.InputTuple, OrphanedSlashedFundsWithdrawnEvent.OutputTuple, OrphanedSlashedFundsWithdrawnEvent.OutputObject>;
        'RefundClaimed(uint256,address,uint256,bytes32)': TypedContractEvent<RefundClaimedEvent.InputTuple, RefundClaimedEvent.OutputTuple, RefundClaimedEvent.OutputObject>;
        RefundClaimed: TypedContractEvent<RefundClaimedEvent.InputTuple, RefundClaimedEvent.OutputTuple, RefundClaimedEvent.OutputObject>;
        'RefundDistributionCalculated(uint256,uint256,uint256,uint256,uint256)': TypedContractEvent<RefundDistributionCalculatedEvent.InputTuple, RefundDistributionCalculatedEvent.OutputTuple, RefundDistributionCalculatedEvent.OutputObject>;
        RefundDistributionCalculated: TypedContractEvent<RefundDistributionCalculatedEvent.InputTuple, RefundDistributionCalculatedEvent.OutputTuple, RefundDistributionCalculatedEvent.OutputObject>;
        'SlashedFundsApplied(uint256,uint256,uint256)': TypedContractEvent<SlashedFundsAppliedEvent.InputTuple, SlashedFundsAppliedEvent.OutputTuple, SlashedFundsAppliedEvent.OutputObject>;
        SlashedFundsApplied: TypedContractEvent<SlashedFundsAppliedEvent.InputTuple, SlashedFundsAppliedEvent.OutputTuple, SlashedFundsAppliedEvent.OutputObject>;
        'SlashedFundsClaimed(uint256,address,address,uint256)': TypedContractEvent<SlashedFundsClaimedEvent.InputTuple, SlashedFundsClaimedEvent.OutputTuple, SlashedFundsClaimedEvent.OutputObject>;
        SlashedFundsClaimed: TypedContractEvent<SlashedFundsClaimedEvent.InputTuple, SlashedFundsClaimedEvent.OutputTuple, SlashedFundsClaimedEvent.OutputObject>;
        'SlashedFundsCredited(uint256,address,address,uint256)': TypedContractEvent<SlashedFundsCreditedEvent.InputTuple, SlashedFundsCreditedEvent.OutputTuple, SlashedFundsCreditedEvent.OutputObject>;
        SlashedFundsCredited: TypedContractEvent<SlashedFundsCreditedEvent.InputTuple, SlashedFundsCreditedEvent.OutputTuple, SlashedFundsCreditedEvent.OutputObject>;
        'SlashedFundsDistributedOnSuccess(uint256,uint256,uint256)': TypedContractEvent<SlashedFundsDistributedOnSuccessEvent.InputTuple, SlashedFundsDistributedOnSuccessEvent.OutputTuple, SlashedFundsDistributedOnSuccessEvent.OutputObject>;
        SlashedFundsDistributedOnSuccess: TypedContractEvent<SlashedFundsDistributedOnSuccessEvent.InputTuple, SlashedFundsDistributedOnSuccessEvent.OutputTuple, SlashedFundsDistributedOnSuccessEvent.OutputObject>;
        'SlashedFundsEscrowed(uint256,uint256)': TypedContractEvent<SlashedFundsEscrowedEvent.InputTuple, SlashedFundsEscrowedEvent.OutputTuple, SlashedFundsEscrowedEvent.OutputObject>;
        SlashedFundsEscrowed: TypedContractEvent<SlashedFundsEscrowedEvent.InputTuple, SlashedFundsEscrowedEvent.OutputTuple, SlashedFundsEscrowedEvent.OutputObject>;
        'TreasurySet(address)': TypedContractEvent<TreasurySetEvent.InputTuple, TreasurySetEvent.OutputTuple, TreasurySetEvent.OutputObject>;
        TreasurySet: TypedContractEvent<TreasurySetEvent.InputTuple, TreasurySetEvent.OutputTuple, TreasurySetEvent.OutputObject>;
        'TreasurySlashedClaimed(address,address,uint256)': TypedContractEvent<TreasurySlashedClaimedEvent.InputTuple, TreasurySlashedClaimedEvent.OutputTuple, TreasurySlashedClaimedEvent.OutputObject>;
        TreasurySlashedClaimed: TypedContractEvent<TreasurySlashedClaimedEvent.InputTuple, TreasurySlashedClaimedEvent.OutputTuple, TreasurySlashedClaimedEvent.OutputObject>;
        'TreasurySlashedCredited(address,address,uint256)': TypedContractEvent<TreasurySlashedCreditedEvent.InputTuple, TreasurySlashedCreditedEvent.OutputTuple, TreasurySlashedCreditedEvent.OutputObject>;
        TreasurySlashedCredited: TypedContractEvent<TreasurySlashedCreditedEvent.InputTuple, TreasurySlashedCreditedEvent.OutputTuple, TreasurySlashedCreditedEvent.OutputObject>;
        'WorkAllocationUpdated(tuple)': TypedContractEvent<WorkAllocationUpdatedEvent.InputTuple, WorkAllocationUpdatedEvent.OutputTuple, WorkAllocationUpdatedEvent.OutputObject>;
        WorkAllocationUpdated: TypedContractEvent<WorkAllocationUpdatedEvent.InputTuple, WorkAllocationUpdatedEvent.OutputTuple, WorkAllocationUpdatedEvent.OutputObject>;
    };
}
//# sourceMappingURL=IE3RefundManager.d.ts.map