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 RocketMinipoolManagerInterface extends utils.Interface {
    functions: {
        'createMinipool(address,uint8,uint256)': FunctionFragment;
        'decrementNodeStakingMinipoolCount(address)': FunctionFragment;
        'destroyMinipool()': FunctionFragment;
        'getActiveMinipoolCount()': FunctionFragment;
        'getFinalisedMinipoolCount()': FunctionFragment;
        'getMinipoolAt(uint256)': FunctionFragment;
        'getMinipoolByPubkey(bytes)': FunctionFragment;
        'getMinipoolBytecode()': FunctionFragment;
        'getMinipoolCount()': FunctionFragment;
        'getMinipoolCountPerStatus(uint256,uint256)': FunctionFragment;
        'getMinipoolDestroyed(address)': FunctionFragment;
        'getMinipoolExists(address)': FunctionFragment;
        'getMinipoolPubkey(address)': FunctionFragment;
        'getMinipoolWithdrawalCredentials(address)': FunctionFragment;
        'getNodeActiveMinipoolCount(address)': FunctionFragment;
        'getNodeFinalisedMinipoolCount(address)': FunctionFragment;
        'getNodeMinipoolAt(address,uint256)': FunctionFragment;
        'getNodeMinipoolCount(address)': FunctionFragment;
        'getNodeStakingMinipoolCount(address)': FunctionFragment;
        'getNodeValidatingMinipoolAt(address,uint256)': FunctionFragment;
        'getNodeValidatingMinipoolCount(address)': FunctionFragment;
        'getPrelaunchMinipools(uint256,uint256)': FunctionFragment;
        'getStakingMinipoolCount()': FunctionFragment;
        'incrementNodeFinalisedMinipoolCount(address)': FunctionFragment;
        'incrementNodeStakingMinipoolCount(address)': FunctionFragment;
        'setMinipoolPubkey(bytes)': FunctionFragment;
        'version()': FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: 'createMinipool' | 'decrementNodeStakingMinipoolCount' | 'destroyMinipool' | 'getActiveMinipoolCount' | 'getFinalisedMinipoolCount' | 'getMinipoolAt' | 'getMinipoolByPubkey' | 'getMinipoolBytecode' | 'getMinipoolCount' | 'getMinipoolCountPerStatus' | 'getMinipoolDestroyed' | 'getMinipoolExists' | 'getMinipoolPubkey' | 'getMinipoolWithdrawalCredentials' | 'getNodeActiveMinipoolCount' | 'getNodeFinalisedMinipoolCount' | 'getNodeMinipoolAt' | 'getNodeMinipoolCount' | 'getNodeStakingMinipoolCount' | 'getNodeValidatingMinipoolAt' | 'getNodeValidatingMinipoolCount' | 'getPrelaunchMinipools' | 'getStakingMinipoolCount' | 'incrementNodeFinalisedMinipoolCount' | 'incrementNodeStakingMinipoolCount' | 'setMinipoolPubkey' | 'version'): FunctionFragment;
    encodeFunctionData(functionFragment: 'createMinipool', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'decrementNodeStakingMinipoolCount', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'destroyMinipool', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getActiveMinipoolCount', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getFinalisedMinipoolCount', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getMinipoolAt', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getMinipoolByPubkey', values: [PromiseOrValue<BytesLike>]): string;
    encodeFunctionData(functionFragment: 'getMinipoolBytecode', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getMinipoolCount', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getMinipoolCountPerStatus', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getMinipoolDestroyed', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getMinipoolExists', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getMinipoolPubkey', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getMinipoolWithdrawalCredentials', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getNodeActiveMinipoolCount', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getNodeFinalisedMinipoolCount', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getNodeMinipoolAt', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getNodeMinipoolCount', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getNodeStakingMinipoolCount', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getNodeValidatingMinipoolAt', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getNodeValidatingMinipoolCount', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getPrelaunchMinipools', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getStakingMinipoolCount', values?: undefined): string;
    encodeFunctionData(functionFragment: 'incrementNodeFinalisedMinipoolCount', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'incrementNodeStakingMinipoolCount', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'setMinipoolPubkey', values: [PromiseOrValue<BytesLike>]): string;
    encodeFunctionData(functionFragment: 'version', values?: undefined): string;
    decodeFunctionResult(functionFragment: 'createMinipool', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'decrementNodeStakingMinipoolCount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'destroyMinipool', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getActiveMinipoolCount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getFinalisedMinipoolCount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getMinipoolAt', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getMinipoolByPubkey', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getMinipoolBytecode', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getMinipoolCount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getMinipoolCountPerStatus', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getMinipoolDestroyed', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getMinipoolExists', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getMinipoolPubkey', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getMinipoolWithdrawalCredentials', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getNodeActiveMinipoolCount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getNodeFinalisedMinipoolCount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getNodeMinipoolAt', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getNodeMinipoolCount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getNodeStakingMinipoolCount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getNodeValidatingMinipoolAt', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getNodeValidatingMinipoolCount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getPrelaunchMinipools', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getStakingMinipoolCount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'incrementNodeFinalisedMinipoolCount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'incrementNodeStakingMinipoolCount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setMinipoolPubkey', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'version', data: BytesLike): Result;
    events: {
        'MinipoolCreated(address,address,uint256)': EventFragment;
        'MinipoolDestroyed(address,address,uint256)': EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: 'MinipoolCreated'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'MinipoolDestroyed'): EventFragment;
}
export interface MinipoolCreatedEventObject {
    minipool: string;
    node: string;
    time: BigNumber;
}
export declare type MinipoolCreatedEvent = TypedEvent<[string, string, BigNumber], MinipoolCreatedEventObject>;
export declare type MinipoolCreatedEventFilter = TypedEventFilter<MinipoolCreatedEvent>;
export interface MinipoolDestroyedEventObject {
    minipool: string;
    node: string;
    time: BigNumber;
}
export declare type MinipoolDestroyedEvent = TypedEvent<[string, string, BigNumber], MinipoolDestroyedEventObject>;
export declare type MinipoolDestroyedEventFilter = TypedEventFilter<MinipoolDestroyedEvent>;
export interface RocketMinipoolManager extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: RocketMinipoolManagerInterface;
    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: {
        createMinipool(_nodeAddress: PromiseOrValue<string>, _depositType: PromiseOrValue<BigNumberish>, _salt: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        decrementNodeStakingMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        destroyMinipool(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        getActiveMinipoolCount(overrides?: CallOverrides): Promise<[BigNumber]>;
        getFinalisedMinipoolCount(overrides?: CallOverrides): Promise<[BigNumber]>;
        getMinipoolAt(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
        getMinipoolByPubkey(_pubkey: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string]>;
        getMinipoolBytecode(overrides?: CallOverrides): Promise<[string]>;
        getMinipoolCount(overrides?: CallOverrides): Promise<[BigNumber]>;
        getMinipoolCountPerStatus(offset: PromiseOrValue<BigNumberish>, limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
            BigNumber,
            BigNumber,
            BigNumber,
            BigNumber,
            BigNumber
        ] & {
            initialisedCount: BigNumber;
            prelaunchCount: BigNumber;
            stakingCount: BigNumber;
            withdrawableCount: BigNumber;
            dissolvedCount: BigNumber;
        }>;
        getMinipoolDestroyed(_minipoolAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        getMinipoolExists(_minipoolAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        getMinipoolPubkey(_minipoolAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[string]>;
        getMinipoolWithdrawalCredentials(_minipoolAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[string]>;
        getNodeActiveMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        getNodeFinalisedMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        getNodeMinipoolAt(_nodeAddress: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
        getNodeMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        getNodeStakingMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        getNodeValidatingMinipoolAt(_nodeAddress: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
        getNodeValidatingMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        getPrelaunchMinipools(offset: PromiseOrValue<BigNumberish>, limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string[]]>;
        getStakingMinipoolCount(overrides?: CallOverrides): Promise<[BigNumber]>;
        incrementNodeFinalisedMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        incrementNodeStakingMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setMinipoolPubkey(_pubkey: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        version(overrides?: CallOverrides): Promise<[number]>;
    };
    createMinipool(_nodeAddress: PromiseOrValue<string>, _depositType: PromiseOrValue<BigNumberish>, _salt: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    decrementNodeStakingMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    destroyMinipool(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    getActiveMinipoolCount(overrides?: CallOverrides): Promise<BigNumber>;
    getFinalisedMinipoolCount(overrides?: CallOverrides): Promise<BigNumber>;
    getMinipoolAt(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
    getMinipoolByPubkey(_pubkey: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
    getMinipoolBytecode(overrides?: CallOverrides): Promise<string>;
    getMinipoolCount(overrides?: CallOverrides): Promise<BigNumber>;
    getMinipoolCountPerStatus(offset: PromiseOrValue<BigNumberish>, limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
        BigNumber,
        BigNumber,
        BigNumber,
        BigNumber,
        BigNumber
    ] & {
        initialisedCount: BigNumber;
        prelaunchCount: BigNumber;
        stakingCount: BigNumber;
        withdrawableCount: BigNumber;
        dissolvedCount: BigNumber;
    }>;
    getMinipoolDestroyed(_minipoolAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    getMinipoolExists(_minipoolAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    getMinipoolPubkey(_minipoolAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>;
    getMinipoolWithdrawalCredentials(_minipoolAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>;
    getNodeActiveMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    getNodeFinalisedMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    getNodeMinipoolAt(_nodeAddress: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
    getNodeMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    getNodeStakingMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    getNodeValidatingMinipoolAt(_nodeAddress: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
    getNodeValidatingMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    getPrelaunchMinipools(offset: PromiseOrValue<BigNumberish>, limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string[]>;
    getStakingMinipoolCount(overrides?: CallOverrides): Promise<BigNumber>;
    incrementNodeFinalisedMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    incrementNodeStakingMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setMinipoolPubkey(_pubkey: PromiseOrValue<BytesLike>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    version(overrides?: CallOverrides): Promise<number>;
    callStatic: {
        createMinipool(_nodeAddress: PromiseOrValue<string>, _depositType: PromiseOrValue<BigNumberish>, _salt: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        decrementNodeStakingMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        destroyMinipool(overrides?: CallOverrides): Promise<void>;
        getActiveMinipoolCount(overrides?: CallOverrides): Promise<BigNumber>;
        getFinalisedMinipoolCount(overrides?: CallOverrides): Promise<BigNumber>;
        getMinipoolAt(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        getMinipoolByPubkey(_pubkey: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
        getMinipoolBytecode(overrides?: CallOverrides): Promise<string>;
        getMinipoolCount(overrides?: CallOverrides): Promise<BigNumber>;
        getMinipoolCountPerStatus(offset: PromiseOrValue<BigNumberish>, limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
            BigNumber,
            BigNumber,
            BigNumber,
            BigNumber,
            BigNumber
        ] & {
            initialisedCount: BigNumber;
            prelaunchCount: BigNumber;
            stakingCount: BigNumber;
            withdrawableCount: BigNumber;
            dissolvedCount: BigNumber;
        }>;
        getMinipoolDestroyed(_minipoolAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        getMinipoolExists(_minipoolAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        getMinipoolPubkey(_minipoolAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>;
        getMinipoolWithdrawalCredentials(_minipoolAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>;
        getNodeActiveMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getNodeFinalisedMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getNodeMinipoolAt(_nodeAddress: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        getNodeMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getNodeStakingMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getNodeValidatingMinipoolAt(_nodeAddress: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        getNodeValidatingMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getPrelaunchMinipools(offset: PromiseOrValue<BigNumberish>, limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string[]>;
        getStakingMinipoolCount(overrides?: CallOverrides): Promise<BigNumber>;
        incrementNodeFinalisedMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        incrementNodeStakingMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setMinipoolPubkey(_pubkey: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
        version(overrides?: CallOverrides): Promise<number>;
    };
    filters: {
        'MinipoolCreated(address,address,uint256)'(minipool?: PromiseOrValue<string> | null, node?: PromiseOrValue<string> | null, time?: null): MinipoolCreatedEventFilter;
        MinipoolCreated(minipool?: PromiseOrValue<string> | null, node?: PromiseOrValue<string> | null, time?: null): MinipoolCreatedEventFilter;
        'MinipoolDestroyed(address,address,uint256)'(minipool?: PromiseOrValue<string> | null, node?: PromiseOrValue<string> | null, time?: null): MinipoolDestroyedEventFilter;
        MinipoolDestroyed(minipool?: PromiseOrValue<string> | null, node?: PromiseOrValue<string> | null, time?: null): MinipoolDestroyedEventFilter;
    };
    estimateGas: {
        createMinipool(_nodeAddress: PromiseOrValue<string>, _depositType: PromiseOrValue<BigNumberish>, _salt: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        decrementNodeStakingMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        destroyMinipool(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        getActiveMinipoolCount(overrides?: CallOverrides): Promise<BigNumber>;
        getFinalisedMinipoolCount(overrides?: CallOverrides): Promise<BigNumber>;
        getMinipoolAt(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getMinipoolByPubkey(_pubkey: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
        getMinipoolBytecode(overrides?: CallOverrides): Promise<BigNumber>;
        getMinipoolCount(overrides?: CallOverrides): Promise<BigNumber>;
        getMinipoolCountPerStatus(offset: PromiseOrValue<BigNumberish>, limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getMinipoolDestroyed(_minipoolAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getMinipoolExists(_minipoolAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getMinipoolPubkey(_minipoolAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getMinipoolWithdrawalCredentials(_minipoolAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getNodeActiveMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getNodeFinalisedMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getNodeMinipoolAt(_nodeAddress: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getNodeMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getNodeStakingMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getNodeValidatingMinipoolAt(_nodeAddress: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getNodeValidatingMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getPrelaunchMinipools(offset: PromiseOrValue<BigNumberish>, limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getStakingMinipoolCount(overrides?: CallOverrides): Promise<BigNumber>;
        incrementNodeFinalisedMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        incrementNodeStakingMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setMinipoolPubkey(_pubkey: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        version(overrides?: CallOverrides): Promise<BigNumber>;
    };
    populateTransaction: {
        createMinipool(_nodeAddress: PromiseOrValue<string>, _depositType: PromiseOrValue<BigNumberish>, _salt: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        decrementNodeStakingMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        destroyMinipool(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        getActiveMinipoolCount(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getFinalisedMinipoolCount(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getMinipoolAt(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getMinipoolByPubkey(_pubkey: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getMinipoolBytecode(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getMinipoolCount(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getMinipoolCountPerStatus(offset: PromiseOrValue<BigNumberish>, limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getMinipoolDestroyed(_minipoolAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getMinipoolExists(_minipoolAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getMinipoolPubkey(_minipoolAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getMinipoolWithdrawalCredentials(_minipoolAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getNodeActiveMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getNodeFinalisedMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getNodeMinipoolAt(_nodeAddress: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getNodeMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getNodeStakingMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getNodeValidatingMinipoolAt(_nodeAddress: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getNodeValidatingMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getPrelaunchMinipools(offset: PromiseOrValue<BigNumberish>, limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getStakingMinipoolCount(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        incrementNodeFinalisedMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        incrementNodeStakingMinipoolCount(_nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setMinipoolPubkey(_pubkey: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        version(overrides?: CallOverrides): Promise<PopulatedTransaction>;
    };
}
