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 declare type TimeLockEntryStruct = {
    amount: PromiseOrValue<BigNumberish>;
    releaseStart: PromiseOrValue<BigNumberish>;
    releaseEnd: PromiseOrValue<BigNumberish>;
};
export declare type TimeLockEntryStructOutput = [BigNumber, BigNumber, BigNumber] & {
    amount: BigNumber;
    releaseStart: BigNumber;
    releaseEnd: BigNumber;
};
export declare type VotingLockInfoStruct = {
    lockedAmount: PromiseOrValue<BigNumberish>;
    lockedUntil: PromiseOrValue<BigNumberish>;
    pendingUnlockAmount: PromiseOrValue<BigNumberish>;
    pendingUnlockTime: PromiseOrValue<BigNumberish>;
};
export declare type VotingLockInfoStructOutput = [
    BigNumber,
    BigNumber,
    BigNumber,
    BigNumber
] & {
    lockedAmount: BigNumber;
    lockedUntil: BigNumber;
    pendingUnlockAmount: BigNumber;
    pendingUnlockTime: BigNumber;
};
export declare namespace QVault {
    type BalanceDetailsStruct = {
        currentBalance: PromiseOrValue<BigNumberish>;
        normalizedBalance: PromiseOrValue<BigNumberish>;
        compoundRate: PromiseOrValue<BigNumberish>;
        lastUpdateOfCompoundRate: PromiseOrValue<BigNumberish>;
        interestRate: PromiseOrValue<BigNumberish>;
    };
    type BalanceDetailsStructOutput = [
        BigNumber,
        BigNumber,
        BigNumber,
        BigNumber,
        BigNumber
    ] & {
        currentBalance: BigNumber;
        normalizedBalance: BigNumber;
        compoundRate: BigNumber;
        lastUpdateOfCompoundRate: BigNumber;
        interestRate: BigNumber;
    };
    type ValidatorInfoStruct = {
        validator: PromiseOrValue<string>;
        actualStake: PromiseOrValue<BigNumberish>;
        normalizedStake: PromiseOrValue<BigNumberish>;
        compoundRate: PromiseOrValue<BigNumberish>;
        latestUpdateOfCompoundRate: PromiseOrValue<BigNumberish>;
        idealStake: PromiseOrValue<BigNumberish>;
        claimableReward: PromiseOrValue<BigNumberish>;
    };
    type ValidatorInfoStructOutput = [
        string,
        BigNumber,
        BigNumber,
        BigNumber,
        BigNumber,
        BigNumber,
        BigNumber
    ] & {
        validator: string;
        actualStake: BigNumber;
        normalizedStake: BigNumber;
        compoundRate: BigNumber;
        latestUpdateOfCompoundRate: BigNumber;
        idealStake: BigNumber;
        claimableReward: BigNumber;
    };
}
export interface QVaultMockInterface extends utils.Interface {
    functions: {
        "aggregatedNormalizedBalance()": FunctionFragment;
        "allowance(address,address)": FunctionFragment;
        "announceUnlock(uint256)": FunctionFragment;
        "approve(address,uint256)": FunctionFragment;
        "balanceOf(address)": FunctionFragment;
        "claimStakeDelegatorReward()": FunctionFragment;
        "compoundRateKeeper()": FunctionFragment;
        "decimals()": FunctionFragment;
        "decreaseAllowance(address,uint256)": FunctionFragment;
        "delegateStake(address[],uint256[])": FunctionFragment;
        "deposit()": FunctionFragment;
        "depositFromPool()": FunctionFragment;
        "depositOnBehalfOf(address,uint256,uint256)": FunctionFragment;
        "depositTo(address)": FunctionFragment;
        "getBalanceDetails()": FunctionFragment;
        "getDelegationsList(address)": FunctionFragment;
        "getLockInfo()": FunctionFragment;
        "getMinimumBalance(address,uint256)": FunctionFragment;
        "getNormalizedBalance(address)": FunctionFragment;
        "getTimeLocks(address)": FunctionFragment;
        "getUserBalance(address)": FunctionFragment;
        "increaseAllowance(address,uint256)": FunctionFragment;
        "initialize(address)": FunctionFragment;
        "lock(uint256)": FunctionFragment;
        "name()": FunctionFragment;
        "purgeTimeLocks(address)": FunctionFragment;
        "symbol()": FunctionFragment;
        "totalSupply()": FunctionFragment;
        "transfer(address,uint256)": FunctionFragment;
        "transferAndCall(address,uint256,bytes)": FunctionFragment;
        "transferFrom(address,address,uint256)": FunctionFragment;
        "unlock(uint256)": FunctionFragment;
        "updateCompoundRate()": FunctionFragment;
        "withdraw(uint256)": FunctionFragment;
        "withdrawTo(address,uint256)": FunctionFragment;
        "testListOfDelegatedTo(address)": FunctionFragment;
        "testTotalDelegatedStake(address)": FunctionFragment;
        "testValidatorsActualStakes(address,address)": FunctionFragment;
        "testValidatorsNormalizedStakes(address,address)": FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: "aggregatedNormalizedBalance" | "allowance" | "announceUnlock" | "approve" | "balanceOf" | "claimStakeDelegatorReward" | "compoundRateKeeper" | "decimals" | "decreaseAllowance" | "delegateStake" | "deposit" | "depositFromPool" | "depositOnBehalfOf" | "depositTo" | "getBalanceDetails" | "getDelegationsList" | "getLockInfo" | "getMinimumBalance" | "getNormalizedBalance" | "getTimeLocks" | "getUserBalance" | "increaseAllowance" | "initialize" | "lock" | "name" | "purgeTimeLocks" | "symbol" | "totalSupply" | "transfer" | "transferAndCall" | "transferFrom" | "unlock" | "updateCompoundRate" | "withdraw" | "withdrawTo" | "testListOfDelegatedTo" | "testTotalDelegatedStake" | "testValidatorsActualStakes" | "testValidatorsNormalizedStakes"): FunctionFragment;
    encodeFunctionData(functionFragment: "aggregatedNormalizedBalance", values?: undefined): string;
    encodeFunctionData(functionFragment: "allowance", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "announceUnlock", values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "approve", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "balanceOf", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "claimStakeDelegatorReward", values?: undefined): string;
    encodeFunctionData(functionFragment: "compoundRateKeeper", values?: undefined): string;
    encodeFunctionData(functionFragment: "decimals", values?: undefined): string;
    encodeFunctionData(functionFragment: "decreaseAllowance", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "delegateStake", values: [PromiseOrValue<string>[], PromiseOrValue<BigNumberish>[]]): string;
    encodeFunctionData(functionFragment: "deposit", values?: undefined): string;
    encodeFunctionData(functionFragment: "depositFromPool", values?: undefined): string;
    encodeFunctionData(functionFragment: "depositOnBehalfOf", values: [
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>
    ]): string;
    encodeFunctionData(functionFragment: "depositTo", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "getBalanceDetails", values?: undefined): string;
    encodeFunctionData(functionFragment: "getDelegationsList", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "getLockInfo", values?: undefined): string;
    encodeFunctionData(functionFragment: "getMinimumBalance", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "getNormalizedBalance", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "getTimeLocks", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "getUserBalance", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "increaseAllowance", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "initialize", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "lock", values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "name", values?: undefined): string;
    encodeFunctionData(functionFragment: "purgeTimeLocks", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "symbol", values?: undefined): string;
    encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string;
    encodeFunctionData(functionFragment: "transfer", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "transferAndCall", values: [
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BytesLike>
    ]): string;
    encodeFunctionData(functionFragment: "transferFrom", values: [
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>
    ]): string;
    encodeFunctionData(functionFragment: "unlock", values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "updateCompoundRate", values?: undefined): string;
    encodeFunctionData(functionFragment: "withdraw", values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "withdrawTo", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "testListOfDelegatedTo", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "testTotalDelegatedStake", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "testValidatorsActualStakes", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "testValidatorsNormalizedStakes", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
    decodeFunctionResult(functionFragment: "aggregatedNormalizedBalance", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "announceUnlock", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "claimStakeDelegatorReward", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "compoundRateKeeper", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "decreaseAllowance", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "delegateStake", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "depositFromPool", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "depositOnBehalfOf", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "depositTo", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getBalanceDetails", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getDelegationsList", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getLockInfo", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getMinimumBalance", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getNormalizedBalance", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getTimeLocks", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getUserBalance", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "increaseAllowance", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "lock", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "purgeTimeLocks", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "transferAndCall", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "unlock", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "updateCompoundRate", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "withdrawTo", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "testListOfDelegatedTo", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "testTotalDelegatedStake", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "testValidatorsActualStakes", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "testValidatorsNormalizedStakes", data: BytesLike): Result;
    events: {
        "Approval(address,address,uint256)": EventFragment;
        "NewTimeLock(address,tuple)": EventFragment;
        "Purged(address,tuple)": EventFragment;
        "Transfer(address,address,uint256,bytes)": EventFragment;
        "Transfer(address,address,uint256)": EventFragment;
        "UserDeposited(address,uint256,uint256)": EventFragment;
        "UserWithdrawn(address,uint256,uint256)": EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "NewTimeLock"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "Purged"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "Transfer(address,address,uint256,bytes)"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "Transfer(address,address,uint256)"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "UserDeposited"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "UserWithdrawn"): 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 NewTimeLockEventObject {
    _account: string;
    _timelock: TimeLockEntryStructOutput;
}
export declare type NewTimeLockEvent = TypedEvent<[
    string,
    TimeLockEntryStructOutput
], NewTimeLockEventObject>;
export declare type NewTimeLockEventFilter = TypedEventFilter<NewTimeLockEvent>;
export interface PurgedEventObject {
    _account: string;
    _timelock: TimeLockEntryStructOutput;
}
export declare type PurgedEvent = TypedEvent<[
    string,
    TimeLockEntryStructOutput
], PurgedEventObject>;
export declare type PurgedEventFilter = TypedEventFilter<PurgedEvent>;
export interface Transfer_address_address_uint256_bytes_EventObject {
    from: string;
    to: string;
    value: BigNumber;
    data: string;
}
export declare type Transfer_address_address_uint256_bytes_Event = TypedEvent<[
    string,
    string,
    BigNumber,
    string
], Transfer_address_address_uint256_bytes_EventObject>;
export declare type Transfer_address_address_uint256_bytes_EventFilter = TypedEventFilter<Transfer_address_address_uint256_bytes_Event>;
export interface Transfer_address_address_uint256_EventObject {
    from: string;
    to: string;
    value: BigNumber;
}
export declare type Transfer_address_address_uint256_Event = TypedEvent<[
    string,
    string,
    BigNumber
], Transfer_address_address_uint256_EventObject>;
export declare type Transfer_address_address_uint256_EventFilter = TypedEventFilter<Transfer_address_address_uint256_Event>;
export interface UserDepositedEventObject {
    _user: string;
    _newDepositAmount: BigNumber;
    _newBalance: BigNumber;
}
export declare type UserDepositedEvent = TypedEvent<[
    string,
    BigNumber,
    BigNumber
], UserDepositedEventObject>;
export declare type UserDepositedEventFilter = TypedEventFilter<UserDepositedEvent>;
export interface UserWithdrawnEventObject {
    _user: string;
    _withdrawnAmount: BigNumber;
    _newBalance: BigNumber;
}
export declare type UserWithdrawnEvent = TypedEvent<[
    string,
    BigNumber,
    BigNumber
], UserWithdrawnEventObject>;
export declare type UserWithdrawnEventFilter = TypedEventFilter<UserWithdrawnEvent>;
export interface QVaultMock extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: QVaultMockInterface;
    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: {
        aggregatedNormalizedBalance(overrides?: CallOverrides): Promise<[BigNumber]>;
        allowance(tokenOwner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        announceUnlock(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        balanceOf(_userAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        claimStakeDelegatorReward(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        compoundRateKeeper(overrides?: CallOverrides): Promise<[string]>;
        decimals(overrides?: CallOverrides): Promise<[number]>;
        decreaseAllowance(spender: PromiseOrValue<string>, subtractedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        delegateStake(_delegatedTo: PromiseOrValue<string>[], _stakes: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        deposit(overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        depositFromPool(overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        depositOnBehalfOf(_account: PromiseOrValue<string>, _releaseStart: PromiseOrValue<BigNumberish>, _releaseEnd: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        depositTo(_recipient: PromiseOrValue<string>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        getBalanceDetails(overrides?: CallOverrides): Promise<[QVault.BalanceDetailsStructOutput]>;
        getDelegationsList(_delegator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[QVault.ValidatorInfoStructOutput[]]>;
        getLockInfo(overrides?: CallOverrides): Promise<[VotingLockInfoStructOutput]>;
        getMinimumBalance(_account: PromiseOrValue<string>, _timestamp: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        getNormalizedBalance(_userAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        getTimeLocks(_account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[TimeLockEntryStructOutput[]]>;
        getUserBalance(_userAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        increaseAllowance(spender: PromiseOrValue<string>, addedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        initialize(_registry: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        lock(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        name(overrides?: CallOverrides): Promise<[string]>;
        purgeTimeLocks(_account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        symbol(overrides?: CallOverrides): Promise<[string]>;
        totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>;
        transfer(receiver: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        transferAndCall(_to: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        transferFrom(owner: PromiseOrValue<string>, receiver: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        unlock(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        updateCompoundRate(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        withdraw(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        withdrawTo(_recipient: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        testListOfDelegatedTo(_delegator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[string[]]>;
        testTotalDelegatedStake(_delegator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        testValidatorsActualStakes(_delegator: PromiseOrValue<string>, _validator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        testValidatorsNormalizedStakes(_delegator: PromiseOrValue<string>, _validator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
    };
    aggregatedNormalizedBalance(overrides?: CallOverrides): Promise<BigNumber>;
    allowance(tokenOwner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    announceUnlock(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    balanceOf(_userAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    claimStakeDelegatorReward(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    compoundRateKeeper(overrides?: CallOverrides): Promise<string>;
    decimals(overrides?: CallOverrides): Promise<number>;
    decreaseAllowance(spender: PromiseOrValue<string>, subtractedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    delegateStake(_delegatedTo: PromiseOrValue<string>[], _stakes: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    deposit(overrides?: PayableOverrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    depositFromPool(overrides?: PayableOverrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    depositOnBehalfOf(_account: PromiseOrValue<string>, _releaseStart: PromiseOrValue<BigNumberish>, _releaseEnd: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    depositTo(_recipient: PromiseOrValue<string>, overrides?: PayableOverrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    getBalanceDetails(overrides?: CallOverrides): Promise<QVault.BalanceDetailsStructOutput>;
    getDelegationsList(_delegator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<QVault.ValidatorInfoStructOutput[]>;
    getLockInfo(overrides?: CallOverrides): Promise<VotingLockInfoStructOutput>;
    getMinimumBalance(_account: PromiseOrValue<string>, _timestamp: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    getNormalizedBalance(_userAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    getTimeLocks(_account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<TimeLockEntryStructOutput[]>;
    getUserBalance(_userAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    increaseAllowance(spender: PromiseOrValue<string>, addedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    initialize(_registry: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    lock(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    name(overrides?: CallOverrides): Promise<string>;
    purgeTimeLocks(_account: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    symbol(overrides?: CallOverrides): Promise<string>;
    totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
    transfer(receiver: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    transferAndCall(_to: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    transferFrom(owner: PromiseOrValue<string>, receiver: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    unlock(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    updateCompoundRate(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    withdraw(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    withdrawTo(_recipient: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    testListOfDelegatedTo(_delegator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string[]>;
    testTotalDelegatedStake(_delegator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    testValidatorsActualStakes(_delegator: PromiseOrValue<string>, _validator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    testValidatorsNormalizedStakes(_delegator: PromiseOrValue<string>, _validator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    callStatic: {
        aggregatedNormalizedBalance(overrides?: CallOverrides): Promise<BigNumber>;
        allowance(tokenOwner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        announceUnlock(_amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        balanceOf(_userAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        claimStakeDelegatorReward(overrides?: CallOverrides): Promise<boolean>;
        compoundRateKeeper(overrides?: CallOverrides): Promise<string>;
        decimals(overrides?: CallOverrides): Promise<number>;
        decreaseAllowance(spender: PromiseOrValue<string>, subtractedValue: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        delegateStake(_delegatedTo: PromiseOrValue<string>[], _stakes: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
        deposit(overrides?: CallOverrides): Promise<boolean>;
        depositFromPool(overrides?: CallOverrides): Promise<void>;
        depositOnBehalfOf(_account: PromiseOrValue<string>, _releaseStart: PromiseOrValue<BigNumberish>, _releaseEnd: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        depositTo(_recipient: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        getBalanceDetails(overrides?: CallOverrides): Promise<QVault.BalanceDetailsStructOutput>;
        getDelegationsList(_delegator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<QVault.ValidatorInfoStructOutput[]>;
        getLockInfo(overrides?: CallOverrides): Promise<VotingLockInfoStructOutput>;
        getMinimumBalance(_account: PromiseOrValue<string>, _timestamp: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getNormalizedBalance(_userAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getTimeLocks(_account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<TimeLockEntryStructOutput[]>;
        getUserBalance(_userAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        increaseAllowance(spender: PromiseOrValue<string>, addedValue: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        initialize(_registry: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        lock(_amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        name(overrides?: CallOverrides): Promise<string>;
        purgeTimeLocks(_account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        symbol(overrides?: CallOverrides): Promise<string>;
        totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
        transfer(receiver: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        transferAndCall(_to: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>;
        transferFrom(owner: PromiseOrValue<string>, receiver: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        unlock(_amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        updateCompoundRate(overrides?: CallOverrides): Promise<BigNumber>;
        withdraw(_amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        withdrawTo(_recipient: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        testListOfDelegatedTo(_delegator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string[]>;
        testTotalDelegatedStake(_delegator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        testValidatorsActualStakes(_delegator: PromiseOrValue<string>, _validator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        testValidatorsNormalizedStakes(_delegator: PromiseOrValue<string>, _validator: PromiseOrValue<string>, 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;
        "NewTimeLock(address,tuple)"(_account?: PromiseOrValue<string> | null, _timelock?: null): NewTimeLockEventFilter;
        NewTimeLock(_account?: PromiseOrValue<string> | null, _timelock?: null): NewTimeLockEventFilter;
        "Purged(address,tuple)"(_account?: PromiseOrValue<string> | null, _timelock?: null): PurgedEventFilter;
        Purged(_account?: PromiseOrValue<string> | null, _timelock?: null): PurgedEventFilter;
        "Transfer(address,address,uint256,bytes)"(from?: PromiseOrValue<string> | null, to?: PromiseOrValue<string> | null, value?: null, data?: null): Transfer_address_address_uint256_bytes_EventFilter;
        "Transfer(address,address,uint256)"(from?: PromiseOrValue<string> | null, to?: PromiseOrValue<string> | null, value?: null): Transfer_address_address_uint256_EventFilter;
        "UserDeposited(address,uint256,uint256)"(_user?: PromiseOrValue<string> | null, _newDepositAmount?: null, _newBalance?: null): UserDepositedEventFilter;
        UserDeposited(_user?: PromiseOrValue<string> | null, _newDepositAmount?: null, _newBalance?: null): UserDepositedEventFilter;
        "UserWithdrawn(address,uint256,uint256)"(_user?: PromiseOrValue<string> | null, _withdrawnAmount?: null, _newBalance?: null): UserWithdrawnEventFilter;
        UserWithdrawn(_user?: PromiseOrValue<string> | null, _withdrawnAmount?: null, _newBalance?: null): UserWithdrawnEventFilter;
    };
    estimateGas: {
        aggregatedNormalizedBalance(overrides?: CallOverrides): Promise<BigNumber>;
        allowance(tokenOwner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        announceUnlock(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        balanceOf(_userAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        claimStakeDelegatorReward(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        compoundRateKeeper(overrides?: CallOverrides): Promise<BigNumber>;
        decimals(overrides?: CallOverrides): Promise<BigNumber>;
        decreaseAllowance(spender: PromiseOrValue<string>, subtractedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        delegateStake(_delegatedTo: PromiseOrValue<string>[], _stakes: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        deposit(overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        depositFromPool(overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        depositOnBehalfOf(_account: PromiseOrValue<string>, _releaseStart: PromiseOrValue<BigNumberish>, _releaseEnd: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        depositTo(_recipient: PromiseOrValue<string>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        getBalanceDetails(overrides?: CallOverrides): Promise<BigNumber>;
        getDelegationsList(_delegator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getLockInfo(overrides?: CallOverrides): Promise<BigNumber>;
        getMinimumBalance(_account: PromiseOrValue<string>, _timestamp: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getNormalizedBalance(_userAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getTimeLocks(_account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getUserBalance(_userAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        increaseAllowance(spender: PromiseOrValue<string>, addedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        initialize(_registry: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        lock(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        name(overrides?: CallOverrides): Promise<BigNumber>;
        purgeTimeLocks(_account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        symbol(overrides?: CallOverrides): Promise<BigNumber>;
        totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
        transfer(receiver: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        transferAndCall(_to: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        transferFrom(owner: PromiseOrValue<string>, receiver: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        unlock(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        updateCompoundRate(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        withdraw(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        withdrawTo(_recipient: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        testListOfDelegatedTo(_delegator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        testTotalDelegatedStake(_delegator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        testValidatorsActualStakes(_delegator: PromiseOrValue<string>, _validator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        testValidatorsNormalizedStakes(_delegator: PromiseOrValue<string>, _validator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    };
    populateTransaction: {
        aggregatedNormalizedBalance(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        allowance(tokenOwner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        announceUnlock(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        balanceOf(_userAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        claimStakeDelegatorReward(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        compoundRateKeeper(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        decimals(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        decreaseAllowance(spender: PromiseOrValue<string>, subtractedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        delegateStake(_delegatedTo: PromiseOrValue<string>[], _stakes: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        deposit(overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        depositFromPool(overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        depositOnBehalfOf(_account: PromiseOrValue<string>, _releaseStart: PromiseOrValue<BigNumberish>, _releaseEnd: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        depositTo(_recipient: PromiseOrValue<string>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        getBalanceDetails(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getDelegationsList(_delegator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getLockInfo(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getMinimumBalance(_account: PromiseOrValue<string>, _timestamp: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getNormalizedBalance(_userAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getTimeLocks(_account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getUserBalance(_userAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        increaseAllowance(spender: PromiseOrValue<string>, addedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        initialize(_registry: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        lock(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        name(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        purgeTimeLocks(_account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        symbol(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        totalSupply(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        transfer(receiver: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        transferAndCall(_to: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        transferFrom(owner: PromiseOrValue<string>, receiver: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        unlock(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        updateCompoundRate(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        withdraw(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        withdrawTo(_recipient: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        testListOfDelegatedTo(_delegator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        testTotalDelegatedStake(_delegator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        testValidatorsActualStakes(_delegator: PromiseOrValue<string>, _validator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        testValidatorsNormalizedStakes(_delegator: PromiseOrValue<string>, _validator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
    };
}
