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 declare type AccountInfoStruct = {
    total: PromiseOrValue<BigNumberish>;
    startTime: PromiseOrValue<BigNumberish>;
};
export declare type AccountInfoStructOutput = [BigNumber, BigNumber] & {
    total: BigNumber;
    startTime: BigNumber;
};
export interface GroVestingInterface extends utils.Interface {
    functions: {
        'PERCENTAGE_DECIMAL_FACTOR()': FunctionFragment;
        'TIME_LOCK()': FunctionFragment;
        'accountInfos(address)': FunctionFragment;
        'calcPartialExit(address,uint256)': FunctionFragment;
        'distributer()': FunctionFragment;
        'exit(uint256)': FunctionFragment;
        'extend(uint256)': FunctionFragment;
        'getVestingDates(address)': FunctionFragment;
        'globalStartTime()': FunctionFragment;
        'hodlerClaims()': FunctionFragment;
        'initUnlockedPercent()': FunctionFragment;
        'initialize()': FunctionFragment;
        'initialized()': FunctionFragment;
        'instantUnlockPercent()': FunctionFragment;
        'lockPeriodFactor()': FunctionFragment;
        'maxLockPeriod()': FunctionFragment;
        'oldVesting()': FunctionFragment;
        'owner()': FunctionFragment;
        'paused()': FunctionFragment;
        'renounceOwnership()': FunctionFragment;
        'setDistributer(address)': FunctionFragment;
        'setHodlerClaims(address)': FunctionFragment;
        'setInitUnlockedPercent(uint256)': FunctionFragment;
        'setInstantUnlockedPercent(uint256)': FunctionFragment;
        'setMaxLockPeriod(uint256)': FunctionFragment;
        'setStatus(bool)': FunctionFragment;
        'setVester(address,bool)': FunctionFragment;
        'totalBalance(address)': FunctionFragment;
        'totalGroove()': FunctionFragment;
        'totalLockedAmount()': FunctionFragment;
        'totalWithdrawn(address)': FunctionFragment;
        'transferOwnership(address)': FunctionFragment;
        'userMigrated(address)': FunctionFragment;
        'vest(bool,address,uint256)': FunctionFragment;
        'vestedBalance(address)': FunctionFragment;
        'vesters(address)': FunctionFragment;
        'vestingBalance(address)': FunctionFragment;
        'withdrawals(address)': FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: 'PERCENTAGE_DECIMAL_FACTOR' | 'TIME_LOCK' | 'accountInfos' | 'calcPartialExit' | 'distributer' | 'exit' | 'extend' | 'getVestingDates' | 'globalStartTime' | 'hodlerClaims' | 'initUnlockedPercent' | 'initialize' | 'initialized' | 'instantUnlockPercent' | 'lockPeriodFactor' | 'maxLockPeriod' | 'oldVesting' | 'owner' | 'paused' | 'renounceOwnership' | 'setDistributer' | 'setHodlerClaims' | 'setInitUnlockedPercent' | 'setInstantUnlockedPercent' | 'setMaxLockPeriod' | 'setStatus' | 'setVester' | 'totalBalance' | 'totalGroove' | 'totalLockedAmount' | 'totalWithdrawn' | 'transferOwnership' | 'userMigrated' | 'vest' | 'vestedBalance' | 'vesters' | 'vestingBalance' | 'withdrawals'): FunctionFragment;
    encodeFunctionData(functionFragment: 'PERCENTAGE_DECIMAL_FACTOR', values?: undefined): string;
    encodeFunctionData(functionFragment: 'TIME_LOCK', values?: undefined): string;
    encodeFunctionData(functionFragment: 'accountInfos', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'calcPartialExit', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'distributer', values?: undefined): string;
    encodeFunctionData(functionFragment: 'exit', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'extend', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getVestingDates', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'globalStartTime', values?: undefined): string;
    encodeFunctionData(functionFragment: 'hodlerClaims', values?: undefined): string;
    encodeFunctionData(functionFragment: 'initUnlockedPercent', values?: undefined): string;
    encodeFunctionData(functionFragment: 'initialize', values?: undefined): string;
    encodeFunctionData(functionFragment: 'initialized', values?: undefined): string;
    encodeFunctionData(functionFragment: 'instantUnlockPercent', values?: undefined): string;
    encodeFunctionData(functionFragment: 'lockPeriodFactor', values?: undefined): string;
    encodeFunctionData(functionFragment: 'maxLockPeriod', values?: undefined): string;
    encodeFunctionData(functionFragment: 'oldVesting', values?: undefined): string;
    encodeFunctionData(functionFragment: 'owner', values?: undefined): string;
    encodeFunctionData(functionFragment: 'paused', values?: undefined): string;
    encodeFunctionData(functionFragment: 'renounceOwnership', values?: undefined): string;
    encodeFunctionData(functionFragment: 'setDistributer', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'setHodlerClaims', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'setInitUnlockedPercent', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'setInstantUnlockedPercent', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'setMaxLockPeriod', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'setStatus', values: [PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: 'setVester', values: [PromiseOrValue<string>, PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: 'totalBalance', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'totalGroove', values?: undefined): string;
    encodeFunctionData(functionFragment: 'totalLockedAmount', values?: undefined): string;
    encodeFunctionData(functionFragment: 'totalWithdrawn', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'transferOwnership', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'userMigrated', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'vest', values: [PromiseOrValue<boolean>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'vestedBalance', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'vesters', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'vestingBalance', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'withdrawals', values: [PromiseOrValue<string>]): string;
    decodeFunctionResult(functionFragment: 'PERCENTAGE_DECIMAL_FACTOR', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'TIME_LOCK', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'accountInfos', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'calcPartialExit', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'distributer', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'exit', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'extend', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getVestingDates', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'globalStartTime', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'hodlerClaims', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'initUnlockedPercent', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'initialize', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'initialized', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'instantUnlockPercent', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'lockPeriodFactor', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'maxLockPeriod', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'oldVesting', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'paused', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'renounceOwnership', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setDistributer', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setHodlerClaims', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setInitUnlockedPercent', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setInstantUnlockedPercent', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setMaxLockPeriod', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setStatus', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setVester', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'totalBalance', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'totalGroove', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'totalLockedAmount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'totalWithdrawn', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'transferOwnership', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'userMigrated', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'vest', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'vestedBalance', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'vesters', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'vestingBalance', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'withdrawals', data: BytesLike): Result;
    events: {
        'LogExit(address,uint256,uint256,uint256,uint256)': EventFragment;
        'LogExtend(address,uint256,tuple)': EventFragment;
        'LogInstantExit(address,uint256,uint256)': EventFragment;
        'LogMaxLockPeriod(uint256)': EventFragment;
        'LogMigrate(address,tuple)': EventFragment;
        'LogNewBonusContract(address)': EventFragment;
        'LogNewDistributer(address)': EventFragment;
        'LogNewInitUnlockedPercent(uint256)': EventFragment;
        'LogNewInstantUnlockedPercent(uint256)': EventFragment;
        'LogNewMigrator(address)': EventFragment;
        'LogSetStatus(bool)': EventFragment;
        'LogVest(address,uint256,uint256,tuple)': EventFragment;
        'LogVester(address,bool)': EventFragment;
        'OwnershipTransferred(address,address)': EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: 'LogExit'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'LogExtend'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'LogInstantExit'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'LogMaxLockPeriod'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'LogMigrate'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'LogNewBonusContract'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'LogNewDistributer'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'LogNewInitUnlockedPercent'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'LogNewInstantUnlockedPercent'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'LogNewMigrator'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'LogSetStatus'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'LogVest'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'LogVester'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'OwnershipTransferred'): EventFragment;
}
export interface LogExitEventObject {
    user: string;
    totalLockedAmount: BigNumber;
    amount: BigNumber;
    unlocked: BigNumber;
    penalty: BigNumber;
}
export declare type LogExitEvent = TypedEvent<[string, BigNumber, BigNumber, BigNumber, BigNumber], LogExitEventObject>;
export declare type LogExitEventFilter = TypedEventFilter<LogExitEvent>;
export interface LogExtendEventObject {
    user: string;
    newPeriod: BigNumber;
    newVesting: AccountInfoStructOutput;
}
export declare type LogExtendEvent = TypedEvent<[string, BigNumber, AccountInfoStructOutput], LogExtendEventObject>;
export declare type LogExtendEventFilter = TypedEventFilter<LogExtendEvent>;
export interface LogInstantExitEventObject {
    user: string;
    mintingAmount: BigNumber;
    penalty: BigNumber;
}
export declare type LogInstantExitEvent = TypedEvent<[string, BigNumber, BigNumber], LogInstantExitEventObject>;
export declare type LogInstantExitEventFilter = TypedEventFilter<LogInstantExitEvent>;
export interface LogMaxLockPeriodEventObject {
    newMaxPeriod: BigNumber;
}
export declare type LogMaxLockPeriodEvent = TypedEvent<[BigNumber], LogMaxLockPeriodEventObject>;
export declare type LogMaxLockPeriodEventFilter = TypedEventFilter<LogMaxLockPeriodEvent>;
export interface LogMigrateEventObject {
    user: string;
    vesting: AccountInfoStructOutput;
}
export declare type LogMigrateEvent = TypedEvent<[string, AccountInfoStructOutput], LogMigrateEventObject>;
export declare type LogMigrateEventFilter = TypedEventFilter<LogMigrateEvent>;
export interface LogNewBonusContractEventObject {
    bonusContract: string;
}
export declare type LogNewBonusContractEvent = TypedEvent<[string], LogNewBonusContractEventObject>;
export declare type LogNewBonusContractEventFilter = TypedEventFilter<LogNewBonusContractEvent>;
export interface LogNewDistributerEventObject {
    newDistributer: string;
}
export declare type LogNewDistributerEvent = TypedEvent<[string], LogNewDistributerEventObject>;
export declare type LogNewDistributerEventFilter = TypedEventFilter<LogNewDistributerEvent>;
export interface LogNewInitUnlockedPercentEventObject {
    initUnlockedPercent: BigNumber;
}
export declare type LogNewInitUnlockedPercentEvent = TypedEvent<[BigNumber], LogNewInitUnlockedPercentEventObject>;
export declare type LogNewInitUnlockedPercentEventFilter = TypedEventFilter<LogNewInitUnlockedPercentEvent>;
export interface LogNewInstantUnlockedPercentEventObject {
    instantUnlockPercent: BigNumber;
}
export declare type LogNewInstantUnlockedPercentEvent = TypedEvent<[BigNumber], LogNewInstantUnlockedPercentEventObject>;
export declare type LogNewInstantUnlockedPercentEventFilter = TypedEventFilter<LogNewInstantUnlockedPercentEvent>;
export interface LogNewMigratorEventObject {
    newMigrator: string;
}
export declare type LogNewMigratorEvent = TypedEvent<[string], LogNewMigratorEventObject>;
export declare type LogNewMigratorEventFilter = TypedEventFilter<LogNewMigratorEvent>;
export interface LogSetStatusEventObject {
    pause: boolean;
}
export declare type LogSetStatusEvent = TypedEvent<[boolean], LogSetStatusEventObject>;
export declare type LogSetStatusEventFilter = TypedEventFilter<LogSetStatusEvent>;
export interface LogVestEventObject {
    user: string;
    totalLockedAmount: BigNumber;
    amount: BigNumber;
    vesting: AccountInfoStructOutput;
}
export declare type LogVestEvent = TypedEvent<[string, BigNumber, BigNumber, AccountInfoStructOutput], LogVestEventObject>;
export declare type LogVestEventFilter = TypedEventFilter<LogVestEvent>;
export interface LogVesterEventObject {
    vester: string;
    status: boolean;
}
export declare type LogVesterEvent = TypedEvent<[string, boolean], LogVesterEventObject>;
export declare type LogVesterEventFilter = TypedEventFilter<LogVesterEvent>;
export interface OwnershipTransferredEventObject {
    previousOwner: string;
    newOwner: string;
}
export declare type OwnershipTransferredEvent = TypedEvent<[string, string], OwnershipTransferredEventObject>;
export declare type OwnershipTransferredEventFilter = TypedEventFilter<OwnershipTransferredEvent>;
export interface GroVesting extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: GroVestingInterface;
    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: {
        PERCENTAGE_DECIMAL_FACTOR(overrides?: CallOverrides): Promise<[BigNumber]>;
        TIME_LOCK(overrides?: CallOverrides): Promise<[string]>;
        accountInfos(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & {
            total: BigNumber;
            startTime: BigNumber;
        }>;
        calcPartialExit(account: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber]>;
        distributer(overrides?: CallOverrides): Promise<[string]>;
        exit(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        extend(extension: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        getVestingDates(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber]>;
        globalStartTime(overrides?: CallOverrides): Promise<[BigNumber]>;
        hodlerClaims(overrides?: CallOverrides): Promise<[string]>;
        initUnlockedPercent(overrides?: CallOverrides): Promise<[BigNumber]>;
        initialize(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        initialized(overrides?: CallOverrides): Promise<[boolean]>;
        instantUnlockPercent(overrides?: CallOverrides): Promise<[BigNumber]>;
        lockPeriodFactor(overrides?: CallOverrides): Promise<[BigNumber]>;
        maxLockPeriod(overrides?: CallOverrides): Promise<[BigNumber]>;
        oldVesting(overrides?: CallOverrides): Promise<[string]>;
        owner(overrides?: CallOverrides): Promise<[string]>;
        paused(overrides?: CallOverrides): Promise<[boolean]>;
        renounceOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setDistributer(_distributer: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setHodlerClaims(_hodlerClaims: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setInitUnlockedPercent(_initUnlockedPercent: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setInstantUnlockedPercent(_instantUnlockPercent: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setMaxLockPeriod(maxPeriodFactor: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setStatus(pause: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setVester(vester: PromiseOrValue<string>, status: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        totalBalance(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber] & {
            unvested: BigNumber;
        }>;
        totalGroove(overrides?: CallOverrides): Promise<[BigNumber]>;
        totalLockedAmount(overrides?: CallOverrides): Promise<[BigNumber]>;
        totalWithdrawn(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        userMigrated(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        vest(vest: PromiseOrValue<boolean>, account: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        vestedBalance(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber] & {
            unvested: BigNumber;
        }>;
        vesters(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        vestingBalance(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        withdrawals(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
    };
    PERCENTAGE_DECIMAL_FACTOR(overrides?: CallOverrides): Promise<BigNumber>;
    TIME_LOCK(overrides?: CallOverrides): Promise<string>;
    accountInfos(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & {
        total: BigNumber;
        startTime: BigNumber;
    }>;
    calcPartialExit(account: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber]>;
    distributer(overrides?: CallOverrides): Promise<string>;
    exit(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    extend(extension: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    getVestingDates(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber]>;
    globalStartTime(overrides?: CallOverrides): Promise<BigNumber>;
    hodlerClaims(overrides?: CallOverrides): Promise<string>;
    initUnlockedPercent(overrides?: CallOverrides): Promise<BigNumber>;
    initialize(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    initialized(overrides?: CallOverrides): Promise<boolean>;
    instantUnlockPercent(overrides?: CallOverrides): Promise<BigNumber>;
    lockPeriodFactor(overrides?: CallOverrides): Promise<BigNumber>;
    maxLockPeriod(overrides?: CallOverrides): Promise<BigNumber>;
    oldVesting(overrides?: CallOverrides): Promise<string>;
    owner(overrides?: CallOverrides): Promise<string>;
    paused(overrides?: CallOverrides): Promise<boolean>;
    renounceOwnership(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setDistributer(_distributer: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setHodlerClaims(_hodlerClaims: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setInitUnlockedPercent(_initUnlockedPercent: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setInstantUnlockedPercent(_instantUnlockPercent: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setMaxLockPeriod(maxPeriodFactor: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setStatus(pause: PromiseOrValue<boolean>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setVester(vester: PromiseOrValue<string>, status: PromiseOrValue<boolean>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    totalBalance(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    totalGroove(overrides?: CallOverrides): Promise<BigNumber>;
    totalLockedAmount(overrides?: CallOverrides): Promise<BigNumber>;
    totalWithdrawn(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    userMigrated(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    vest(vest: PromiseOrValue<boolean>, account: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    vestedBalance(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    vesters(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    vestingBalance(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    withdrawals(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    callStatic: {
        PERCENTAGE_DECIMAL_FACTOR(overrides?: CallOverrides): Promise<BigNumber>;
        TIME_LOCK(overrides?: CallOverrides): Promise<string>;
        accountInfos(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & {
            total: BigNumber;
            startTime: BigNumber;
        }>;
        calcPartialExit(account: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber]>;
        distributer(overrides?: CallOverrides): Promise<string>;
        exit(amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        extend(extension: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        getVestingDates(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber]>;
        globalStartTime(overrides?: CallOverrides): Promise<BigNumber>;
        hodlerClaims(overrides?: CallOverrides): Promise<string>;
        initUnlockedPercent(overrides?: CallOverrides): Promise<BigNumber>;
        initialize(overrides?: CallOverrides): Promise<void>;
        initialized(overrides?: CallOverrides): Promise<boolean>;
        instantUnlockPercent(overrides?: CallOverrides): Promise<BigNumber>;
        lockPeriodFactor(overrides?: CallOverrides): Promise<BigNumber>;
        maxLockPeriod(overrides?: CallOverrides): Promise<BigNumber>;
        oldVesting(overrides?: CallOverrides): Promise<string>;
        owner(overrides?: CallOverrides): Promise<string>;
        paused(overrides?: CallOverrides): Promise<boolean>;
        renounceOwnership(overrides?: CallOverrides): Promise<void>;
        setDistributer(_distributer: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setHodlerClaims(_hodlerClaims: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setInitUnlockedPercent(_initUnlockedPercent: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        setInstantUnlockedPercent(_instantUnlockPercent: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        setMaxLockPeriod(maxPeriodFactor: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        setStatus(pause: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
        setVester(vester: PromiseOrValue<string>, status: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
        totalBalance(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        totalGroove(overrides?: CallOverrides): Promise<BigNumber>;
        totalLockedAmount(overrides?: CallOverrides): Promise<BigNumber>;
        totalWithdrawn(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        userMigrated(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        vest(vest: PromiseOrValue<boolean>, account: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        vestedBalance(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        vesters(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        vestingBalance(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        withdrawals(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    };
    filters: {
        'LogExit(address,uint256,uint256,uint256,uint256)'(user?: PromiseOrValue<string> | null, totalLockedAmount?: null, amount?: null, unlocked?: null, penalty?: null): LogExitEventFilter;
        LogExit(user?: PromiseOrValue<string> | null, totalLockedAmount?: null, amount?: null, unlocked?: null, penalty?: null): LogExitEventFilter;
        'LogExtend(address,uint256,tuple)'(user?: PromiseOrValue<string> | null, newPeriod?: null, newVesting?: null): LogExtendEventFilter;
        LogExtend(user?: PromiseOrValue<string> | null, newPeriod?: null, newVesting?: null): LogExtendEventFilter;
        'LogInstantExit(address,uint256,uint256)'(user?: PromiseOrValue<string> | null, mintingAmount?: null, penalty?: null): LogInstantExitEventFilter;
        LogInstantExit(user?: PromiseOrValue<string> | null, mintingAmount?: null, penalty?: null): LogInstantExitEventFilter;
        'LogMaxLockPeriod(uint256)'(newMaxPeriod?: null): LogMaxLockPeriodEventFilter;
        LogMaxLockPeriod(newMaxPeriod?: null): LogMaxLockPeriodEventFilter;
        'LogMigrate(address,tuple)'(user?: PromiseOrValue<string> | null, vesting?: null): LogMigrateEventFilter;
        LogMigrate(user?: PromiseOrValue<string> | null, vesting?: null): LogMigrateEventFilter;
        'LogNewBonusContract(address)'(bonusContract?: null): LogNewBonusContractEventFilter;
        LogNewBonusContract(bonusContract?: null): LogNewBonusContractEventFilter;
        'LogNewDistributer(address)'(newDistributer?: null): LogNewDistributerEventFilter;
        LogNewDistributer(newDistributer?: null): LogNewDistributerEventFilter;
        'LogNewInitUnlockedPercent(uint256)'(initUnlockedPercent?: null): LogNewInitUnlockedPercentEventFilter;
        LogNewInitUnlockedPercent(initUnlockedPercent?: null): LogNewInitUnlockedPercentEventFilter;
        'LogNewInstantUnlockedPercent(uint256)'(instantUnlockPercent?: null): LogNewInstantUnlockedPercentEventFilter;
        LogNewInstantUnlockedPercent(instantUnlockPercent?: null): LogNewInstantUnlockedPercentEventFilter;
        'LogNewMigrator(address)'(newMigrator?: null): LogNewMigratorEventFilter;
        LogNewMigrator(newMigrator?: null): LogNewMigratorEventFilter;
        'LogSetStatus(bool)'(pause?: null): LogSetStatusEventFilter;
        LogSetStatus(pause?: null): LogSetStatusEventFilter;
        'LogVest(address,uint256,uint256,tuple)'(user?: PromiseOrValue<string> | null, totalLockedAmount?: null, amount?: null, vesting?: null): LogVestEventFilter;
        LogVest(user?: PromiseOrValue<string> | null, totalLockedAmount?: null, amount?: null, vesting?: null): LogVestEventFilter;
        'LogVester(address,bool)'(vester?: null, status?: null): LogVesterEventFilter;
        LogVester(vester?: null, status?: null): LogVesterEventFilter;
        'OwnershipTransferred(address,address)'(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
        OwnershipTransferred(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
    };
    estimateGas: {
        PERCENTAGE_DECIMAL_FACTOR(overrides?: CallOverrides): Promise<BigNumber>;
        TIME_LOCK(overrides?: CallOverrides): Promise<BigNumber>;
        accountInfos(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        calcPartialExit(account: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        distributer(overrides?: CallOverrides): Promise<BigNumber>;
        exit(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        extend(extension: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        getVestingDates(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        globalStartTime(overrides?: CallOverrides): Promise<BigNumber>;
        hodlerClaims(overrides?: CallOverrides): Promise<BigNumber>;
        initUnlockedPercent(overrides?: CallOverrides): Promise<BigNumber>;
        initialize(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        initialized(overrides?: CallOverrides): Promise<BigNumber>;
        instantUnlockPercent(overrides?: CallOverrides): Promise<BigNumber>;
        lockPeriodFactor(overrides?: CallOverrides): Promise<BigNumber>;
        maxLockPeriod(overrides?: CallOverrides): Promise<BigNumber>;
        oldVesting(overrides?: CallOverrides): Promise<BigNumber>;
        owner(overrides?: CallOverrides): Promise<BigNumber>;
        paused(overrides?: CallOverrides): Promise<BigNumber>;
        renounceOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setDistributer(_distributer: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setHodlerClaims(_hodlerClaims: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setInitUnlockedPercent(_initUnlockedPercent: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setInstantUnlockedPercent(_instantUnlockPercent: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setMaxLockPeriod(maxPeriodFactor: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setStatus(pause: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setVester(vester: PromiseOrValue<string>, status: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        totalBalance(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        totalGroove(overrides?: CallOverrides): Promise<BigNumber>;
        totalLockedAmount(overrides?: CallOverrides): Promise<BigNumber>;
        totalWithdrawn(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        userMigrated(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        vest(vest: PromiseOrValue<boolean>, account: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        vestedBalance(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        vesters(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        vestingBalance(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        withdrawals(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    };
    populateTransaction: {
        PERCENTAGE_DECIMAL_FACTOR(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        TIME_LOCK(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        accountInfos(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        calcPartialExit(account: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        distributer(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        exit(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        extend(extension: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        getVestingDates(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        globalStartTime(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        hodlerClaims(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        initUnlockedPercent(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        initialize(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        initialized(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        instantUnlockPercent(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        lockPeriodFactor(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        maxLockPeriod(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        oldVesting(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        paused(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        renounceOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setDistributer(_distributer: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setHodlerClaims(_hodlerClaims: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setInitUnlockedPercent(_initUnlockedPercent: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setInstantUnlockedPercent(_instantUnlockPercent: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setMaxLockPeriod(maxPeriodFactor: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setStatus(pause: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setVester(vester: PromiseOrValue<string>, status: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        totalBalance(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        totalGroove(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        totalLockedAmount(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        totalWithdrawn(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        userMigrated(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        vest(vest: PromiseOrValue<boolean>, account: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        vestedBalance(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        vesters(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        vestingBalance(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        withdrawals(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
    };
}
