import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from 'ethers';
import type { FunctionFragment, Result, EventFragment } from '@ethersproject/abi';
import type { Listener, Provider } from '@ethersproject/providers';
import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from './common';
export interface PolygonValidatorShareInterface extends utils.Interface {
    functions: {
        'activeAmount()': FunctionFragment;
        'allowance(address,address)': FunctionFragment;
        'approve(address,uint256)': FunctionFragment;
        'balanceOf(address)': FunctionFragment;
        'buyVoucher(uint256,uint256)': FunctionFragment;
        'commissionRate_deprecated()': FunctionFragment;
        'decreaseAllowance(address,uint256)': FunctionFragment;
        'delegation()': FunctionFragment;
        'drain(address,address,uint256)': FunctionFragment;
        'eventsHub()': FunctionFragment;
        'exchangeRate()': FunctionFragment;
        'getLiquidRewards(address)': FunctionFragment;
        'getRewardPerShare()': FunctionFragment;
        'getTotalStake(address)': FunctionFragment;
        'increaseAllowance(address,uint256)': FunctionFragment;
        'initalRewardPerShare(address)': FunctionFragment;
        'initialize(uint256,address,address)': FunctionFragment;
        'isOwner()': FunctionFragment;
        'lastCommissionUpdate_deprecated()': FunctionFragment;
        'lock()': FunctionFragment;
        'locked()': FunctionFragment;
        'migrateIn(address,uint256)': FunctionFragment;
        'migrateOut(address,uint256)': FunctionFragment;
        'minAmount()': FunctionFragment;
        'owner()': FunctionFragment;
        'renounceOwnership()': FunctionFragment;
        'restake()': FunctionFragment;
        'rewardPerShare()': FunctionFragment;
        'sellVoucher(uint256,uint256)': FunctionFragment;
        'sellVoucher_new(uint256,uint256)': FunctionFragment;
        'slash(uint256,uint256,uint256)': FunctionFragment;
        'stakeManager()': FunctionFragment;
        'stakingLogger()': FunctionFragment;
        'totalStake_deprecated()': FunctionFragment;
        'totalSupply()': FunctionFragment;
        'transfer(address,uint256)': FunctionFragment;
        'transferFrom(address,address,uint256)': FunctionFragment;
        'transferOwnership(address)': FunctionFragment;
        'unbondNonces(address)': FunctionFragment;
        'unbonds(address)': FunctionFragment;
        'unbonds_new(address,uint256)': FunctionFragment;
        'unlock()': FunctionFragment;
        'unstakeClaimTokens()': FunctionFragment;
        'unstakeClaimTokens_new(uint256)': FunctionFragment;
        'updateDelegation(bool)': FunctionFragment;
        'validatorId()': FunctionFragment;
        'validatorRewards_deprecated()': FunctionFragment;
        'withdrawExchangeRate()': FunctionFragment;
        'withdrawPool()': FunctionFragment;
        'withdrawRewards()': FunctionFragment;
        'withdrawShares()': FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: 'activeAmount' | 'allowance' | 'approve' | 'balanceOf' | 'buyVoucher' | 'commissionRate_deprecated' | 'decreaseAllowance' | 'delegation' | 'drain' | 'eventsHub' | 'exchangeRate' | 'getLiquidRewards' | 'getRewardPerShare' | 'getTotalStake' | 'increaseAllowance' | 'initalRewardPerShare' | 'initialize' | 'isOwner' | 'lastCommissionUpdate_deprecated' | 'lock' | 'locked' | 'migrateIn' | 'migrateOut' | 'minAmount' | 'owner' | 'renounceOwnership' | 'restake' | 'rewardPerShare' | 'sellVoucher' | 'sellVoucher_new' | 'slash' | 'stakeManager' | 'stakingLogger' | 'totalStake_deprecated' | 'totalSupply' | 'transfer' | 'transferFrom' | 'transferOwnership' | 'unbondNonces' | 'unbonds' | 'unbonds_new' | 'unlock' | 'unstakeClaimTokens' | 'unstakeClaimTokens_new' | 'updateDelegation' | 'validatorId' | 'validatorRewards_deprecated' | 'withdrawExchangeRate' | 'withdrawPool' | 'withdrawRewards' | 'withdrawShares'): FunctionFragment;
    encodeFunctionData(functionFragment: 'activeAmount', values?: undefined): string;
    encodeFunctionData(functionFragment: 'allowance', values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'approve', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'balanceOf', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'buyVoucher', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'commissionRate_deprecated', values?: undefined): string;
    encodeFunctionData(functionFragment: 'decreaseAllowance', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'delegation', values?: undefined): string;
    encodeFunctionData(functionFragment: 'drain', values: [PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'eventsHub', values?: undefined): string;
    encodeFunctionData(functionFragment: 'exchangeRate', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getLiquidRewards', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getRewardPerShare', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getTotalStake', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'increaseAllowance', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'initalRewardPerShare', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'initialize', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'isOwner', values?: undefined): string;
    encodeFunctionData(functionFragment: 'lastCommissionUpdate_deprecated', values?: undefined): string;
    encodeFunctionData(functionFragment: 'lock', values?: undefined): string;
    encodeFunctionData(functionFragment: 'locked', values?: undefined): string;
    encodeFunctionData(functionFragment: 'migrateIn', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'migrateOut', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'minAmount', values?: undefined): string;
    encodeFunctionData(functionFragment: 'owner', values?: undefined): string;
    encodeFunctionData(functionFragment: 'renounceOwnership', values?: undefined): string;
    encodeFunctionData(functionFragment: 'restake', values?: undefined): string;
    encodeFunctionData(functionFragment: 'rewardPerShare', values?: undefined): string;
    encodeFunctionData(functionFragment: 'sellVoucher', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'sellVoucher_new', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'slash', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'stakeManager', values?: undefined): string;
    encodeFunctionData(functionFragment: 'stakingLogger', values?: undefined): string;
    encodeFunctionData(functionFragment: 'totalStake_deprecated', values?: undefined): string;
    encodeFunctionData(functionFragment: 'totalSupply', values?: undefined): string;
    encodeFunctionData(functionFragment: 'transfer', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'transferFrom', values: [PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'transferOwnership', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'unbondNonces', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'unbonds', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'unbonds_new', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'unlock', values?: undefined): string;
    encodeFunctionData(functionFragment: 'unstakeClaimTokens', values?: undefined): string;
    encodeFunctionData(functionFragment: 'unstakeClaimTokens_new', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'updateDelegation', values: [PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: 'validatorId', values?: undefined): string;
    encodeFunctionData(functionFragment: 'validatorRewards_deprecated', values?: undefined): string;
    encodeFunctionData(functionFragment: 'withdrawExchangeRate', values?: undefined): string;
    encodeFunctionData(functionFragment: 'withdrawPool', values?: undefined): string;
    encodeFunctionData(functionFragment: 'withdrawRewards', values?: undefined): string;
    encodeFunctionData(functionFragment: 'withdrawShares', values?: undefined): string;
    decodeFunctionResult(functionFragment: 'activeAmount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'allowance', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'approve', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'balanceOf', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'buyVoucher', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'commissionRate_deprecated', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'decreaseAllowance', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'delegation', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'drain', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'eventsHub', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'exchangeRate', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getLiquidRewards', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getRewardPerShare', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getTotalStake', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'increaseAllowance', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'initalRewardPerShare', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'initialize', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'isOwner', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'lastCommissionUpdate_deprecated', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'lock', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'locked', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'migrateIn', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'migrateOut', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'minAmount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'renounceOwnership', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'restake', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'rewardPerShare', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'sellVoucher', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'sellVoucher_new', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'slash', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'stakeManager', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'stakingLogger', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'totalStake_deprecated', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'totalSupply', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'transfer', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'transferFrom', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'transferOwnership', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'unbondNonces', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'unbonds', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'unbonds_new', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'unlock', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'unstakeClaimTokens', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'unstakeClaimTokens_new', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'updateDelegation', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'validatorId', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'validatorRewards_deprecated', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'withdrawExchangeRate', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'withdrawPool', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'withdrawRewards', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'withdrawShares', data: BytesLike): Result;
    events: {
        'Approval(address,address,uint256)': EventFragment;
        'OwnershipTransferred(address,address)': EventFragment;
        'Transfer(address,address,uint256)': EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: 'Approval'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'OwnershipTransferred'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Transfer'): EventFragment;
}
export interface ApprovalEventObject {
    owner: string;
    spender: string;
    value: BigNumber;
}
export declare type ApprovalEvent = TypedEvent<[string, string, BigNumber], ApprovalEventObject>;
export declare type ApprovalEventFilter = TypedEventFilter<ApprovalEvent>;
export interface OwnershipTransferredEventObject {
    previousOwner: string;
    newOwner: string;
}
export declare type OwnershipTransferredEvent = TypedEvent<[string, string], OwnershipTransferredEventObject>;
export declare type OwnershipTransferredEventFilter = TypedEventFilter<OwnershipTransferredEvent>;
export interface TransferEventObject {
    from: string;
    to: string;
    value: BigNumber;
}
export declare type TransferEvent = TypedEvent<[string, string, BigNumber], TransferEventObject>;
export declare type TransferEventFilter = TypedEventFilter<TransferEvent>;
export interface PolygonValidatorShare extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: PolygonValidatorShareInterface;
    queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
    listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
    listeners(eventName?: string): Array<Listener>;
    removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
    removeAllListeners(eventName?: string): this;
    off: OnEvent<this>;
    on: OnEvent<this>;
    once: OnEvent<this>;
    removeListener: OnEvent<this>;
    functions: {
        activeAmount(overrides?: CallOverrides): Promise<[BigNumber]>;
        allowance(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        approve(spender: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        balanceOf(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        buyVoucher(_amount: PromiseOrValue<BigNumberish>, _minSharesToMint: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        commissionRate_deprecated(overrides?: CallOverrides): Promise<[BigNumber]>;
        decreaseAllowance(spender: PromiseOrValue<string>, subtractedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        delegation(overrides?: CallOverrides): Promise<[boolean]>;
        drain(token: PromiseOrValue<string>, destination: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        eventsHub(overrides?: CallOverrides): Promise<[string]>;
        exchangeRate(overrides?: CallOverrides): Promise<[BigNumber]>;
        getLiquidRewards(user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        getRewardPerShare(overrides?: CallOverrides): Promise<[BigNumber]>;
        getTotalStake(user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber]>;
        increaseAllowance(spender: PromiseOrValue<string>, addedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        initalRewardPerShare(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        initialize(_validatorId: PromiseOrValue<BigNumberish>, _stakingLogger: PromiseOrValue<string>, _stakeManager: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        isOwner(overrides?: CallOverrides): Promise<[boolean]>;
        lastCommissionUpdate_deprecated(overrides?: CallOverrides): Promise<[BigNumber]>;
        lock(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        locked(overrides?: CallOverrides): Promise<[boolean]>;
        migrateIn(user: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        migrateOut(user: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        minAmount(overrides?: CallOverrides): Promise<[BigNumber]>;
        owner(overrides?: CallOverrides): Promise<[string]>;
        renounceOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        restake(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        rewardPerShare(overrides?: CallOverrides): Promise<[BigNumber]>;
        sellVoucher(claimAmount: PromiseOrValue<BigNumberish>, maximumSharesToBurn: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        sellVoucher_new(claimAmount: PromiseOrValue<BigNumberish>, maximumSharesToBurn: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        slash(validatorStake: PromiseOrValue<BigNumberish>, delegatedAmount: PromiseOrValue<BigNumberish>, totalAmountToSlash: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        stakeManager(overrides?: CallOverrides): Promise<[string]>;
        stakingLogger(overrides?: CallOverrides): Promise<[string]>;
        totalStake_deprecated(overrides?: CallOverrides): Promise<[BigNumber]>;
        totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>;
        transfer(to: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        transferFrom(from: PromiseOrValue<string>, to: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        unbondNonces(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        unbonds(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & {
            shares: BigNumber;
            withdrawEpoch: BigNumber;
        }>;
        unbonds_new(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & {
            shares: BigNumber;
            withdrawEpoch: BigNumber;
        }>;
        unlock(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        unstakeClaimTokens(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        unstakeClaimTokens_new(unbondNonce: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        updateDelegation(_delegation: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        validatorId(overrides?: CallOverrides): Promise<[BigNumber]>;
        validatorRewards_deprecated(overrides?: CallOverrides): Promise<[BigNumber]>;
        withdrawExchangeRate(overrides?: CallOverrides): Promise<[BigNumber]>;
        withdrawPool(overrides?: CallOverrides): Promise<[BigNumber]>;
        withdrawRewards(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        withdrawShares(overrides?: CallOverrides): Promise<[BigNumber]>;
    };
    activeAmount(overrides?: CallOverrides): Promise<BigNumber>;
    allowance(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    approve(spender: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    balanceOf(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    buyVoucher(_amount: PromiseOrValue<BigNumberish>, _minSharesToMint: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    commissionRate_deprecated(overrides?: CallOverrides): Promise<BigNumber>;
    decreaseAllowance(spender: PromiseOrValue<string>, subtractedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    delegation(overrides?: CallOverrides): Promise<boolean>;
    drain(token: PromiseOrValue<string>, destination: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    eventsHub(overrides?: CallOverrides): Promise<string>;
    exchangeRate(overrides?: CallOverrides): Promise<BigNumber>;
    getLiquidRewards(user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    getRewardPerShare(overrides?: CallOverrides): Promise<BigNumber>;
    getTotalStake(user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber]>;
    increaseAllowance(spender: PromiseOrValue<string>, addedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    initalRewardPerShare(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    initialize(_validatorId: PromiseOrValue<BigNumberish>, _stakingLogger: PromiseOrValue<string>, _stakeManager: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    isOwner(overrides?: CallOverrides): Promise<boolean>;
    lastCommissionUpdate_deprecated(overrides?: CallOverrides): Promise<BigNumber>;
    lock(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    locked(overrides?: CallOverrides): Promise<boolean>;
    migrateIn(user: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    migrateOut(user: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    minAmount(overrides?: CallOverrides): Promise<BigNumber>;
    owner(overrides?: CallOverrides): Promise<string>;
    renounceOwnership(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    restake(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    rewardPerShare(overrides?: CallOverrides): Promise<BigNumber>;
    sellVoucher(claimAmount: PromiseOrValue<BigNumberish>, maximumSharesToBurn: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    sellVoucher_new(claimAmount: PromiseOrValue<BigNumberish>, maximumSharesToBurn: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    slash(validatorStake: PromiseOrValue<BigNumberish>, delegatedAmount: PromiseOrValue<BigNumberish>, totalAmountToSlash: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    stakeManager(overrides?: CallOverrides): Promise<string>;
    stakingLogger(overrides?: CallOverrides): Promise<string>;
    totalStake_deprecated(overrides?: CallOverrides): Promise<BigNumber>;
    totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
    transfer(to: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    transferFrom(from: PromiseOrValue<string>, to: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    unbondNonces(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    unbonds(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & {
        shares: BigNumber;
        withdrawEpoch: BigNumber;
    }>;
    unbonds_new(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & {
        shares: BigNumber;
        withdrawEpoch: BigNumber;
    }>;
    unlock(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    unstakeClaimTokens(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    unstakeClaimTokens_new(unbondNonce: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    updateDelegation(_delegation: PromiseOrValue<boolean>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    validatorId(overrides?: CallOverrides): Promise<BigNumber>;
    validatorRewards_deprecated(overrides?: CallOverrides): Promise<BigNumber>;
    withdrawExchangeRate(overrides?: CallOverrides): Promise<BigNumber>;
    withdrawPool(overrides?: CallOverrides): Promise<BigNumber>;
    withdrawRewards(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    withdrawShares(overrides?: CallOverrides): Promise<BigNumber>;
    callStatic: {
        activeAmount(overrides?: CallOverrides): Promise<BigNumber>;
        allowance(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        approve(spender: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        balanceOf(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        buyVoucher(_amount: PromiseOrValue<BigNumberish>, _minSharesToMint: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        commissionRate_deprecated(overrides?: CallOverrides): Promise<BigNumber>;
        decreaseAllowance(spender: PromiseOrValue<string>, subtractedValue: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        delegation(overrides?: CallOverrides): Promise<boolean>;
        drain(token: PromiseOrValue<string>, destination: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        eventsHub(overrides?: CallOverrides): Promise<string>;
        exchangeRate(overrides?: CallOverrides): Promise<BigNumber>;
        getLiquidRewards(user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getRewardPerShare(overrides?: CallOverrides): Promise<BigNumber>;
        getTotalStake(user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber]>;
        increaseAllowance(spender: PromiseOrValue<string>, addedValue: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        initalRewardPerShare(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        initialize(_validatorId: PromiseOrValue<BigNumberish>, _stakingLogger: PromiseOrValue<string>, _stakeManager: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        isOwner(overrides?: CallOverrides): Promise<boolean>;
        lastCommissionUpdate_deprecated(overrides?: CallOverrides): Promise<BigNumber>;
        lock(overrides?: CallOverrides): Promise<void>;
        locked(overrides?: CallOverrides): Promise<boolean>;
        migrateIn(user: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        migrateOut(user: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        minAmount(overrides?: CallOverrides): Promise<BigNumber>;
        owner(overrides?: CallOverrides): Promise<string>;
        renounceOwnership(overrides?: CallOverrides): Promise<void>;
        restake(overrides?: CallOverrides): Promise<[BigNumber, BigNumber]>;
        rewardPerShare(overrides?: CallOverrides): Promise<BigNumber>;
        sellVoucher(claimAmount: PromiseOrValue<BigNumberish>, maximumSharesToBurn: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        sellVoucher_new(claimAmount: PromiseOrValue<BigNumberish>, maximumSharesToBurn: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        slash(validatorStake: PromiseOrValue<BigNumberish>, delegatedAmount: PromiseOrValue<BigNumberish>, totalAmountToSlash: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        stakeManager(overrides?: CallOverrides): Promise<string>;
        stakingLogger(overrides?: CallOverrides): Promise<string>;
        totalStake_deprecated(overrides?: CallOverrides): Promise<BigNumber>;
        totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
        transfer(to: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        transferFrom(from: PromiseOrValue<string>, to: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        unbondNonces(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        unbonds(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & {
            shares: BigNumber;
            withdrawEpoch: BigNumber;
        }>;
        unbonds_new(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & {
            shares: BigNumber;
            withdrawEpoch: BigNumber;
        }>;
        unlock(overrides?: CallOverrides): Promise<void>;
        unstakeClaimTokens(overrides?: CallOverrides): Promise<void>;
        unstakeClaimTokens_new(unbondNonce: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        updateDelegation(_delegation: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
        validatorId(overrides?: CallOverrides): Promise<BigNumber>;
        validatorRewards_deprecated(overrides?: CallOverrides): Promise<BigNumber>;
        withdrawExchangeRate(overrides?: CallOverrides): Promise<BigNumber>;
        withdrawPool(overrides?: CallOverrides): Promise<BigNumber>;
        withdrawRewards(overrides?: CallOverrides): Promise<void>;
        withdrawShares(overrides?: CallOverrides): Promise<BigNumber>;
    };
    filters: {
        'Approval(address,address,uint256)'(owner?: PromiseOrValue<string> | null, spender?: PromiseOrValue<string> | null, value?: null): ApprovalEventFilter;
        Approval(owner?: PromiseOrValue<string> | null, spender?: PromiseOrValue<string> | null, value?: null): ApprovalEventFilter;
        'OwnershipTransferred(address,address)'(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
        OwnershipTransferred(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
        'Transfer(address,address,uint256)'(from?: PromiseOrValue<string> | null, to?: PromiseOrValue<string> | null, value?: null): TransferEventFilter;
        Transfer(from?: PromiseOrValue<string> | null, to?: PromiseOrValue<string> | null, value?: null): TransferEventFilter;
    };
    estimateGas: {
        activeAmount(overrides?: CallOverrides): Promise<BigNumber>;
        allowance(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        approve(spender: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        balanceOf(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        buyVoucher(_amount: PromiseOrValue<BigNumberish>, _minSharesToMint: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        commissionRate_deprecated(overrides?: CallOverrides): Promise<BigNumber>;
        decreaseAllowance(spender: PromiseOrValue<string>, subtractedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        delegation(overrides?: CallOverrides): Promise<BigNumber>;
        drain(token: PromiseOrValue<string>, destination: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        eventsHub(overrides?: CallOverrides): Promise<BigNumber>;
        exchangeRate(overrides?: CallOverrides): Promise<BigNumber>;
        getLiquidRewards(user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getRewardPerShare(overrides?: CallOverrides): Promise<BigNumber>;
        getTotalStake(user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        increaseAllowance(spender: PromiseOrValue<string>, addedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        initalRewardPerShare(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        initialize(_validatorId: PromiseOrValue<BigNumberish>, _stakingLogger: PromiseOrValue<string>, _stakeManager: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        isOwner(overrides?: CallOverrides): Promise<BigNumber>;
        lastCommissionUpdate_deprecated(overrides?: CallOverrides): Promise<BigNumber>;
        lock(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        locked(overrides?: CallOverrides): Promise<BigNumber>;
        migrateIn(user: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        migrateOut(user: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        minAmount(overrides?: CallOverrides): Promise<BigNumber>;
        owner(overrides?: CallOverrides): Promise<BigNumber>;
        renounceOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        restake(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        rewardPerShare(overrides?: CallOverrides): Promise<BigNumber>;
        sellVoucher(claimAmount: PromiseOrValue<BigNumberish>, maximumSharesToBurn: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        sellVoucher_new(claimAmount: PromiseOrValue<BigNumberish>, maximumSharesToBurn: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        slash(validatorStake: PromiseOrValue<BigNumberish>, delegatedAmount: PromiseOrValue<BigNumberish>, totalAmountToSlash: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        stakeManager(overrides?: CallOverrides): Promise<BigNumber>;
        stakingLogger(overrides?: CallOverrides): Promise<BigNumber>;
        totalStake_deprecated(overrides?: CallOverrides): Promise<BigNumber>;
        totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
        transfer(to: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        transferFrom(from: PromiseOrValue<string>, to: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        unbondNonces(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        unbonds(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        unbonds_new(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        unlock(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        unstakeClaimTokens(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        unstakeClaimTokens_new(unbondNonce: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        updateDelegation(_delegation: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        validatorId(overrides?: CallOverrides): Promise<BigNumber>;
        validatorRewards_deprecated(overrides?: CallOverrides): Promise<BigNumber>;
        withdrawExchangeRate(overrides?: CallOverrides): Promise<BigNumber>;
        withdrawPool(overrides?: CallOverrides): Promise<BigNumber>;
        withdrawRewards(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        withdrawShares(overrides?: CallOverrides): Promise<BigNumber>;
    };
    populateTransaction: {
        activeAmount(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        allowance(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        approve(spender: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        balanceOf(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        buyVoucher(_amount: PromiseOrValue<BigNumberish>, _minSharesToMint: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        commissionRate_deprecated(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        decreaseAllowance(spender: PromiseOrValue<string>, subtractedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        delegation(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        drain(token: PromiseOrValue<string>, destination: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        eventsHub(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        exchangeRate(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getLiquidRewards(user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getRewardPerShare(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getTotalStake(user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        increaseAllowance(spender: PromiseOrValue<string>, addedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        initalRewardPerShare(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        initialize(_validatorId: PromiseOrValue<BigNumberish>, _stakingLogger: PromiseOrValue<string>, _stakeManager: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        isOwner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        lastCommissionUpdate_deprecated(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        lock(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        locked(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        migrateIn(user: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        migrateOut(user: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        minAmount(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        renounceOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        restake(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        rewardPerShare(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        sellVoucher(claimAmount: PromiseOrValue<BigNumberish>, maximumSharesToBurn: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        sellVoucher_new(claimAmount: PromiseOrValue<BigNumberish>, maximumSharesToBurn: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        slash(validatorStake: PromiseOrValue<BigNumberish>, delegatedAmount: PromiseOrValue<BigNumberish>, totalAmountToSlash: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        stakeManager(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        stakingLogger(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        totalStake_deprecated(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        totalSupply(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        transfer(to: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        transferFrom(from: PromiseOrValue<string>, to: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        unbondNonces(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        unbonds(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        unbonds_new(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        unlock(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        unstakeClaimTokens(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        unstakeClaimTokens_new(unbondNonce: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        updateDelegation(_delegation: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        validatorId(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        validatorRewards_deprecated(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        withdrawExchangeRate(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        withdrawPool(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        withdrawRewards(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        withdrawShares(overrides?: CallOverrides): Promise<PopulatedTransaction>;
    };
}
