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";
export declare namespace IStakingData {
    type AllocationStruct = {
        indexer: AddressLike;
        subgraphDeploymentID: BytesLike;
        tokens: BigNumberish;
        createdAtEpoch: BigNumberish;
        closedAtEpoch: BigNumberish;
        collectedFees: BigNumberish;
        __DEPRECATED_effectiveAllocation: BigNumberish;
        accRewardsPerAllocatedToken: BigNumberish;
        distributedRebates: BigNumberish;
    };
    type AllocationStructOutput = [
        indexer: string,
        subgraphDeploymentID: string,
        tokens: bigint,
        createdAtEpoch: bigint,
        closedAtEpoch: bigint,
        collectedFees: bigint,
        __DEPRECATED_effectiveAllocation: bigint,
        accRewardsPerAllocatedToken: bigint,
        distributedRebates: bigint
    ] & {
        indexer: string;
        subgraphDeploymentID: string;
        tokens: bigint;
        createdAtEpoch: bigint;
        closedAtEpoch: bigint;
        collectedFees: bigint;
        __DEPRECATED_effectiveAllocation: bigint;
        accRewardsPerAllocatedToken: bigint;
        distributedRebates: bigint;
    };
    type DelegationStruct = {
        shares: BigNumberish;
        tokensLocked: BigNumberish;
        tokensLockedUntil: BigNumberish;
    };
    type DelegationStructOutput = [
        shares: bigint,
        tokensLocked: bigint,
        tokensLockedUntil: bigint
    ] & {
        shares: bigint;
        tokensLocked: bigint;
        tokensLockedUntil: bigint;
    };
    type RebatesParametersStruct = {
        alphaNumerator: BigNumberish;
        alphaDenominator: BigNumberish;
        lambdaNumerator: BigNumberish;
        lambdaDenominator: BigNumberish;
    };
    type RebatesParametersStructOutput = [
        alphaNumerator: bigint,
        alphaDenominator: bigint,
        lambdaNumerator: bigint,
        lambdaDenominator: bigint
    ] & {
        alphaNumerator: bigint;
        alphaDenominator: bigint;
        lambdaNumerator: bigint;
        lambdaDenominator: bigint;
    };
}
export declare namespace IStakingExtension {
    type DelegationPoolReturnStruct = {
        __DEPRECATED_cooldownBlocks: BigNumberish;
        indexingRewardCut: BigNumberish;
        queryFeeCut: BigNumberish;
        updatedAtBlock: BigNumberish;
        tokens: BigNumberish;
        shares: BigNumberish;
    };
    type DelegationPoolReturnStructOutput = [
        __DEPRECATED_cooldownBlocks: bigint,
        indexingRewardCut: bigint,
        queryFeeCut: bigint,
        updatedAtBlock: bigint,
        tokens: bigint,
        shares: bigint
    ] & {
        __DEPRECATED_cooldownBlocks: bigint;
        indexingRewardCut: bigint;
        queryFeeCut: bigint;
        updatedAtBlock: bigint;
        tokens: bigint;
        shares: bigint;
    };
}
export declare namespace IStakes {
    type IndexerStruct = {
        tokensStaked: BigNumberish;
        tokensAllocated: BigNumberish;
        tokensLocked: BigNumberish;
        tokensLockedUntil: BigNumberish;
    };
    type IndexerStructOutput = [
        tokensStaked: bigint,
        tokensAllocated: bigint,
        tokensLocked: bigint,
        tokensLockedUntil: bigint
    ] & {
        tokensStaked: bigint;
        tokensAllocated: bigint;
        tokensLocked: bigint;
        tokensLockedUntil: bigint;
    };
}
export interface IL1StakingInterface extends Interface {
    getFunction(nameOrSignature: "allocate" | "allocateFrom" | "allocations" | "alphaDenominator" | "alphaNumerator" | "closeAllocation" | "collect" | "controller" | "curationPercentage" | "delegate" | "delegationPools" | "delegationRatio" | "delegationTaxPercentage" | "delegationUnbondingPeriod" | "getAllocation" | "getAllocationData" | "getAllocationState" | "getDelegation" | "getIndexerCapacity" | "getIndexerStakedTokens" | "getSubgraphAllocatedTokens" | "getWithdraweableDelegatedTokens" | "hasStake" | "initialize" | "isActiveAllocation" | "isAllocation" | "isDelegator" | "isOperator" | "lambdaDenominator" | "lambdaNumerator" | "maxAllocationEpochs" | "minimumIndexerStake" | "multicall" | "operatorAuth" | "protocolPercentage" | "rewardsDestination" | "setController" | "setCounterpartStakingAddress" | "setCurationPercentage" | "setDelegationParameters" | "setDelegationRatio" | "setDelegationTaxPercentage" | "setDelegationUnbondingPeriod" | "setExtensionImpl" | "setL1GraphTokenLockTransferTool" | "setMaxAllocationEpochs" | "setMinimumIndexerStake" | "setOperator" | "setProtocolPercentage" | "setRebateParameters" | "setRewardsDestination" | "setSlasher" | "setThawingPeriod" | "slash" | "slashers" | "stake" | "stakeTo" | "stakes" | "subgraphAllocations" | "syncAllContracts" | "thawingPeriod" | "transferDelegationToL2" | "transferLockedDelegationToL2" | "transferLockedStakeToL2" | "transferStakeToL2" | "undelegate" | "unlockDelegationToTransferredIndexer" | "unstake" | "withdraw" | "withdrawDelegated"): FunctionFragment;
    getEvent(nameOrSignatureOrTopic: "AllocationClosed" | "AllocationCreated" | "DelegationParametersUpdated" | "DelegationTransferredToL2" | "ExtensionImplementationSet" | "IndexerStakeTransferredToL2" | "L1GraphTokenLockTransferToolSet" | "RebateCollected" | "SetOperator" | "SetRewardsDestination" | "SlasherUpdate" | "StakeDelegated" | "StakeDelegatedLocked" | "StakeDelegatedUnlockedDueToL2Transfer" | "StakeDelegatedWithdrawn" | "StakeDeposited" | "StakeLocked" | "StakeSlashed" | "StakeWithdrawn"): EventFragment;
    encodeFunctionData(functionFragment: "allocate", values: [BytesLike, BigNumberish, AddressLike, BytesLike, BytesLike]): string;
    encodeFunctionData(functionFragment: "allocateFrom", values: [
        AddressLike,
        BytesLike,
        BigNumberish,
        AddressLike,
        BytesLike,
        BytesLike
    ]): string;
    encodeFunctionData(functionFragment: "allocations", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "alphaDenominator", values?: undefined): string;
    encodeFunctionData(functionFragment: "alphaNumerator", values?: undefined): string;
    encodeFunctionData(functionFragment: "closeAllocation", values: [AddressLike, BytesLike]): string;
    encodeFunctionData(functionFragment: "collect", values: [BigNumberish, AddressLike]): string;
    encodeFunctionData(functionFragment: "controller", values?: undefined): string;
    encodeFunctionData(functionFragment: "curationPercentage", values?: undefined): string;
    encodeFunctionData(functionFragment: "delegate", values: [AddressLike, BigNumberish]): string;
    encodeFunctionData(functionFragment: "delegationPools", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "delegationRatio", values?: undefined): string;
    encodeFunctionData(functionFragment: "delegationTaxPercentage", values?: undefined): string;
    encodeFunctionData(functionFragment: "delegationUnbondingPeriod", values?: undefined): string;
    encodeFunctionData(functionFragment: "getAllocation", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "getAllocationData", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "getAllocationState", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "getDelegation", values: [AddressLike, AddressLike]): string;
    encodeFunctionData(functionFragment: "getIndexerCapacity", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "getIndexerStakedTokens", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "getSubgraphAllocatedTokens", values: [BytesLike]): string;
    encodeFunctionData(functionFragment: "getWithdraweableDelegatedTokens", values: [IStakingData.DelegationStruct]): string;
    encodeFunctionData(functionFragment: "hasStake", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "initialize", values: [
        AddressLike,
        BigNumberish,
        BigNumberish,
        BigNumberish,
        BigNumberish,
        BigNumberish,
        BigNumberish,
        BigNumberish,
        IStakingData.RebatesParametersStruct,
        AddressLike
    ]): string;
    encodeFunctionData(functionFragment: "isActiveAllocation", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "isAllocation", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "isDelegator", values: [AddressLike, AddressLike]): string;
    encodeFunctionData(functionFragment: "isOperator", values: [AddressLike, AddressLike]): string;
    encodeFunctionData(functionFragment: "lambdaDenominator", values?: undefined): string;
    encodeFunctionData(functionFragment: "lambdaNumerator", values?: undefined): string;
    encodeFunctionData(functionFragment: "maxAllocationEpochs", values?: undefined): string;
    encodeFunctionData(functionFragment: "minimumIndexerStake", values?: undefined): string;
    encodeFunctionData(functionFragment: "multicall", values: [BytesLike[]]): string;
    encodeFunctionData(functionFragment: "operatorAuth", values: [AddressLike, AddressLike]): string;
    encodeFunctionData(functionFragment: "protocolPercentage", values?: undefined): string;
    encodeFunctionData(functionFragment: "rewardsDestination", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "setController", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "setCounterpartStakingAddress", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "setCurationPercentage", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "setDelegationParameters", values: [BigNumberish, BigNumberish, BigNumberish]): string;
    encodeFunctionData(functionFragment: "setDelegationRatio", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "setDelegationTaxPercentage", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "setDelegationUnbondingPeriod", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "setExtensionImpl", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "setL1GraphTokenLockTransferTool", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "setMaxAllocationEpochs", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "setMinimumIndexerStake", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "setOperator", values: [AddressLike, boolean]): string;
    encodeFunctionData(functionFragment: "setProtocolPercentage", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "setRebateParameters", values: [BigNumberish, BigNumberish, BigNumberish, BigNumberish]): string;
    encodeFunctionData(functionFragment: "setRewardsDestination", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "setSlasher", values: [AddressLike, boolean]): string;
    encodeFunctionData(functionFragment: "setThawingPeriod", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "slash", values: [AddressLike, BigNumberish, BigNumberish, AddressLike]): string;
    encodeFunctionData(functionFragment: "slashers", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "stake", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "stakeTo", values: [AddressLike, BigNumberish]): string;
    encodeFunctionData(functionFragment: "stakes", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "subgraphAllocations", values: [BytesLike]): string;
    encodeFunctionData(functionFragment: "syncAllContracts", values?: undefined): string;
    encodeFunctionData(functionFragment: "thawingPeriod", values?: undefined): string;
    encodeFunctionData(functionFragment: "transferDelegationToL2", values: [
        AddressLike,
        AddressLike,
        BigNumberish,
        BigNumberish,
        BigNumberish
    ]): string;
    encodeFunctionData(functionFragment: "transferLockedDelegationToL2", values: [AddressLike, BigNumberish, BigNumberish, BigNumberish]): string;
    encodeFunctionData(functionFragment: "transferLockedStakeToL2", values: [BigNumberish, BigNumberish, BigNumberish, BigNumberish]): string;
    encodeFunctionData(functionFragment: "transferStakeToL2", values: [
        AddressLike,
        BigNumberish,
        BigNumberish,
        BigNumberish,
        BigNumberish
    ]): string;
    encodeFunctionData(functionFragment: "undelegate", values: [AddressLike, BigNumberish]): string;
    encodeFunctionData(functionFragment: "unlockDelegationToTransferredIndexer", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "unstake", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "withdraw", values?: undefined): string;
    encodeFunctionData(functionFragment: "withdrawDelegated", values: [AddressLike, AddressLike]): string;
    decodeFunctionResult(functionFragment: "allocate", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "allocateFrom", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "allocations", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "alphaDenominator", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "alphaNumerator", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "closeAllocation", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "collect", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "controller", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "curationPercentage", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "delegate", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "delegationPools", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "delegationRatio", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "delegationTaxPercentage", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "delegationUnbondingPeriod", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getAllocation", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getAllocationData", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getAllocationState", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getDelegation", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getIndexerCapacity", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getIndexerStakedTokens", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getSubgraphAllocatedTokens", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getWithdraweableDelegatedTokens", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "hasStake", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "isActiveAllocation", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "isAllocation", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "isDelegator", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "isOperator", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "lambdaDenominator", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "lambdaNumerator", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "maxAllocationEpochs", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "minimumIndexerStake", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "operatorAuth", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "protocolPercentage", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "rewardsDestination", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setController", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setCounterpartStakingAddress", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setCurationPercentage", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setDelegationParameters", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setDelegationRatio", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setDelegationTaxPercentage", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setDelegationUnbondingPeriod", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setExtensionImpl", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setL1GraphTokenLockTransferTool", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setMaxAllocationEpochs", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setMinimumIndexerStake", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setOperator", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setProtocolPercentage", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setRebateParameters", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setRewardsDestination", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setSlasher", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setThawingPeriod", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "slash", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "slashers", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "stake", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "stakeTo", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "stakes", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "subgraphAllocations", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "syncAllContracts", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "thawingPeriod", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "transferDelegationToL2", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "transferLockedDelegationToL2", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "transferLockedStakeToL2", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "transferStakeToL2", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "undelegate", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "unlockDelegationToTransferredIndexer", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "unstake", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "withdrawDelegated", data: BytesLike): Result;
}
export declare namespace AllocationClosedEvent {
    type InputTuple = [
        indexer: AddressLike,
        subgraphDeploymentID: BytesLike,
        epoch: BigNumberish,
        tokens: BigNumberish,
        allocationID: AddressLike,
        sender: AddressLike,
        poi: BytesLike,
        isPublic: boolean
    ];
    type OutputTuple = [
        indexer: string,
        subgraphDeploymentID: string,
        epoch: bigint,
        tokens: bigint,
        allocationID: string,
        sender: string,
        poi: string,
        isPublic: boolean
    ];
    interface OutputObject {
        indexer: string;
        subgraphDeploymentID: string;
        epoch: bigint;
        tokens: bigint;
        allocationID: string;
        sender: string;
        poi: string;
        isPublic: boolean;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace AllocationCreatedEvent {
    type InputTuple = [
        indexer: AddressLike,
        subgraphDeploymentID: BytesLike,
        epoch: BigNumberish,
        tokens: BigNumberish,
        allocationID: AddressLike,
        metadata: BytesLike
    ];
    type OutputTuple = [
        indexer: string,
        subgraphDeploymentID: string,
        epoch: bigint,
        tokens: bigint,
        allocationID: string,
        metadata: string
    ];
    interface OutputObject {
        indexer: string;
        subgraphDeploymentID: string;
        epoch: bigint;
        tokens: bigint;
        allocationID: string;
        metadata: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace DelegationParametersUpdatedEvent {
    type InputTuple = [
        indexer: AddressLike,
        indexingRewardCut: BigNumberish,
        queryFeeCut: BigNumberish,
        __DEPRECATED_cooldownBlocks: BigNumberish
    ];
    type OutputTuple = [
        indexer: string,
        indexingRewardCut: bigint,
        queryFeeCut: bigint,
        __DEPRECATED_cooldownBlocks: bigint
    ];
    interface OutputObject {
        indexer: string;
        indexingRewardCut: bigint;
        queryFeeCut: bigint;
        __DEPRECATED_cooldownBlocks: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace DelegationTransferredToL2Event {
    type InputTuple = [
        delegator: AddressLike,
        l2Delegator: AddressLike,
        indexer: AddressLike,
        l2Indexer: AddressLike,
        transferredDelegationTokens: BigNumberish
    ];
    type OutputTuple = [
        delegator: string,
        l2Delegator: string,
        indexer: string,
        l2Indexer: string,
        transferredDelegationTokens: bigint
    ];
    interface OutputObject {
        delegator: string;
        l2Delegator: string;
        indexer: string;
        l2Indexer: string;
        transferredDelegationTokens: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace ExtensionImplementationSetEvent {
    type InputTuple = [extensionImpl: AddressLike];
    type OutputTuple = [extensionImpl: string];
    interface OutputObject {
        extensionImpl: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace IndexerStakeTransferredToL2Event {
    type InputTuple = [
        indexer: AddressLike,
        l2Indexer: AddressLike,
        transferredStakeTokens: BigNumberish
    ];
    type OutputTuple = [
        indexer: string,
        l2Indexer: string,
        transferredStakeTokens: bigint
    ];
    interface OutputObject {
        indexer: string;
        l2Indexer: string;
        transferredStakeTokens: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace L1GraphTokenLockTransferToolSetEvent {
    type InputTuple = [l1GraphTokenLockTransferTool: AddressLike];
    type OutputTuple = [l1GraphTokenLockTransferTool: string];
    interface OutputObject {
        l1GraphTokenLockTransferTool: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace RebateCollectedEvent {
    type InputTuple = [
        assetHolder: AddressLike,
        indexer: AddressLike,
        subgraphDeploymentID: BytesLike,
        allocationID: AddressLike,
        epoch: BigNumberish,
        tokens: BigNumberish,
        protocolTax: BigNumberish,
        curationFees: BigNumberish,
        queryFees: BigNumberish,
        queryRebates: BigNumberish,
        delegationRewards: BigNumberish
    ];
    type OutputTuple = [
        assetHolder: string,
        indexer: string,
        subgraphDeploymentID: string,
        allocationID: string,
        epoch: bigint,
        tokens: bigint,
        protocolTax: bigint,
        curationFees: bigint,
        queryFees: bigint,
        queryRebates: bigint,
        delegationRewards: bigint
    ];
    interface OutputObject {
        assetHolder: string;
        indexer: string;
        subgraphDeploymentID: string;
        allocationID: string;
        epoch: bigint;
        tokens: bigint;
        protocolTax: bigint;
        curationFees: bigint;
        queryFees: bigint;
        queryRebates: bigint;
        delegationRewards: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SetOperatorEvent {
    type InputTuple = [
        indexer: AddressLike,
        operator: AddressLike,
        allowed: boolean
    ];
    type OutputTuple = [
        indexer: string,
        operator: string,
        allowed: boolean
    ];
    interface OutputObject {
        indexer: string;
        operator: string;
        allowed: boolean;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SetRewardsDestinationEvent {
    type InputTuple = [indexer: AddressLike, destination: AddressLike];
    type OutputTuple = [indexer: string, destination: string];
    interface OutputObject {
        indexer: string;
        destination: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SlasherUpdateEvent {
    type InputTuple = [
        caller: AddressLike,
        slasher: AddressLike,
        allowed: boolean
    ];
    type OutputTuple = [caller: string, slasher: string, allowed: boolean];
    interface OutputObject {
        caller: string;
        slasher: string;
        allowed: boolean;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace StakeDelegatedEvent {
    type InputTuple = [
        indexer: AddressLike,
        delegator: AddressLike,
        tokens: BigNumberish,
        shares: BigNumberish
    ];
    type OutputTuple = [
        indexer: string,
        delegator: string,
        tokens: bigint,
        shares: bigint
    ];
    interface OutputObject {
        indexer: string;
        delegator: string;
        tokens: bigint;
        shares: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace StakeDelegatedLockedEvent {
    type InputTuple = [
        indexer: AddressLike,
        delegator: AddressLike,
        tokens: BigNumberish,
        shares: BigNumberish,
        until: BigNumberish
    ];
    type OutputTuple = [
        indexer: string,
        delegator: string,
        tokens: bigint,
        shares: bigint,
        until: bigint
    ];
    interface OutputObject {
        indexer: string;
        delegator: string;
        tokens: bigint;
        shares: bigint;
        until: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace StakeDelegatedUnlockedDueToL2TransferEvent {
    type InputTuple = [indexer: AddressLike, delegator: AddressLike];
    type OutputTuple = [indexer: string, delegator: string];
    interface OutputObject {
        indexer: string;
        delegator: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace StakeDelegatedWithdrawnEvent {
    type InputTuple = [
        indexer: AddressLike,
        delegator: AddressLike,
        tokens: BigNumberish
    ];
    type OutputTuple = [
        indexer: string,
        delegator: string,
        tokens: bigint
    ];
    interface OutputObject {
        indexer: string;
        delegator: string;
        tokens: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace StakeDepositedEvent {
    type InputTuple = [indexer: AddressLike, tokens: BigNumberish];
    type OutputTuple = [indexer: string, tokens: bigint];
    interface OutputObject {
        indexer: string;
        tokens: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace StakeLockedEvent {
    type InputTuple = [
        indexer: AddressLike,
        tokens: BigNumberish,
        until: BigNumberish
    ];
    type OutputTuple = [indexer: string, tokens: bigint, until: bigint];
    interface OutputObject {
        indexer: string;
        tokens: bigint;
        until: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace StakeSlashedEvent {
    type InputTuple = [
        indexer: AddressLike,
        tokens: BigNumberish,
        reward: BigNumberish,
        beneficiary: AddressLike
    ];
    type OutputTuple = [
        indexer: string,
        tokens: bigint,
        reward: bigint,
        beneficiary: string
    ];
    interface OutputObject {
        indexer: string;
        tokens: bigint;
        reward: bigint;
        beneficiary: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace StakeWithdrawnEvent {
    type InputTuple = [indexer: AddressLike, tokens: BigNumberish];
    type OutputTuple = [indexer: string, tokens: bigint];
    interface OutputObject {
        indexer: string;
        tokens: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export interface IL1Staking extends BaseContract {
    connect(runner?: ContractRunner | null): IL1Staking;
    waitForDeployment(): Promise<this>;
    interface: IL1StakingInterface;
    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>;
    allocate: TypedContractMethod<[
        subgraphDeploymentID: BytesLike,
        tokens: BigNumberish,
        allocationID: AddressLike,
        metadata: BytesLike,
        proof: BytesLike
    ], [
        void
    ], "nonpayable">;
    allocateFrom: TypedContractMethod<[
        indexer: AddressLike,
        subgraphDeploymentID: BytesLike,
        tokens: BigNumberish,
        allocationID: AddressLike,
        metadata: BytesLike,
        proof: BytesLike
    ], [
        void
    ], "nonpayable">;
    allocations: TypedContractMethod<[
        allocationID: AddressLike
    ], [
        IStakingData.AllocationStructOutput
    ], "view">;
    alphaDenominator: TypedContractMethod<[], [bigint], "view">;
    alphaNumerator: TypedContractMethod<[], [bigint], "view">;
    closeAllocation: TypedContractMethod<[
        allocationID: AddressLike,
        poi: BytesLike
    ], [
        void
    ], "nonpayable">;
    collect: TypedContractMethod<[
        tokens: BigNumberish,
        allocationID: AddressLike
    ], [
        void
    ], "nonpayable">;
    controller: TypedContractMethod<[], [string], "view">;
    curationPercentage: TypedContractMethod<[], [bigint], "view">;
    delegate: TypedContractMethod<[
        indexer: AddressLike,
        tokens: BigNumberish
    ], [
        bigint
    ], "nonpayable">;
    delegationPools: TypedContractMethod<[
        indexer: AddressLike
    ], [
        IStakingExtension.DelegationPoolReturnStructOutput
    ], "view">;
    delegationRatio: TypedContractMethod<[], [bigint], "view">;
    delegationTaxPercentage: TypedContractMethod<[], [bigint], "view">;
    delegationUnbondingPeriod: TypedContractMethod<[], [bigint], "view">;
    getAllocation: TypedContractMethod<[
        allocationID: AddressLike
    ], [
        IStakingData.AllocationStructOutput
    ], "view">;
    getAllocationData: TypedContractMethod<[
        allocationID: AddressLike
    ], [
        [boolean, string, string, bigint, bigint, bigint]
    ], "view">;
    getAllocationState: TypedContractMethod<[
        allocationID: AddressLike
    ], [
        bigint
    ], "view">;
    getDelegation: TypedContractMethod<[
        indexer: AddressLike,
        delegator: AddressLike
    ], [
        IStakingData.DelegationStructOutput
    ], "view">;
    getIndexerCapacity: TypedContractMethod<[
        indexer: AddressLike
    ], [
        bigint
    ], "view">;
    getIndexerStakedTokens: TypedContractMethod<[
        indexer: AddressLike
    ], [
        bigint
    ], "view">;
    getSubgraphAllocatedTokens: TypedContractMethod<[
        subgraphDeploymentID: BytesLike
    ], [
        bigint
    ], "view">;
    getWithdraweableDelegatedTokens: TypedContractMethod<[
        delegation: IStakingData.DelegationStruct
    ], [
        bigint
    ], "view">;
    hasStake: TypedContractMethod<[indexer: AddressLike], [boolean], "view">;
    initialize: TypedContractMethod<[
        controller: AddressLike,
        minimumIndexerStake: BigNumberish,
        thawingPeriod: BigNumberish,
        protocolPercentage: BigNumberish,
        curationPercentage: BigNumberish,
        maxAllocationEpochs: BigNumberish,
        delegationUnbondingPeriod: BigNumberish,
        delegationRatio: BigNumberish,
        rebatesParameters: IStakingData.RebatesParametersStruct,
        extensionImpl: AddressLike
    ], [
        void
    ], "nonpayable">;
    isActiveAllocation: TypedContractMethod<[
        allocationID: AddressLike
    ], [
        boolean
    ], "view">;
    isAllocation: TypedContractMethod<[
        allocationID: AddressLike
    ], [
        boolean
    ], "view">;
    isDelegator: TypedContractMethod<[
        indexer: AddressLike,
        delegator: AddressLike
    ], [
        boolean
    ], "view">;
    isOperator: TypedContractMethod<[
        operator: AddressLike,
        indexer: AddressLike
    ], [
        boolean
    ], "view">;
    lambdaDenominator: TypedContractMethod<[], [bigint], "view">;
    lambdaNumerator: TypedContractMethod<[], [bigint], "view">;
    maxAllocationEpochs: TypedContractMethod<[], [bigint], "view">;
    minimumIndexerStake: TypedContractMethod<[], [bigint], "view">;
    multicall: TypedContractMethod<[data: BytesLike[]], [string[]], "nonpayable">;
    operatorAuth: TypedContractMethod<[
        indexer: AddressLike,
        maybeOperator: AddressLike
    ], [
        boolean
    ], "view">;
    protocolPercentage: TypedContractMethod<[], [bigint], "view">;
    rewardsDestination: TypedContractMethod<[
        indexer: AddressLike
    ], [
        string
    ], "view">;
    setController: TypedContractMethod<[
        controller: AddressLike
    ], [
        void
    ], "nonpayable">;
    setCounterpartStakingAddress: TypedContractMethod<[
        counterpart: AddressLike
    ], [
        void
    ], "nonpayable">;
    setCurationPercentage: TypedContractMethod<[
        percentage: BigNumberish
    ], [
        void
    ], "nonpayable">;
    setDelegationParameters: TypedContractMethod<[
        indexingRewardCut: BigNumberish,
        queryFeeCut: BigNumberish,
        arg2: BigNumberish
    ], [
        void
    ], "nonpayable">;
    setDelegationRatio: TypedContractMethod<[
        delegationRatio: BigNumberish
    ], [
        void
    ], "nonpayable">;
    setDelegationTaxPercentage: TypedContractMethod<[
        percentage: BigNumberish
    ], [
        void
    ], "nonpayable">;
    setDelegationUnbondingPeriod: TypedContractMethod<[
        delegationUnbondingPeriod: BigNumberish
    ], [
        void
    ], "nonpayable">;
    setExtensionImpl: TypedContractMethod<[
        extensionImpl: AddressLike
    ], [
        void
    ], "nonpayable">;
    setL1GraphTokenLockTransferTool: TypedContractMethod<[
        l1GraphTokenLockTransferTool: AddressLike
    ], [
        void
    ], "nonpayable">;
    setMaxAllocationEpochs: TypedContractMethod<[
        maxAllocationEpochs: BigNumberish
    ], [
        void
    ], "nonpayable">;
    setMinimumIndexerStake: TypedContractMethod<[
        minimumIndexerStake: BigNumberish
    ], [
        void
    ], "nonpayable">;
    setOperator: TypedContractMethod<[
        operator: AddressLike,
        allowed: boolean
    ], [
        void
    ], "nonpayable">;
    setProtocolPercentage: TypedContractMethod<[
        percentage: BigNumberish
    ], [
        void
    ], "nonpayable">;
    setRebateParameters: TypedContractMethod<[
        alphaNumerator: BigNumberish,
        alphaDenominator: BigNumberish,
        lambdaNumerator: BigNumberish,
        lambdaDenominator: BigNumberish
    ], [
        void
    ], "nonpayable">;
    setRewardsDestination: TypedContractMethod<[
        destination: AddressLike
    ], [
        void
    ], "nonpayable">;
    setSlasher: TypedContractMethod<[
        slasher: AddressLike,
        allowed: boolean
    ], [
        void
    ], "nonpayable">;
    setThawingPeriod: TypedContractMethod<[
        thawingPeriod: BigNumberish
    ], [
        void
    ], "nonpayable">;
    slash: TypedContractMethod<[
        indexer: AddressLike,
        tokens: BigNumberish,
        reward: BigNumberish,
        beneficiary: AddressLike
    ], [
        void
    ], "nonpayable">;
    slashers: TypedContractMethod<[maybeSlasher: AddressLike], [boolean], "view">;
    stake: TypedContractMethod<[tokens: BigNumberish], [void], "nonpayable">;
    stakeTo: TypedContractMethod<[
        indexer: AddressLike,
        tokens: BigNumberish
    ], [
        void
    ], "nonpayable">;
    stakes: TypedContractMethod<[
        indexer: AddressLike
    ], [
        IStakes.IndexerStructOutput
    ], "view">;
    subgraphAllocations: TypedContractMethod<[
        subgraphDeploymentId: BytesLike
    ], [
        bigint
    ], "view">;
    syncAllContracts: TypedContractMethod<[], [void], "nonpayable">;
    thawingPeriod: TypedContractMethod<[], [bigint], "view">;
    transferDelegationToL2: TypedContractMethod<[
        indexer: AddressLike,
        l2Beneficiary: AddressLike,
        maxGas: BigNumberish,
        gasPriceBid: BigNumberish,
        maxSubmissionCost: BigNumberish
    ], [
        void
    ], "payable">;
    transferLockedDelegationToL2: TypedContractMethod<[
        indexer: AddressLike,
        maxGas: BigNumberish,
        gasPriceBid: BigNumberish,
        maxSubmissionCost: BigNumberish
    ], [
        void
    ], "nonpayable">;
    transferLockedStakeToL2: TypedContractMethod<[
        amount: BigNumberish,
        maxGas: BigNumberish,
        gasPriceBid: BigNumberish,
        maxSubmissionCost: BigNumberish
    ], [
        void
    ], "nonpayable">;
    transferStakeToL2: TypedContractMethod<[
        l2Beneficiary: AddressLike,
        amount: BigNumberish,
        maxGas: BigNumberish,
        gasPriceBid: BigNumberish,
        maxSubmissionCost: BigNumberish
    ], [
        void
    ], "payable">;
    undelegate: TypedContractMethod<[
        indexer: AddressLike,
        shares: BigNumberish
    ], [
        bigint
    ], "nonpayable">;
    unlockDelegationToTransferredIndexer: TypedContractMethod<[
        indexer: AddressLike
    ], [
        void
    ], "nonpayable">;
    unstake: TypedContractMethod<[tokens: BigNumberish], [void], "nonpayable">;
    withdraw: TypedContractMethod<[], [void], "nonpayable">;
    withdrawDelegated: TypedContractMethod<[
        indexer: AddressLike,
        newIndexer: AddressLike
    ], [
        bigint
    ], "nonpayable">;
    getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
    getFunction(nameOrSignature: "allocate"): TypedContractMethod<[
        subgraphDeploymentID: BytesLike,
        tokens: BigNumberish,
        allocationID: AddressLike,
        metadata: BytesLike,
        proof: BytesLike
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "allocateFrom"): TypedContractMethod<[
        indexer: AddressLike,
        subgraphDeploymentID: BytesLike,
        tokens: BigNumberish,
        allocationID: AddressLike,
        metadata: BytesLike,
        proof: BytesLike
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "allocations"): TypedContractMethod<[
        allocationID: AddressLike
    ], [
        IStakingData.AllocationStructOutput
    ], "view">;
    getFunction(nameOrSignature: "alphaDenominator"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "alphaNumerator"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "closeAllocation"): TypedContractMethod<[
        allocationID: AddressLike,
        poi: BytesLike
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "collect"): TypedContractMethod<[
        tokens: BigNumberish,
        allocationID: AddressLike
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "controller"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "curationPercentage"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "delegate"): TypedContractMethod<[
        indexer: AddressLike,
        tokens: BigNumberish
    ], [
        bigint
    ], "nonpayable">;
    getFunction(nameOrSignature: "delegationPools"): TypedContractMethod<[
        indexer: AddressLike
    ], [
        IStakingExtension.DelegationPoolReturnStructOutput
    ], "view">;
    getFunction(nameOrSignature: "delegationRatio"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "delegationTaxPercentage"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "delegationUnbondingPeriod"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "getAllocation"): TypedContractMethod<[
        allocationID: AddressLike
    ], [
        IStakingData.AllocationStructOutput
    ], "view">;
    getFunction(nameOrSignature: "getAllocationData"): TypedContractMethod<[
        allocationID: AddressLike
    ], [
        [boolean, string, string, bigint, bigint, bigint]
    ], "view">;
    getFunction(nameOrSignature: "getAllocationState"): TypedContractMethod<[allocationID: AddressLike], [bigint], "view">;
    getFunction(nameOrSignature: "getDelegation"): TypedContractMethod<[
        indexer: AddressLike,
        delegator: AddressLike
    ], [
        IStakingData.DelegationStructOutput
    ], "view">;
    getFunction(nameOrSignature: "getIndexerCapacity"): TypedContractMethod<[indexer: AddressLike], [bigint], "view">;
    getFunction(nameOrSignature: "getIndexerStakedTokens"): TypedContractMethod<[indexer: AddressLike], [bigint], "view">;
    getFunction(nameOrSignature: "getSubgraphAllocatedTokens"): TypedContractMethod<[subgraphDeploymentID: BytesLike], [bigint], "view">;
    getFunction(nameOrSignature: "getWithdraweableDelegatedTokens"): TypedContractMethod<[
        delegation: IStakingData.DelegationStruct
    ], [
        bigint
    ], "view">;
    getFunction(nameOrSignature: "hasStake"): TypedContractMethod<[indexer: AddressLike], [boolean], "view">;
    getFunction(nameOrSignature: "initialize"): TypedContractMethod<[
        controller: AddressLike,
        minimumIndexerStake: BigNumberish,
        thawingPeriod: BigNumberish,
        protocolPercentage: BigNumberish,
        curationPercentage: BigNumberish,
        maxAllocationEpochs: BigNumberish,
        delegationUnbondingPeriod: BigNumberish,
        delegationRatio: BigNumberish,
        rebatesParameters: IStakingData.RebatesParametersStruct,
        extensionImpl: AddressLike
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "isActiveAllocation"): TypedContractMethod<[allocationID: AddressLike], [boolean], "view">;
    getFunction(nameOrSignature: "isAllocation"): TypedContractMethod<[allocationID: AddressLike], [boolean], "view">;
    getFunction(nameOrSignature: "isDelegator"): TypedContractMethod<[
        indexer: AddressLike,
        delegator: AddressLike
    ], [
        boolean
    ], "view">;
    getFunction(nameOrSignature: "isOperator"): TypedContractMethod<[
        operator: AddressLike,
        indexer: AddressLike
    ], [
        boolean
    ], "view">;
    getFunction(nameOrSignature: "lambdaDenominator"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "lambdaNumerator"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "maxAllocationEpochs"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "minimumIndexerStake"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "multicall"): TypedContractMethod<[data: BytesLike[]], [string[]], "nonpayable">;
    getFunction(nameOrSignature: "operatorAuth"): TypedContractMethod<[
        indexer: AddressLike,
        maybeOperator: AddressLike
    ], [
        boolean
    ], "view">;
    getFunction(nameOrSignature: "protocolPercentage"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "rewardsDestination"): TypedContractMethod<[indexer: AddressLike], [string], "view">;
    getFunction(nameOrSignature: "setController"): TypedContractMethod<[controller: AddressLike], [void], "nonpayable">;
    getFunction(nameOrSignature: "setCounterpartStakingAddress"): TypedContractMethod<[counterpart: AddressLike], [void], "nonpayable">;
    getFunction(nameOrSignature: "setCurationPercentage"): TypedContractMethod<[percentage: BigNumberish], [void], "nonpayable">;
    getFunction(nameOrSignature: "setDelegationParameters"): TypedContractMethod<[
        indexingRewardCut: BigNumberish,
        queryFeeCut: BigNumberish,
        arg2: BigNumberish
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "setDelegationRatio"): TypedContractMethod<[delegationRatio: BigNumberish], [void], "nonpayable">;
    getFunction(nameOrSignature: "setDelegationTaxPercentage"): TypedContractMethod<[percentage: BigNumberish], [void], "nonpayable">;
    getFunction(nameOrSignature: "setDelegationUnbondingPeriod"): TypedContractMethod<[
        delegationUnbondingPeriod: BigNumberish
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "setExtensionImpl"): TypedContractMethod<[extensionImpl: AddressLike], [void], "nonpayable">;
    getFunction(nameOrSignature: "setL1GraphTokenLockTransferTool"): TypedContractMethod<[
        l1GraphTokenLockTransferTool: AddressLike
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "setMaxAllocationEpochs"): TypedContractMethod<[
        maxAllocationEpochs: BigNumberish
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "setMinimumIndexerStake"): TypedContractMethod<[
        minimumIndexerStake: BigNumberish
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "setOperator"): TypedContractMethod<[
        operator: AddressLike,
        allowed: boolean
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "setProtocolPercentage"): TypedContractMethod<[percentage: BigNumberish], [void], "nonpayable">;
    getFunction(nameOrSignature: "setRebateParameters"): TypedContractMethod<[
        alphaNumerator: BigNumberish,
        alphaDenominator: BigNumberish,
        lambdaNumerator: BigNumberish,
        lambdaDenominator: BigNumberish
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "setRewardsDestination"): TypedContractMethod<[destination: AddressLike], [void], "nonpayable">;
    getFunction(nameOrSignature: "setSlasher"): TypedContractMethod<[
        slasher: AddressLike,
        allowed: boolean
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "setThawingPeriod"): TypedContractMethod<[thawingPeriod: BigNumberish], [void], "nonpayable">;
    getFunction(nameOrSignature: "slash"): TypedContractMethod<[
        indexer: AddressLike,
        tokens: BigNumberish,
        reward: BigNumberish,
        beneficiary: AddressLike
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "slashers"): TypedContractMethod<[maybeSlasher: AddressLike], [boolean], "view">;
    getFunction(nameOrSignature: "stake"): TypedContractMethod<[tokens: BigNumberish], [void], "nonpayable">;
    getFunction(nameOrSignature: "stakeTo"): TypedContractMethod<[
        indexer: AddressLike,
        tokens: BigNumberish
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "stakes"): TypedContractMethod<[
        indexer: AddressLike
    ], [
        IStakes.IndexerStructOutput
    ], "view">;
    getFunction(nameOrSignature: "subgraphAllocations"): TypedContractMethod<[subgraphDeploymentId: BytesLike], [bigint], "view">;
    getFunction(nameOrSignature: "syncAllContracts"): TypedContractMethod<[], [void], "nonpayable">;
    getFunction(nameOrSignature: "thawingPeriod"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "transferDelegationToL2"): TypedContractMethod<[
        indexer: AddressLike,
        l2Beneficiary: AddressLike,
        maxGas: BigNumberish,
        gasPriceBid: BigNumberish,
        maxSubmissionCost: BigNumberish
    ], [
        void
    ], "payable">;
    getFunction(nameOrSignature: "transferLockedDelegationToL2"): TypedContractMethod<[
        indexer: AddressLike,
        maxGas: BigNumberish,
        gasPriceBid: BigNumberish,
        maxSubmissionCost: BigNumberish
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "transferLockedStakeToL2"): TypedContractMethod<[
        amount: BigNumberish,
        maxGas: BigNumberish,
        gasPriceBid: BigNumberish,
        maxSubmissionCost: BigNumberish
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "transferStakeToL2"): TypedContractMethod<[
        l2Beneficiary: AddressLike,
        amount: BigNumberish,
        maxGas: BigNumberish,
        gasPriceBid: BigNumberish,
        maxSubmissionCost: BigNumberish
    ], [
        void
    ], "payable">;
    getFunction(nameOrSignature: "undelegate"): TypedContractMethod<[
        indexer: AddressLike,
        shares: BigNumberish
    ], [
        bigint
    ], "nonpayable">;
    getFunction(nameOrSignature: "unlockDelegationToTransferredIndexer"): TypedContractMethod<[indexer: AddressLike], [void], "nonpayable">;
    getFunction(nameOrSignature: "unstake"): TypedContractMethod<[tokens: BigNumberish], [void], "nonpayable">;
    getFunction(nameOrSignature: "withdraw"): TypedContractMethod<[], [void], "nonpayable">;
    getFunction(nameOrSignature: "withdrawDelegated"): TypedContractMethod<[
        indexer: AddressLike,
        newIndexer: AddressLike
    ], [
        bigint
    ], "nonpayable">;
    getEvent(key: "AllocationClosed"): TypedContractEvent<AllocationClosedEvent.InputTuple, AllocationClosedEvent.OutputTuple, AllocationClosedEvent.OutputObject>;
    getEvent(key: "AllocationCreated"): TypedContractEvent<AllocationCreatedEvent.InputTuple, AllocationCreatedEvent.OutputTuple, AllocationCreatedEvent.OutputObject>;
    getEvent(key: "DelegationParametersUpdated"): TypedContractEvent<DelegationParametersUpdatedEvent.InputTuple, DelegationParametersUpdatedEvent.OutputTuple, DelegationParametersUpdatedEvent.OutputObject>;
    getEvent(key: "DelegationTransferredToL2"): TypedContractEvent<DelegationTransferredToL2Event.InputTuple, DelegationTransferredToL2Event.OutputTuple, DelegationTransferredToL2Event.OutputObject>;
    getEvent(key: "ExtensionImplementationSet"): TypedContractEvent<ExtensionImplementationSetEvent.InputTuple, ExtensionImplementationSetEvent.OutputTuple, ExtensionImplementationSetEvent.OutputObject>;
    getEvent(key: "IndexerStakeTransferredToL2"): TypedContractEvent<IndexerStakeTransferredToL2Event.InputTuple, IndexerStakeTransferredToL2Event.OutputTuple, IndexerStakeTransferredToL2Event.OutputObject>;
    getEvent(key: "L1GraphTokenLockTransferToolSet"): TypedContractEvent<L1GraphTokenLockTransferToolSetEvent.InputTuple, L1GraphTokenLockTransferToolSetEvent.OutputTuple, L1GraphTokenLockTransferToolSetEvent.OutputObject>;
    getEvent(key: "RebateCollected"): TypedContractEvent<RebateCollectedEvent.InputTuple, RebateCollectedEvent.OutputTuple, RebateCollectedEvent.OutputObject>;
    getEvent(key: "SetOperator"): TypedContractEvent<SetOperatorEvent.InputTuple, SetOperatorEvent.OutputTuple, SetOperatorEvent.OutputObject>;
    getEvent(key: "SetRewardsDestination"): TypedContractEvent<SetRewardsDestinationEvent.InputTuple, SetRewardsDestinationEvent.OutputTuple, SetRewardsDestinationEvent.OutputObject>;
    getEvent(key: "SlasherUpdate"): TypedContractEvent<SlasherUpdateEvent.InputTuple, SlasherUpdateEvent.OutputTuple, SlasherUpdateEvent.OutputObject>;
    getEvent(key: "StakeDelegated"): TypedContractEvent<StakeDelegatedEvent.InputTuple, StakeDelegatedEvent.OutputTuple, StakeDelegatedEvent.OutputObject>;
    getEvent(key: "StakeDelegatedLocked"): TypedContractEvent<StakeDelegatedLockedEvent.InputTuple, StakeDelegatedLockedEvent.OutputTuple, StakeDelegatedLockedEvent.OutputObject>;
    getEvent(key: "StakeDelegatedUnlockedDueToL2Transfer"): TypedContractEvent<StakeDelegatedUnlockedDueToL2TransferEvent.InputTuple, StakeDelegatedUnlockedDueToL2TransferEvent.OutputTuple, StakeDelegatedUnlockedDueToL2TransferEvent.OutputObject>;
    getEvent(key: "StakeDelegatedWithdrawn"): TypedContractEvent<StakeDelegatedWithdrawnEvent.InputTuple, StakeDelegatedWithdrawnEvent.OutputTuple, StakeDelegatedWithdrawnEvent.OutputObject>;
    getEvent(key: "StakeDeposited"): TypedContractEvent<StakeDepositedEvent.InputTuple, StakeDepositedEvent.OutputTuple, StakeDepositedEvent.OutputObject>;
    getEvent(key: "StakeLocked"): TypedContractEvent<StakeLockedEvent.InputTuple, StakeLockedEvent.OutputTuple, StakeLockedEvent.OutputObject>;
    getEvent(key: "StakeSlashed"): TypedContractEvent<StakeSlashedEvent.InputTuple, StakeSlashedEvent.OutputTuple, StakeSlashedEvent.OutputObject>;
    getEvent(key: "StakeWithdrawn"): TypedContractEvent<StakeWithdrawnEvent.InputTuple, StakeWithdrawnEvent.OutputTuple, StakeWithdrawnEvent.OutputObject>;
    filters: {
        "AllocationClosed(address,bytes32,uint256,uint256,address,address,bytes32,bool)": TypedContractEvent<AllocationClosedEvent.InputTuple, AllocationClosedEvent.OutputTuple, AllocationClosedEvent.OutputObject>;
        AllocationClosed: TypedContractEvent<AllocationClosedEvent.InputTuple, AllocationClosedEvent.OutputTuple, AllocationClosedEvent.OutputObject>;
        "AllocationCreated(address,bytes32,uint256,uint256,address,bytes32)": TypedContractEvent<AllocationCreatedEvent.InputTuple, AllocationCreatedEvent.OutputTuple, AllocationCreatedEvent.OutputObject>;
        AllocationCreated: TypedContractEvent<AllocationCreatedEvent.InputTuple, AllocationCreatedEvent.OutputTuple, AllocationCreatedEvent.OutputObject>;
        "DelegationParametersUpdated(address,uint32,uint32,uint32)": TypedContractEvent<DelegationParametersUpdatedEvent.InputTuple, DelegationParametersUpdatedEvent.OutputTuple, DelegationParametersUpdatedEvent.OutputObject>;
        DelegationParametersUpdated: TypedContractEvent<DelegationParametersUpdatedEvent.InputTuple, DelegationParametersUpdatedEvent.OutputTuple, DelegationParametersUpdatedEvent.OutputObject>;
        "DelegationTransferredToL2(address,address,address,address,uint256)": TypedContractEvent<DelegationTransferredToL2Event.InputTuple, DelegationTransferredToL2Event.OutputTuple, DelegationTransferredToL2Event.OutputObject>;
        DelegationTransferredToL2: TypedContractEvent<DelegationTransferredToL2Event.InputTuple, DelegationTransferredToL2Event.OutputTuple, DelegationTransferredToL2Event.OutputObject>;
        "ExtensionImplementationSet(address)": TypedContractEvent<ExtensionImplementationSetEvent.InputTuple, ExtensionImplementationSetEvent.OutputTuple, ExtensionImplementationSetEvent.OutputObject>;
        ExtensionImplementationSet: TypedContractEvent<ExtensionImplementationSetEvent.InputTuple, ExtensionImplementationSetEvent.OutputTuple, ExtensionImplementationSetEvent.OutputObject>;
        "IndexerStakeTransferredToL2(address,address,uint256)": TypedContractEvent<IndexerStakeTransferredToL2Event.InputTuple, IndexerStakeTransferredToL2Event.OutputTuple, IndexerStakeTransferredToL2Event.OutputObject>;
        IndexerStakeTransferredToL2: TypedContractEvent<IndexerStakeTransferredToL2Event.InputTuple, IndexerStakeTransferredToL2Event.OutputTuple, IndexerStakeTransferredToL2Event.OutputObject>;
        "L1GraphTokenLockTransferToolSet(address)": TypedContractEvent<L1GraphTokenLockTransferToolSetEvent.InputTuple, L1GraphTokenLockTransferToolSetEvent.OutputTuple, L1GraphTokenLockTransferToolSetEvent.OutputObject>;
        L1GraphTokenLockTransferToolSet: TypedContractEvent<L1GraphTokenLockTransferToolSetEvent.InputTuple, L1GraphTokenLockTransferToolSetEvent.OutputTuple, L1GraphTokenLockTransferToolSetEvent.OutputObject>;
        "RebateCollected(address,address,bytes32,address,uint256,uint256,uint256,uint256,uint256,uint256,uint256)": TypedContractEvent<RebateCollectedEvent.InputTuple, RebateCollectedEvent.OutputTuple, RebateCollectedEvent.OutputObject>;
        RebateCollected: TypedContractEvent<RebateCollectedEvent.InputTuple, RebateCollectedEvent.OutputTuple, RebateCollectedEvent.OutputObject>;
        "SetOperator(address,address,bool)": TypedContractEvent<SetOperatorEvent.InputTuple, SetOperatorEvent.OutputTuple, SetOperatorEvent.OutputObject>;
        SetOperator: TypedContractEvent<SetOperatorEvent.InputTuple, SetOperatorEvent.OutputTuple, SetOperatorEvent.OutputObject>;
        "SetRewardsDestination(address,address)": TypedContractEvent<SetRewardsDestinationEvent.InputTuple, SetRewardsDestinationEvent.OutputTuple, SetRewardsDestinationEvent.OutputObject>;
        SetRewardsDestination: TypedContractEvent<SetRewardsDestinationEvent.InputTuple, SetRewardsDestinationEvent.OutputTuple, SetRewardsDestinationEvent.OutputObject>;
        "SlasherUpdate(address,address,bool)": TypedContractEvent<SlasherUpdateEvent.InputTuple, SlasherUpdateEvent.OutputTuple, SlasherUpdateEvent.OutputObject>;
        SlasherUpdate: TypedContractEvent<SlasherUpdateEvent.InputTuple, SlasherUpdateEvent.OutputTuple, SlasherUpdateEvent.OutputObject>;
        "StakeDelegated(address,address,uint256,uint256)": TypedContractEvent<StakeDelegatedEvent.InputTuple, StakeDelegatedEvent.OutputTuple, StakeDelegatedEvent.OutputObject>;
        StakeDelegated: TypedContractEvent<StakeDelegatedEvent.InputTuple, StakeDelegatedEvent.OutputTuple, StakeDelegatedEvent.OutputObject>;
        "StakeDelegatedLocked(address,address,uint256,uint256,uint256)": TypedContractEvent<StakeDelegatedLockedEvent.InputTuple, StakeDelegatedLockedEvent.OutputTuple, StakeDelegatedLockedEvent.OutputObject>;
        StakeDelegatedLocked: TypedContractEvent<StakeDelegatedLockedEvent.InputTuple, StakeDelegatedLockedEvent.OutputTuple, StakeDelegatedLockedEvent.OutputObject>;
        "StakeDelegatedUnlockedDueToL2Transfer(address,address)": TypedContractEvent<StakeDelegatedUnlockedDueToL2TransferEvent.InputTuple, StakeDelegatedUnlockedDueToL2TransferEvent.OutputTuple, StakeDelegatedUnlockedDueToL2TransferEvent.OutputObject>;
        StakeDelegatedUnlockedDueToL2Transfer: TypedContractEvent<StakeDelegatedUnlockedDueToL2TransferEvent.InputTuple, StakeDelegatedUnlockedDueToL2TransferEvent.OutputTuple, StakeDelegatedUnlockedDueToL2TransferEvent.OutputObject>;
        "StakeDelegatedWithdrawn(address,address,uint256)": TypedContractEvent<StakeDelegatedWithdrawnEvent.InputTuple, StakeDelegatedWithdrawnEvent.OutputTuple, StakeDelegatedWithdrawnEvent.OutputObject>;
        StakeDelegatedWithdrawn: TypedContractEvent<StakeDelegatedWithdrawnEvent.InputTuple, StakeDelegatedWithdrawnEvent.OutputTuple, StakeDelegatedWithdrawnEvent.OutputObject>;
        "StakeDeposited(address,uint256)": TypedContractEvent<StakeDepositedEvent.InputTuple, StakeDepositedEvent.OutputTuple, StakeDepositedEvent.OutputObject>;
        StakeDeposited: TypedContractEvent<StakeDepositedEvent.InputTuple, StakeDepositedEvent.OutputTuple, StakeDepositedEvent.OutputObject>;
        "StakeLocked(address,uint256,uint256)": TypedContractEvent<StakeLockedEvent.InputTuple, StakeLockedEvent.OutputTuple, StakeLockedEvent.OutputObject>;
        StakeLocked: TypedContractEvent<StakeLockedEvent.InputTuple, StakeLockedEvent.OutputTuple, StakeLockedEvent.OutputObject>;
        "StakeSlashed(address,uint256,uint256,address)": TypedContractEvent<StakeSlashedEvent.InputTuple, StakeSlashedEvent.OutputTuple, StakeSlashedEvent.OutputObject>;
        StakeSlashed: TypedContractEvent<StakeSlashedEvent.InputTuple, StakeSlashedEvent.OutputTuple, StakeSlashedEvent.OutputObject>;
        "StakeWithdrawn(address,uint256)": TypedContractEvent<StakeWithdrawnEvent.InputTuple, StakeWithdrawnEvent.OutputTuple, StakeWithdrawnEvent.OutputObject>;
        StakeWithdrawn: TypedContractEvent<StakeWithdrawnEvent.InputTuple, StakeWithdrawnEvent.OutputTuple, StakeWithdrawnEvent.OutputObject>;
    };
}
//# sourceMappingURL=IL1Staking.d.ts.map