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 IqHiiqInterface extends utils.Interface {
    functions: {
        'checkpoint()': FunctionFragment;
        'checkpointOtherUser(address)': FunctionFragment;
        'earned(address)': FunctionFragment;
        'emittedToken()': FunctionFragment;
        'emitted_token_address()': FunctionFragment;
        'getYield()': FunctionFragment;
        'getYieldForDuration()': FunctionFragment;
        'greylist(address)': FunctionFragment;
        'greylistAddress(address)': FunctionFragment;
        'initializeDefault()': FunctionFragment;
        'lastTimeYieldApplicable()': FunctionFragment;
        'lastUpdateTime()': FunctionFragment;
        'owner()': FunctionFragment;
        'periodFinish()': FunctionFragment;
        'recoverERC20(address,uint256)': FunctionFragment;
        'renounceOwnership()': FunctionFragment;
        'setPauses(bool)': FunctionFragment;
        'setYieldDuration(uint256)': FunctionFragment;
        'setYieldRate(uint256,bool)': FunctionFragment;
        'sync()': FunctionFragment;
        'totalHiIQSupplyStored()': FunctionFragment;
        'transferOwnership(address)': FunctionFragment;
        'userHiIQCheckpointed(address)': FunctionFragment;
        'userHiIQEndpointCheckpointed(address)': FunctionFragment;
        'userIsInitialized(address)': FunctionFragment;
        'userYieldPerTokenPaid(address)': FunctionFragment;
        'yieldCollectionPaused()': FunctionFragment;
        'yieldDuration()': FunctionFragment;
        'yieldPerHiIQ()': FunctionFragment;
        'yieldPerHiIQStored()': FunctionFragment;
        'yieldRate()': FunctionFragment;
        'yields(address)': FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: 'checkpoint' | 'checkpointOtherUser' | 'earned' | 'emittedToken' | 'emitted_token_address' | 'getYield' | 'getYieldForDuration' | 'greylist' | 'greylistAddress' | 'initializeDefault' | 'lastTimeYieldApplicable' | 'lastUpdateTime' | 'owner' | 'periodFinish' | 'recoverERC20' | 'renounceOwnership' | 'setPauses' | 'setYieldDuration' | 'setYieldRate' | 'sync' | 'totalHiIQSupplyStored' | 'transferOwnership' | 'userHiIQCheckpointed' | 'userHiIQEndpointCheckpointed' | 'userIsInitialized' | 'userYieldPerTokenPaid' | 'yieldCollectionPaused' | 'yieldDuration' | 'yieldPerHiIQ' | 'yieldPerHiIQStored' | 'yieldRate' | 'yields'): FunctionFragment;
    encodeFunctionData(functionFragment: 'checkpoint', values?: undefined): string;
    encodeFunctionData(functionFragment: 'checkpointOtherUser', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'earned', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'emittedToken', values?: undefined): string;
    encodeFunctionData(functionFragment: 'emitted_token_address', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getYield', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getYieldForDuration', values?: undefined): string;
    encodeFunctionData(functionFragment: 'greylist', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'greylistAddress', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'initializeDefault', values?: undefined): string;
    encodeFunctionData(functionFragment: 'lastTimeYieldApplicable', values?: undefined): string;
    encodeFunctionData(functionFragment: 'lastUpdateTime', values?: undefined): string;
    encodeFunctionData(functionFragment: 'owner', values?: undefined): string;
    encodeFunctionData(functionFragment: 'periodFinish', values?: undefined): string;
    encodeFunctionData(functionFragment: 'recoverERC20', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'renounceOwnership', values?: undefined): string;
    encodeFunctionData(functionFragment: 'setPauses', values: [PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: 'setYieldDuration', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'setYieldRate', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: 'sync', values?: undefined): string;
    encodeFunctionData(functionFragment: 'totalHiIQSupplyStored', values?: undefined): string;
    encodeFunctionData(functionFragment: 'transferOwnership', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'userHiIQCheckpointed', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'userHiIQEndpointCheckpointed', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'userIsInitialized', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'userYieldPerTokenPaid', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'yieldCollectionPaused', values?: undefined): string;
    encodeFunctionData(functionFragment: 'yieldDuration', values?: undefined): string;
    encodeFunctionData(functionFragment: 'yieldPerHiIQ', values?: undefined): string;
    encodeFunctionData(functionFragment: 'yieldPerHiIQStored', values?: undefined): string;
    encodeFunctionData(functionFragment: 'yieldRate', values?: undefined): string;
    encodeFunctionData(functionFragment: 'yields', values: [PromiseOrValue<string>]): string;
    decodeFunctionResult(functionFragment: 'checkpoint', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'checkpointOtherUser', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'earned', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'emittedToken', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'emitted_token_address', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getYield', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getYieldForDuration', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'greylist', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'greylistAddress', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'initializeDefault', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'lastTimeYieldApplicable', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'lastUpdateTime', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'periodFinish', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'recoverERC20', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'renounceOwnership', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setPauses', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setYieldDuration', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setYieldRate', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'sync', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'totalHiIQSupplyStored', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'transferOwnership', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'userHiIQCheckpointed', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'userHiIQEndpointCheckpointed', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'userIsInitialized', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'userYieldPerTokenPaid', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'yieldCollectionPaused', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'yieldDuration', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'yieldPerHiIQ', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'yieldPerHiIQStored', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'yieldRate', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'yields', data: BytesLike): Result;
    events: {
        'DefaultInitialization()': EventFragment;
        'OwnershipTransferred(address,address)': EventFragment;
        'RecoveredERC20(address,uint256)': EventFragment;
        'YieldCollected(address,uint256,address)': EventFragment;
        'YieldDurationUpdated(uint256)': EventFragment;
        'YieldPeriodRenewed(address,uint256)': EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: 'DefaultInitialization'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'OwnershipTransferred'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'RecoveredERC20'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'YieldCollected'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'YieldDurationUpdated'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'YieldPeriodRenewed'): EventFragment;
}
export interface DefaultInitializationEventObject {
}
export declare type DefaultInitializationEvent = TypedEvent<[], DefaultInitializationEventObject>;
export declare type DefaultInitializationEventFilter = TypedEventFilter<DefaultInitializationEvent>;
export interface OwnershipTransferredEventObject {
    previousOwner: string;
    newOwner: string;
}
export declare type OwnershipTransferredEvent = TypedEvent<[string, string], OwnershipTransferredEventObject>;
export declare type OwnershipTransferredEventFilter = TypedEventFilter<OwnershipTransferredEvent>;
export interface RecoveredERC20EventObject {
    token: string;
    amount: BigNumber;
}
export declare type RecoveredERC20Event = TypedEvent<[string, BigNumber], RecoveredERC20EventObject>;
export declare type RecoveredERC20EventFilter = TypedEventFilter<RecoveredERC20Event>;
export interface YieldCollectedEventObject {
    user: string;
    yield: BigNumber;
    token_address: string;
}
export declare type YieldCollectedEvent = TypedEvent<[string, BigNumber, string], YieldCollectedEventObject>;
export declare type YieldCollectedEventFilter = TypedEventFilter<YieldCollectedEvent>;
export interface YieldDurationUpdatedEventObject {
    newDuration: BigNumber;
}
export declare type YieldDurationUpdatedEvent = TypedEvent<[BigNumber], YieldDurationUpdatedEventObject>;
export declare type YieldDurationUpdatedEventFilter = TypedEventFilter<YieldDurationUpdatedEvent>;
export interface YieldPeriodRenewedEventObject {
    token: string;
    yieldRate: BigNumber;
}
export declare type YieldPeriodRenewedEvent = TypedEvent<[string, BigNumber], YieldPeriodRenewedEventObject>;
export declare type YieldPeriodRenewedEventFilter = TypedEventFilter<YieldPeriodRenewedEvent>;
export interface IqHiiq extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: IqHiiqInterface;
    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: {
        checkpoint(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        checkpointOtherUser(user_addr: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        earned(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        emittedToken(overrides?: CallOverrides): Promise<[string]>;
        emitted_token_address(overrides?: CallOverrides): Promise<[string]>;
        getYield(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        getYieldForDuration(overrides?: CallOverrides): Promise<[BigNumber]>;
        greylist(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        greylistAddress(_address: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        initializeDefault(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        lastTimeYieldApplicable(overrides?: CallOverrides): Promise<[BigNumber]>;
        lastUpdateTime(overrides?: CallOverrides): Promise<[BigNumber]>;
        owner(overrides?: CallOverrides): Promise<[string]>;
        periodFinish(overrides?: CallOverrides): Promise<[BigNumber]>;
        recoverERC20(tokenAddress: PromiseOrValue<string>, tokenAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        renounceOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setPauses(_yieldCollectionPaused: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setYieldDuration(_yieldDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setYieldRate(_new_rate0: PromiseOrValue<BigNumberish>, sync_too: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        sync(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        totalHiIQSupplyStored(overrides?: CallOverrides): Promise<[BigNumber]>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        userHiIQCheckpointed(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        userHiIQEndpointCheckpointed(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        userIsInitialized(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        userYieldPerTokenPaid(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        yieldCollectionPaused(overrides?: CallOverrides): Promise<[boolean]>;
        yieldDuration(overrides?: CallOverrides): Promise<[BigNumber]>;
        yieldPerHiIQ(overrides?: CallOverrides): Promise<[BigNumber]>;
        yieldPerHiIQStored(overrides?: CallOverrides): Promise<[BigNumber]>;
        yieldRate(overrides?: CallOverrides): Promise<[BigNumber]>;
        yields(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
    };
    checkpoint(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    checkpointOtherUser(user_addr: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    earned(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    emittedToken(overrides?: CallOverrides): Promise<string>;
    emitted_token_address(overrides?: CallOverrides): Promise<string>;
    getYield(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    getYieldForDuration(overrides?: CallOverrides): Promise<BigNumber>;
    greylist(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    greylistAddress(_address: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    initializeDefault(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    lastTimeYieldApplicable(overrides?: CallOverrides): Promise<BigNumber>;
    lastUpdateTime(overrides?: CallOverrides): Promise<BigNumber>;
    owner(overrides?: CallOverrides): Promise<string>;
    periodFinish(overrides?: CallOverrides): Promise<BigNumber>;
    recoverERC20(tokenAddress: PromiseOrValue<string>, tokenAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    renounceOwnership(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setPauses(_yieldCollectionPaused: PromiseOrValue<boolean>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setYieldDuration(_yieldDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setYieldRate(_new_rate0: PromiseOrValue<BigNumberish>, sync_too: PromiseOrValue<boolean>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    sync(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    totalHiIQSupplyStored(overrides?: CallOverrides): Promise<BigNumber>;
    transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    userHiIQCheckpointed(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    userHiIQEndpointCheckpointed(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    userIsInitialized(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    userYieldPerTokenPaid(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    yieldCollectionPaused(overrides?: CallOverrides): Promise<boolean>;
    yieldDuration(overrides?: CallOverrides): Promise<BigNumber>;
    yieldPerHiIQ(overrides?: CallOverrides): Promise<BigNumber>;
    yieldPerHiIQStored(overrides?: CallOverrides): Promise<BigNumber>;
    yieldRate(overrides?: CallOverrides): Promise<BigNumber>;
    yields(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    callStatic: {
        checkpoint(overrides?: CallOverrides): Promise<void>;
        checkpointOtherUser(user_addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        earned(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        emittedToken(overrides?: CallOverrides): Promise<string>;
        emitted_token_address(overrides?: CallOverrides): Promise<string>;
        getYield(overrides?: CallOverrides): Promise<BigNumber>;
        getYieldForDuration(overrides?: CallOverrides): Promise<BigNumber>;
        greylist(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        greylistAddress(_address: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        initializeDefault(overrides?: CallOverrides): Promise<void>;
        lastTimeYieldApplicable(overrides?: CallOverrides): Promise<BigNumber>;
        lastUpdateTime(overrides?: CallOverrides): Promise<BigNumber>;
        owner(overrides?: CallOverrides): Promise<string>;
        periodFinish(overrides?: CallOverrides): Promise<BigNumber>;
        recoverERC20(tokenAddress: PromiseOrValue<string>, tokenAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        renounceOwnership(overrides?: CallOverrides): Promise<void>;
        setPauses(_yieldCollectionPaused: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
        setYieldDuration(_yieldDuration: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        setYieldRate(_new_rate0: PromiseOrValue<BigNumberish>, sync_too: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
        sync(overrides?: CallOverrides): Promise<void>;
        totalHiIQSupplyStored(overrides?: CallOverrides): Promise<BigNumber>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        userHiIQCheckpointed(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        userHiIQEndpointCheckpointed(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        userIsInitialized(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        userYieldPerTokenPaid(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        yieldCollectionPaused(overrides?: CallOverrides): Promise<boolean>;
        yieldDuration(overrides?: CallOverrides): Promise<BigNumber>;
        yieldPerHiIQ(overrides?: CallOverrides): Promise<BigNumber>;
        yieldPerHiIQStored(overrides?: CallOverrides): Promise<BigNumber>;
        yieldRate(overrides?: CallOverrides): Promise<BigNumber>;
        yields(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    };
    filters: {
        'DefaultInitialization()'(): DefaultInitializationEventFilter;
        DefaultInitialization(): DefaultInitializationEventFilter;
        'OwnershipTransferred(address,address)'(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
        OwnershipTransferred(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
        'RecoveredERC20(address,uint256)'(token?: null, amount?: null): RecoveredERC20EventFilter;
        RecoveredERC20(token?: null, amount?: null): RecoveredERC20EventFilter;
        'YieldCollected(address,uint256,address)'(user?: PromiseOrValue<string> | null, _yield?: null, token_address?: null): YieldCollectedEventFilter;
        YieldCollected(user?: PromiseOrValue<string> | null, _yield?: null, token_address?: null): YieldCollectedEventFilter;
        'YieldDurationUpdated(uint256)'(newDuration?: null): YieldDurationUpdatedEventFilter;
        YieldDurationUpdated(newDuration?: null): YieldDurationUpdatedEventFilter;
        'YieldPeriodRenewed(address,uint256)'(token?: null, yieldRate?: null): YieldPeriodRenewedEventFilter;
        YieldPeriodRenewed(token?: null, yieldRate?: null): YieldPeriodRenewedEventFilter;
    };
    estimateGas: {
        checkpoint(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        checkpointOtherUser(user_addr: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        earned(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        emittedToken(overrides?: CallOverrides): Promise<BigNumber>;
        emitted_token_address(overrides?: CallOverrides): Promise<BigNumber>;
        getYield(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        getYieldForDuration(overrides?: CallOverrides): Promise<BigNumber>;
        greylist(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        greylistAddress(_address: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        initializeDefault(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        lastTimeYieldApplicable(overrides?: CallOverrides): Promise<BigNumber>;
        lastUpdateTime(overrides?: CallOverrides): Promise<BigNumber>;
        owner(overrides?: CallOverrides): Promise<BigNumber>;
        periodFinish(overrides?: CallOverrides): Promise<BigNumber>;
        recoverERC20(tokenAddress: PromiseOrValue<string>, tokenAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        renounceOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setPauses(_yieldCollectionPaused: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setYieldDuration(_yieldDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setYieldRate(_new_rate0: PromiseOrValue<BigNumberish>, sync_too: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        sync(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        totalHiIQSupplyStored(overrides?: CallOverrides): Promise<BigNumber>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        userHiIQCheckpointed(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        userHiIQEndpointCheckpointed(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        userIsInitialized(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        userYieldPerTokenPaid(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        yieldCollectionPaused(overrides?: CallOverrides): Promise<BigNumber>;
        yieldDuration(overrides?: CallOverrides): Promise<BigNumber>;
        yieldPerHiIQ(overrides?: CallOverrides): Promise<BigNumber>;
        yieldPerHiIQStored(overrides?: CallOverrides): Promise<BigNumber>;
        yieldRate(overrides?: CallOverrides): Promise<BigNumber>;
        yields(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    };
    populateTransaction: {
        checkpoint(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        checkpointOtherUser(user_addr: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        earned(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        emittedToken(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        emitted_token_address(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getYield(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        getYieldForDuration(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        greylist(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        greylistAddress(_address: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        initializeDefault(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        lastTimeYieldApplicable(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        lastUpdateTime(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        periodFinish(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        recoverERC20(tokenAddress: PromiseOrValue<string>, tokenAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        renounceOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setPauses(_yieldCollectionPaused: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setYieldDuration(_yieldDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setYieldRate(_new_rate0: PromiseOrValue<BigNumberish>, sync_too: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        sync(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        totalHiIQSupplyStored(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        userHiIQCheckpointed(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        userHiIQEndpointCheckpointed(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        userIsInitialized(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        userYieldPerTokenPaid(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        yieldCollectionPaused(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        yieldDuration(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        yieldPerHiIQ(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        yieldPerHiIQStored(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        yieldRate(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        yields(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
    };
}
