import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, 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 RocketMinipoolInterface extends utils.Interface {
    functions: {
        'beginUserDistribute()': FunctionFragment;
        'calculateNodeShare(uint256)': FunctionFragment;
        'calculateUserShare(uint256)': FunctionFragment;
        'canPromote()': FunctionFragment;
        'canStake()': FunctionFragment;
        'close()': FunctionFragment;
        'deposit()': FunctionFragment;
        'dissolve()': FunctionFragment;
        'distributeBalance(bool)': FunctionFragment;
        'finalise()': FunctionFragment;
        'getDepositType()': FunctionFragment;
        'getFinalised()': FunctionFragment;
        'getNodeAddress()': FunctionFragment;
        'getNodeDepositAssigned()': FunctionFragment;
        'getNodeDepositBalance()': FunctionFragment;
        'getNodeFee()': FunctionFragment;
        'getNodeRefundBalance()': FunctionFragment;
        'getNodeTopUpValue()': FunctionFragment;
        'getPreLaunchValue()': FunctionFragment;
        'getPreMigrationBalance()': FunctionFragment;
        'getScrubVoted(address)': FunctionFragment;
        'getStatus()': FunctionFragment;
        'getStatusBlock()': FunctionFragment;
        'getStatusTime()': FunctionFragment;
        'getTotalScrubVotes()': FunctionFragment;
        'getUserDepositAssigned()': FunctionFragment;
        'getUserDepositAssignedTime()': FunctionFragment;
        'getUserDepositBalance()': FunctionFragment;
        'getUserDistributed()': FunctionFragment;
        'getVacant()': FunctionFragment;
        'initialise(address)': FunctionFragment;
        'initialise(address,address)': FunctionFragment;
        'preDeposit(uint256,bytes,bytes,bytes32)': FunctionFragment;
        'prepareVacancy(uint256,uint256)': FunctionFragment;
        'promote()': FunctionFragment;
        'reduceBondAmount()': FunctionFragment;
        'refund()': FunctionFragment;
        'slash()': FunctionFragment;
        'stake(bytes,bytes32)': FunctionFragment;
        'userDeposit()': FunctionFragment;
        'userDistributeAllowed()': FunctionFragment;
        'version()': FunctionFragment;
        'voteScrub()': FunctionFragment;
        'delegateRollback()': FunctionFragment;
        'delegateUpgrade()': FunctionFragment;
        'getDelegate()': FunctionFragment;
        'getEffectiveDelegate()': FunctionFragment;
        'getPreviousDelegate()': FunctionFragment;
        'getUseLatestDelegate()': FunctionFragment;
        'setUseLatestDelegate(bool)': FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: 'beginUserDistribute' | 'calculateNodeShare' | 'calculateUserShare' | 'canPromote' | 'canStake' | 'close' | 'deposit' | 'dissolve' | 'distributeBalance' | 'finalise' | 'getDepositType' | 'getFinalised' | 'getNodeAddress' | 'getNodeDepositAssigned' | 'getNodeDepositBalance' | 'getNodeFee' | 'getNodeRefundBalance' | 'getNodeTopUpValue' | 'getPreLaunchValue' | 'getPreMigrationBalance' | 'getScrubVoted' | 'getStatus' | 'getStatusBlock' | 'getStatusTime' | 'getTotalScrubVotes' | 'getUserDepositAssigned' | 'getUserDepositAssignedTime' | 'getUserDepositBalance' | 'getUserDistributed' | 'getVacant' | 'initialise(address)' | 'initialise(address,address)' | 'preDeposit' | 'prepareVacancy' | 'promote' | 'reduceBondAmount' | 'refund' | 'slash' | 'stake' | 'userDeposit' | 'userDistributeAllowed' | 'version' | 'voteScrub' | 'delegateRollback' | 'delegateUpgrade' | 'getDelegate' | 'getEffectiveDelegate' | 'getPreviousDelegate' | 'getUseLatestDelegate' | 'setUseLatestDelegate'): FunctionFragment;
    encodeFunctionData(functionFragment: 'beginUserDistribute', values?: undefined): string;
    encodeFunctionData(functionFragment: 'calculateNodeShare', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'calculateUserShare', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'canPromote', values?: undefined): string;
    encodeFunctionData(functionFragment: 'canStake', values?: undefined): string;
    encodeFunctionData(functionFragment: 'close', values?: undefined): string;
    encodeFunctionData(functionFragment: 'deposit', values?: undefined): string;
    encodeFunctionData(functionFragment: 'dissolve', values?: undefined): string;
    encodeFunctionData(functionFragment: 'distributeBalance', values: [PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: 'finalise', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getDepositType', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getFinalised', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getNodeAddress', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getNodeDepositAssigned', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getNodeDepositBalance', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getNodeFee', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getNodeRefundBalance', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getNodeTopUpValue', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getPreLaunchValue', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getPreMigrationBalance', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getScrubVoted', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getStatus', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getStatusBlock', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getStatusTime', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getTotalScrubVotes', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getUserDepositAssigned', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getUserDepositAssignedTime', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getUserDepositBalance', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getUserDistributed', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getVacant', values?: undefined): string;
    encodeFunctionData(functionFragment: 'initialise(address)', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'initialise(address,address)', values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'preDeposit', values: [
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BytesLike>,
        PromiseOrValue<BytesLike>,
        PromiseOrValue<BytesLike>
    ]): string;
    encodeFunctionData(functionFragment: 'prepareVacancy', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'promote', values?: undefined): string;
    encodeFunctionData(functionFragment: 'reduceBondAmount', values?: undefined): string;
    encodeFunctionData(functionFragment: 'refund', values?: undefined): string;
    encodeFunctionData(functionFragment: 'slash', values?: undefined): string;
    encodeFunctionData(functionFragment: 'stake', values: [PromiseOrValue<BytesLike>, PromiseOrValue<BytesLike>]): string;
    encodeFunctionData(functionFragment: 'userDeposit', values?: undefined): string;
    encodeFunctionData(functionFragment: 'userDistributeAllowed', values?: undefined): string;
    encodeFunctionData(functionFragment: 'version', values?: undefined): string;
    encodeFunctionData(functionFragment: 'voteScrub', values?: undefined): string;
    encodeFunctionData(functionFragment: 'delegateRollback', values?: undefined): string;
    encodeFunctionData(functionFragment: 'delegateUpgrade', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getDelegate', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getEffectiveDelegate', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getPreviousDelegate', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getUseLatestDelegate', values?: undefined): string;
    encodeFunctionData(functionFragment: 'setUseLatestDelegate', values: [PromiseOrValue<boolean>]): string;
    decodeFunctionResult(functionFragment: 'beginUserDistribute', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'calculateNodeShare', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'calculateUserShare', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'canPromote', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'canStake', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'close', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'deposit', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'dissolve', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'distributeBalance', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'finalise', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getDepositType', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getFinalised', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getNodeAddress', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getNodeDepositAssigned', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getNodeDepositBalance', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getNodeFee', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getNodeRefundBalance', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getNodeTopUpValue', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getPreLaunchValue', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getPreMigrationBalance', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getScrubVoted', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getStatus', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getStatusBlock', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getStatusTime', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getTotalScrubVotes', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getUserDepositAssigned', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getUserDepositAssignedTime', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getUserDepositBalance', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getUserDistributed', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getVacant', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'initialise(address)', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'initialise(address,address)', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'preDeposit', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'prepareVacancy', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'promote', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'reduceBondAmount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'refund', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'slash', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'stake', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'userDeposit', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'userDistributeAllowed', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'version', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'voteScrub', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'delegateRollback', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'delegateUpgrade', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getDelegate', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getEffectiveDelegate', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getPreviousDelegate', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getUseLatestDelegate', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setUseLatestDelegate', data: BytesLike): Result;
    events: {
        'BondReduced(uint256,uint256,uint256)': EventFragment;
        'EtherDeposited(address,uint256,uint256)': EventFragment;
        'EtherWithdrawalProcessed(address,uint256,uint256,uint256,uint256)': EventFragment;
        'EtherWithdrawn(address,uint256,uint256)': EventFragment;
        'MinipoolPrestaked(bytes,bytes,bytes32,uint256,bytes,uint256)': EventFragment;
        'MinipoolPromoted(uint256)': EventFragment;
        'MinipoolScrubbed(uint256)': EventFragment;
        'MinipoolVacancyPrepared(uint256,uint256,uint256)': EventFragment;
        'ScrubVoted(address,uint256)': EventFragment;
        'StatusUpdated(uint8,uint256)': EventFragment;
        'DelegateRolledBack(address,address,uint256)': EventFragment;
        'DelegateUpgraded(address,address,uint256)': EventFragment;
        'EtherReceived(address,uint256,uint256)': EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: 'BondReduced'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'EtherDeposited'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'EtherWithdrawalProcessed'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'EtherWithdrawn'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'MinipoolPrestaked'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'MinipoolPromoted'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'MinipoolScrubbed'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'MinipoolVacancyPrepared'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'ScrubVoted'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'StatusUpdated'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'DelegateRolledBack'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'DelegateUpgraded'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'EtherReceived'): EventFragment;
}
export interface BondReducedEventObject {
    previousBondAmount: BigNumber;
    newBondAmount: BigNumber;
    time: BigNumber;
}
export declare type BondReducedEvent = TypedEvent<[BigNumber, BigNumber, BigNumber], BondReducedEventObject>;
export declare type BondReducedEventFilter = TypedEventFilter<BondReducedEvent>;
export interface EtherDepositedEventObject {
    from: string;
    amount: BigNumber;
    time: BigNumber;
}
export declare type EtherDepositedEvent = TypedEvent<[string, BigNumber, BigNumber], EtherDepositedEventObject>;
export declare type EtherDepositedEventFilter = TypedEventFilter<EtherDepositedEvent>;
export interface EtherWithdrawalProcessedEventObject {
    executed: string;
    nodeAmount: BigNumber;
    userAmount: BigNumber;
    totalBalance: BigNumber;
    time: BigNumber;
}
export declare type EtherWithdrawalProcessedEvent = TypedEvent<[
    string,
    BigNumber,
    BigNumber,
    BigNumber,
    BigNumber
], EtherWithdrawalProcessedEventObject>;
export declare type EtherWithdrawalProcessedEventFilter = TypedEventFilter<EtherWithdrawalProcessedEvent>;
export interface EtherWithdrawnEventObject {
    to: string;
    amount: BigNumber;
    time: BigNumber;
}
export declare type EtherWithdrawnEvent = TypedEvent<[string, BigNumber, BigNumber], EtherWithdrawnEventObject>;
export declare type EtherWithdrawnEventFilter = TypedEventFilter<EtherWithdrawnEvent>;
export interface MinipoolPrestakedEventObject {
    validatorPubkey: string;
    validatorSignature: string;
    depositDataRoot: string;
    amount: BigNumber;
    withdrawalCredentials: string;
    time: BigNumber;
}
export declare type MinipoolPrestakedEvent = TypedEvent<[
    string,
    string,
    string,
    BigNumber,
    string,
    BigNumber
], MinipoolPrestakedEventObject>;
export declare type MinipoolPrestakedEventFilter = TypedEventFilter<MinipoolPrestakedEvent>;
export interface MinipoolPromotedEventObject {
    time: BigNumber;
}
export declare type MinipoolPromotedEvent = TypedEvent<[BigNumber], MinipoolPromotedEventObject>;
export declare type MinipoolPromotedEventFilter = TypedEventFilter<MinipoolPromotedEvent>;
export interface MinipoolScrubbedEventObject {
    time: BigNumber;
}
export declare type MinipoolScrubbedEvent = TypedEvent<[BigNumber], MinipoolScrubbedEventObject>;
export declare type MinipoolScrubbedEventFilter = TypedEventFilter<MinipoolScrubbedEvent>;
export interface MinipoolVacancyPreparedEventObject {
    bondAmount: BigNumber;
    currentBalance: BigNumber;
    time: BigNumber;
}
export declare type MinipoolVacancyPreparedEvent = TypedEvent<[
    BigNumber,
    BigNumber,
    BigNumber
], MinipoolVacancyPreparedEventObject>;
export declare type MinipoolVacancyPreparedEventFilter = TypedEventFilter<MinipoolVacancyPreparedEvent>;
export interface ScrubVotedEventObject {
    member: string;
    time: BigNumber;
}
export declare type ScrubVotedEvent = TypedEvent<[string, BigNumber], ScrubVotedEventObject>;
export declare type ScrubVotedEventFilter = TypedEventFilter<ScrubVotedEvent>;
export interface StatusUpdatedEventObject {
    status: number;
    time: BigNumber;
}
export declare type StatusUpdatedEvent = TypedEvent<[number, BigNumber], StatusUpdatedEventObject>;
export declare type StatusUpdatedEventFilter = TypedEventFilter<StatusUpdatedEvent>;
export interface DelegateRolledBackEventObject {
    oldDelegate: string;
    newDelegate: string;
    time: BigNumber;
}
export declare type DelegateRolledBackEvent = TypedEvent<[string, string, BigNumber], DelegateRolledBackEventObject>;
export declare type DelegateRolledBackEventFilter = TypedEventFilter<DelegateRolledBackEvent>;
export interface DelegateUpgradedEventObject {
    oldDelegate: string;
    newDelegate: string;
    time: BigNumber;
}
export declare type DelegateUpgradedEvent = TypedEvent<[string, string, BigNumber], DelegateUpgradedEventObject>;
export declare type DelegateUpgradedEventFilter = TypedEventFilter<DelegateUpgradedEvent>;
export interface EtherReceivedEventObject {
    from: string;
    amount: BigNumber;
    time: BigNumber;
}
export declare type EtherReceivedEvent = TypedEvent<[string, BigNumber, BigNumber], EtherReceivedEventObject>;
export declare type EtherReceivedEventFilter = TypedEventFilter<EtherReceivedEvent>;
export interface RocketMinipool extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: RocketMinipoolInterface;
    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: {
        beginUserDistribute(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        calculateNodeShare(_balance: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        calculateUserShare(_balance: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        canPromote(overrides?: CallOverrides): Promise<[boolean]>;
        canStake(overrides?: CallOverrides): Promise<[boolean]>;
        close(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        deposit(overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        dissolve(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        distributeBalance(_rewardsOnly: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        finalise(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        getDepositType(overrides?: CallOverrides): Promise<[number]>;
        getFinalised(overrides?: CallOverrides): Promise<[boolean]>;
        getNodeAddress(overrides?: CallOverrides): Promise<[string]>;
        getNodeDepositAssigned(overrides?: CallOverrides): Promise<[boolean]>;
        getNodeDepositBalance(overrides?: CallOverrides): Promise<[BigNumber]>;
        getNodeFee(overrides?: CallOverrides): Promise<[BigNumber]>;
        getNodeRefundBalance(overrides?: CallOverrides): Promise<[BigNumber]>;
        getNodeTopUpValue(overrides?: CallOverrides): Promise<[BigNumber]>;
        getPreLaunchValue(overrides?: CallOverrides): Promise<[BigNumber]>;
        getPreMigrationBalance(overrides?: CallOverrides): Promise<[BigNumber]>;
        getScrubVoted(_member: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        getStatus(overrides?: CallOverrides): Promise<[number]>;
        getStatusBlock(overrides?: CallOverrides): Promise<[BigNumber]>;
        getStatusTime(overrides?: CallOverrides): Promise<[BigNumber]>;
        getTotalScrubVotes(overrides?: CallOverrides): Promise<[BigNumber]>;
        getUserDepositAssigned(overrides?: CallOverrides): Promise<[boolean]>;
        getUserDepositAssignedTime(overrides?: CallOverrides): Promise<[BigNumber]>;
        getUserDepositBalance(overrides?: CallOverrides): Promise<[BigNumber]>;
        getUserDistributed(overrides?: CallOverrides): Promise<[boolean]>;
        getVacant(overrides?: CallOverrides): Promise<[boolean]>;
        'initialise(address)'(_nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        'initialise(address,address)'(_rocketStorage: PromiseOrValue<string>, _nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        preDeposit(_bondValue: PromiseOrValue<BigNumberish>, _validatorPubkey: PromiseOrValue<BytesLike>, _validatorSignature: PromiseOrValue<BytesLike>, _depositDataRoot: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        prepareVacancy(_bondAmount: PromiseOrValue<BigNumberish>, _currentBalance: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        promote(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        reduceBondAmount(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        refund(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        slash(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        stake(_validatorSignature: PromiseOrValue<BytesLike>, _depositDataRoot: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        userDeposit(overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        userDistributeAllowed(overrides?: CallOverrides): Promise<[boolean]>;
        version(overrides?: CallOverrides): Promise<[number]>;
        voteScrub(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        delegateRollback(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        delegateUpgrade(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        getDelegate(overrides?: CallOverrides): Promise<[string]>;
        getEffectiveDelegate(overrides?: CallOverrides): Promise<[string]>;
        getPreviousDelegate(overrides?: CallOverrides): Promise<[string]>;
        getUseLatestDelegate(overrides?: CallOverrides): Promise<[boolean]>;
        setUseLatestDelegate(_setting: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
    };
    beginUserDistribute(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    calculateNodeShare(_balance: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    calculateUserShare(_balance: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    canPromote(overrides?: CallOverrides): Promise<boolean>;
    canStake(overrides?: CallOverrides): Promise<boolean>;
    close(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    deposit(overrides?: PayableOverrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    dissolve(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    distributeBalance(_rewardsOnly: PromiseOrValue<boolean>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    finalise(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    getDepositType(overrides?: CallOverrides): Promise<number>;
    getFinalised(overrides?: CallOverrides): Promise<boolean>;
    getNodeAddress(overrides?: CallOverrides): Promise<string>;
    getNodeDepositAssigned(overrides?: CallOverrides): Promise<boolean>;
    getNodeDepositBalance(overrides?: CallOverrides): Promise<BigNumber>;
    getNodeFee(overrides?: CallOverrides): Promise<BigNumber>;
    getNodeRefundBalance(overrides?: CallOverrides): Promise<BigNumber>;
    getNodeTopUpValue(overrides?: CallOverrides): Promise<BigNumber>;
    getPreLaunchValue(overrides?: CallOverrides): Promise<BigNumber>;
    getPreMigrationBalance(overrides?: CallOverrides): Promise<BigNumber>;
    getScrubVoted(_member: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    getStatus(overrides?: CallOverrides): Promise<number>;
    getStatusBlock(overrides?: CallOverrides): Promise<BigNumber>;
    getStatusTime(overrides?: CallOverrides): Promise<BigNumber>;
    getTotalScrubVotes(overrides?: CallOverrides): Promise<BigNumber>;
    getUserDepositAssigned(overrides?: CallOverrides): Promise<boolean>;
    getUserDepositAssignedTime(overrides?: CallOverrides): Promise<BigNumber>;
    getUserDepositBalance(overrides?: CallOverrides): Promise<BigNumber>;
    getUserDistributed(overrides?: CallOverrides): Promise<boolean>;
    getVacant(overrides?: CallOverrides): Promise<boolean>;
    'initialise(address)'(_nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    'initialise(address,address)'(_rocketStorage: PromiseOrValue<string>, _nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    preDeposit(_bondValue: PromiseOrValue<BigNumberish>, _validatorPubkey: PromiseOrValue<BytesLike>, _validatorSignature: PromiseOrValue<BytesLike>, _depositDataRoot: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    prepareVacancy(_bondAmount: PromiseOrValue<BigNumberish>, _currentBalance: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    promote(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    reduceBondAmount(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    refund(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    slash(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    stake(_validatorSignature: PromiseOrValue<BytesLike>, _depositDataRoot: PromiseOrValue<BytesLike>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    userDeposit(overrides?: PayableOverrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    userDistributeAllowed(overrides?: CallOverrides): Promise<boolean>;
    version(overrides?: CallOverrides): Promise<number>;
    voteScrub(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    delegateRollback(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    delegateUpgrade(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    getDelegate(overrides?: CallOverrides): Promise<string>;
    getEffectiveDelegate(overrides?: CallOverrides): Promise<string>;
    getPreviousDelegate(overrides?: CallOverrides): Promise<string>;
    getUseLatestDelegate(overrides?: CallOverrides): Promise<boolean>;
    setUseLatestDelegate(_setting: PromiseOrValue<boolean>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    callStatic: {
        beginUserDistribute(overrides?: CallOverrides): Promise<void>;
        calculateNodeShare(_balance: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        calculateUserShare(_balance: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        canPromote(overrides?: CallOverrides): Promise<boolean>;
        canStake(overrides?: CallOverrides): Promise<boolean>;
        close(overrides?: CallOverrides): Promise<void>;
        deposit(overrides?: CallOverrides): Promise<void>;
        dissolve(overrides?: CallOverrides): Promise<void>;
        distributeBalance(_rewardsOnly: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
        finalise(overrides?: CallOverrides): Promise<void>;
        getDepositType(overrides?: CallOverrides): Promise<number>;
        getFinalised(overrides?: CallOverrides): Promise<boolean>;
        getNodeAddress(overrides?: CallOverrides): Promise<string>;
        getNodeDepositAssigned(overrides?: CallOverrides): Promise<boolean>;
        getNodeDepositBalance(overrides?: CallOverrides): Promise<BigNumber>;
        getNodeFee(overrides?: CallOverrides): Promise<BigNumber>;
        getNodeRefundBalance(overrides?: CallOverrides): Promise<BigNumber>;
        getNodeTopUpValue(overrides?: CallOverrides): Promise<BigNumber>;
        getPreLaunchValue(overrides?: CallOverrides): Promise<BigNumber>;
        getPreMigrationBalance(overrides?: CallOverrides): Promise<BigNumber>;
        getScrubVoted(_member: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        getStatus(overrides?: CallOverrides): Promise<number>;
        getStatusBlock(overrides?: CallOverrides): Promise<BigNumber>;
        getStatusTime(overrides?: CallOverrides): Promise<BigNumber>;
        getTotalScrubVotes(overrides?: CallOverrides): Promise<BigNumber>;
        getUserDepositAssigned(overrides?: CallOverrides): Promise<boolean>;
        getUserDepositAssignedTime(overrides?: CallOverrides): Promise<BigNumber>;
        getUserDepositBalance(overrides?: CallOverrides): Promise<BigNumber>;
        getUserDistributed(overrides?: CallOverrides): Promise<boolean>;
        getVacant(overrides?: CallOverrides): Promise<boolean>;
        'initialise(address)'(_nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        'initialise(address,address)'(_rocketStorage: PromiseOrValue<string>, _nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        preDeposit(_bondValue: PromiseOrValue<BigNumberish>, _validatorPubkey: PromiseOrValue<BytesLike>, _validatorSignature: PromiseOrValue<BytesLike>, _depositDataRoot: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
        prepareVacancy(_bondAmount: PromiseOrValue<BigNumberish>, _currentBalance: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        promote(overrides?: CallOverrides): Promise<void>;
        reduceBondAmount(overrides?: CallOverrides): Promise<void>;
        refund(overrides?: CallOverrides): Promise<void>;
        slash(overrides?: CallOverrides): Promise<void>;
        stake(_validatorSignature: PromiseOrValue<BytesLike>, _depositDataRoot: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
        userDeposit(overrides?: CallOverrides): Promise<void>;
        userDistributeAllowed(overrides?: CallOverrides): Promise<boolean>;
        version(overrides?: CallOverrides): Promise<number>;
        voteScrub(overrides?: CallOverrides): Promise<void>;
        delegateRollback(overrides?: CallOverrides): Promise<void>;
        delegateUpgrade(overrides?: CallOverrides): Promise<void>;
        getDelegate(overrides?: CallOverrides): Promise<string>;
        getEffectiveDelegate(overrides?: CallOverrides): Promise<string>;
        getPreviousDelegate(overrides?: CallOverrides): Promise<string>;
        getUseLatestDelegate(overrides?: CallOverrides): Promise<boolean>;
        setUseLatestDelegate(_setting: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
    };
    filters: {
        'BondReduced(uint256,uint256,uint256)'(previousBondAmount?: null, newBondAmount?: null, time?: null): BondReducedEventFilter;
        BondReduced(previousBondAmount?: null, newBondAmount?: null, time?: null): BondReducedEventFilter;
        'EtherDeposited(address,uint256,uint256)'(from?: PromiseOrValue<string> | null, amount?: null, time?: null): EtherDepositedEventFilter;
        EtherDeposited(from?: PromiseOrValue<string> | null, amount?: null, time?: null): EtherDepositedEventFilter;
        'EtherWithdrawalProcessed(address,uint256,uint256,uint256,uint256)'(executed?: PromiseOrValue<string> | null, nodeAmount?: null, userAmount?: null, totalBalance?: null, time?: null): EtherWithdrawalProcessedEventFilter;
        EtherWithdrawalProcessed(executed?: PromiseOrValue<string> | null, nodeAmount?: null, userAmount?: null, totalBalance?: null, time?: null): EtherWithdrawalProcessedEventFilter;
        'EtherWithdrawn(address,uint256,uint256)'(to?: PromiseOrValue<string> | null, amount?: null, time?: null): EtherWithdrawnEventFilter;
        EtherWithdrawn(to?: PromiseOrValue<string> | null, amount?: null, time?: null): EtherWithdrawnEventFilter;
        'MinipoolPrestaked(bytes,bytes,bytes32,uint256,bytes,uint256)'(validatorPubkey?: null, validatorSignature?: null, depositDataRoot?: null, amount?: null, withdrawalCredentials?: null, time?: null): MinipoolPrestakedEventFilter;
        MinipoolPrestaked(validatorPubkey?: null, validatorSignature?: null, depositDataRoot?: null, amount?: null, withdrawalCredentials?: null, time?: null): MinipoolPrestakedEventFilter;
        'MinipoolPromoted(uint256)'(time?: null): MinipoolPromotedEventFilter;
        MinipoolPromoted(time?: null): MinipoolPromotedEventFilter;
        'MinipoolScrubbed(uint256)'(time?: null): MinipoolScrubbedEventFilter;
        MinipoolScrubbed(time?: null): MinipoolScrubbedEventFilter;
        'MinipoolVacancyPrepared(uint256,uint256,uint256)'(bondAmount?: null, currentBalance?: null, time?: null): MinipoolVacancyPreparedEventFilter;
        MinipoolVacancyPrepared(bondAmount?: null, currentBalance?: null, time?: null): MinipoolVacancyPreparedEventFilter;
        'ScrubVoted(address,uint256)'(member?: PromiseOrValue<string> | null, time?: null): ScrubVotedEventFilter;
        ScrubVoted(member?: PromiseOrValue<string> | null, time?: null): ScrubVotedEventFilter;
        'StatusUpdated(uint8,uint256)'(status?: PromiseOrValue<BigNumberish> | null, time?: null): StatusUpdatedEventFilter;
        StatusUpdated(status?: PromiseOrValue<BigNumberish> | null, time?: null): StatusUpdatedEventFilter;
        'DelegateRolledBack(address,address,uint256)'(oldDelegate?: null, newDelegate?: null, time?: null): DelegateRolledBackEventFilter;
        DelegateRolledBack(oldDelegate?: null, newDelegate?: null, time?: null): DelegateRolledBackEventFilter;
        'DelegateUpgraded(address,address,uint256)'(oldDelegate?: null, newDelegate?: null, time?: null): DelegateUpgradedEventFilter;
        DelegateUpgraded(oldDelegate?: null, newDelegate?: null, time?: null): DelegateUpgradedEventFilter;
        'EtherReceived(address,uint256,uint256)'(from?: PromiseOrValue<string> | null, amount?: null, time?: null): EtherReceivedEventFilter;
        EtherReceived(from?: PromiseOrValue<string> | null, amount?: null, time?: null): EtherReceivedEventFilter;
    };
    estimateGas: {
        beginUserDistribute(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        calculateNodeShare(_balance: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        calculateUserShare(_balance: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        canPromote(overrides?: CallOverrides): Promise<BigNumber>;
        canStake(overrides?: CallOverrides): Promise<BigNumber>;
        close(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        deposit(overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        dissolve(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        distributeBalance(_rewardsOnly: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        finalise(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        getDepositType(overrides?: CallOverrides): Promise<BigNumber>;
        getFinalised(overrides?: CallOverrides): Promise<BigNumber>;
        getNodeAddress(overrides?: CallOverrides): Promise<BigNumber>;
        getNodeDepositAssigned(overrides?: CallOverrides): Promise<BigNumber>;
        getNodeDepositBalance(overrides?: CallOverrides): Promise<BigNumber>;
        getNodeFee(overrides?: CallOverrides): Promise<BigNumber>;
        getNodeRefundBalance(overrides?: CallOverrides): Promise<BigNumber>;
        getNodeTopUpValue(overrides?: CallOverrides): Promise<BigNumber>;
        getPreLaunchValue(overrides?: CallOverrides): Promise<BigNumber>;
        getPreMigrationBalance(overrides?: CallOverrides): Promise<BigNumber>;
        getScrubVoted(_member: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getStatus(overrides?: CallOverrides): Promise<BigNumber>;
        getStatusBlock(overrides?: CallOverrides): Promise<BigNumber>;
        getStatusTime(overrides?: CallOverrides): Promise<BigNumber>;
        getTotalScrubVotes(overrides?: CallOverrides): Promise<BigNumber>;
        getUserDepositAssigned(overrides?: CallOverrides): Promise<BigNumber>;
        getUserDepositAssignedTime(overrides?: CallOverrides): Promise<BigNumber>;
        getUserDepositBalance(overrides?: CallOverrides): Promise<BigNumber>;
        getUserDistributed(overrides?: CallOverrides): Promise<BigNumber>;
        getVacant(overrides?: CallOverrides): Promise<BigNumber>;
        'initialise(address)'(_nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        'initialise(address,address)'(_rocketStorage: PromiseOrValue<string>, _nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        preDeposit(_bondValue: PromiseOrValue<BigNumberish>, _validatorPubkey: PromiseOrValue<BytesLike>, _validatorSignature: PromiseOrValue<BytesLike>, _depositDataRoot: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        prepareVacancy(_bondAmount: PromiseOrValue<BigNumberish>, _currentBalance: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        promote(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        reduceBondAmount(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        refund(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        slash(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        stake(_validatorSignature: PromiseOrValue<BytesLike>, _depositDataRoot: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        userDeposit(overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        userDistributeAllowed(overrides?: CallOverrides): Promise<BigNumber>;
        version(overrides?: CallOverrides): Promise<BigNumber>;
        voteScrub(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        delegateRollback(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        delegateUpgrade(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        getDelegate(overrides?: CallOverrides): Promise<BigNumber>;
        getEffectiveDelegate(overrides?: CallOverrides): Promise<BigNumber>;
        getPreviousDelegate(overrides?: CallOverrides): Promise<BigNumber>;
        getUseLatestDelegate(overrides?: CallOverrides): Promise<BigNumber>;
        setUseLatestDelegate(_setting: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
    };
    populateTransaction: {
        beginUserDistribute(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        calculateNodeShare(_balance: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        calculateUserShare(_balance: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        canPromote(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        canStake(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        close(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        deposit(overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        dissolve(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        distributeBalance(_rewardsOnly: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        finalise(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        getDepositType(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getFinalised(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getNodeAddress(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getNodeDepositAssigned(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getNodeDepositBalance(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getNodeFee(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getNodeRefundBalance(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getNodeTopUpValue(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getPreLaunchValue(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getPreMigrationBalance(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getScrubVoted(_member: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getStatus(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getStatusBlock(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getStatusTime(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getTotalScrubVotes(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getUserDepositAssigned(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getUserDepositAssignedTime(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getUserDepositBalance(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getUserDistributed(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getVacant(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        'initialise(address)'(_nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        'initialise(address,address)'(_rocketStorage: PromiseOrValue<string>, _nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        preDeposit(_bondValue: PromiseOrValue<BigNumberish>, _validatorPubkey: PromiseOrValue<BytesLike>, _validatorSignature: PromiseOrValue<BytesLike>, _depositDataRoot: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        prepareVacancy(_bondAmount: PromiseOrValue<BigNumberish>, _currentBalance: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        promote(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        reduceBondAmount(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        refund(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        slash(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        stake(_validatorSignature: PromiseOrValue<BytesLike>, _depositDataRoot: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        userDeposit(overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        userDistributeAllowed(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        version(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        voteScrub(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        delegateRollback(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        delegateUpgrade(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        getDelegate(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getEffectiveDelegate(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getPreviousDelegate(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getUseLatestDelegate(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        setUseLatestDelegate(_setting: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
    };
}
