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 } from "../../common";
export declare namespace Farm_UniV3 {
    type LockedNFTStruct = {
        token_id: BigNumberish;
        liquidity: BigNumberish;
        start_timestamp: BigNumberish;
        ending_timestamp: BigNumberish;
        lock_multiplier: BigNumberish;
        tick_lower: BigNumberish;
        tick_upper: BigNumberish;
    };
    type LockedNFTStructOutput = [
        BigNumber,
        BigNumber,
        BigNumber,
        BigNumber,
        BigNumber,
        number,
        number
    ] & {
        token_id: BigNumber;
        liquidity: BigNumber;
        start_timestamp: BigNumber;
        ending_timestamp: BigNumber;
        lock_multiplier: BigNumber;
        tick_lower: number;
        tick_upper: number;
    };
}
export interface Farm_UniV3Interface extends utils.Interface {
    functions: {
        "acceptOwnership()": FunctionFragment;
        "addMigrator(address)": FunctionFragment;
        "bypassEmissionFactor()": FunctionFragment;
        "calcCurCombinedWeight(address)": FunctionFragment;
        "combinedWeightOf(address)": FunctionFragment;
        "earned(address)": FunctionFragment;
        "emissionFactor()": FunctionFragment;
        "getReward()": FunctionFragment;
        "getRewardForDuration()": FunctionFragment;
        "greylistAddress(address)": FunctionFragment;
        "ideal_tick()": FunctionFragment;
        "initializeDefault()": FunctionFragment;
        "lockMultiplier(uint256)": FunctionFragment;
        "lock_max_multiplier()": FunctionFragment;
        "lock_time_for_max_multiplier()": FunctionFragment;
        "lock_time_min()": FunctionFragment;
        "lockedLiquidityOf(address)": FunctionFragment;
        "lockedNFTsOf(address)": FunctionFragment;
        "migrationsOn()": FunctionFragment;
        "migrator_stakeLocked_for(address,uint256,uint256,uint256)": FunctionFragment;
        "migrator_withdraw_locked(address,uint256)": FunctionFragment;
        "minVeSumerForMaxBoost(address)": FunctionFragment;
        "nominateNewOwner(address)": FunctionFragment;
        "nominatedOwner()": FunctionFragment;
        "onERC721Received(address,address,uint256,bytes)": FunctionFragment;
        "owner()": FunctionFragment;
        "recoverERC20(address,uint256)": FunctionFragment;
        "recoverERC721(address,uint256)": FunctionFragment;
        "removeMigrator(address)": FunctionFragment;
        "rewardRate0()": FunctionFragment;
        "reward_rate_manual()": FunctionFragment;
        "rewardsCollectionPaused()": FunctionFragment;
        "rewardsDuration()": FunctionFragment;
        "setLockedNFTTimeForMinAndMaxMultiplier(uint256,uint256)": FunctionFragment;
        "setManualRewardRate(uint256,bool)": FunctionFragment;
        "setMultipliers(uint256,uint256,uint256)": FunctionFragment;
        "setPauses(bool,bool,bool)": FunctionFragment;
        "setTWAP(uint32)": FunctionFragment;
        "setTimelock(address)": FunctionFragment;
        "stakeLocked(uint256,uint256)": FunctionFragment;
        "stakerAllowMigrator(address)": FunctionFragment;
        "stakerDisallowMigrator(address)": FunctionFragment;
        "stakesUnlocked()": FunctionFragment;
        "stakingPaused()": FunctionFragment;
        "sync()": FunctionFragment;
        "timelock_address()": FunctionFragment;
        "toggleEmissionFactorBypass()": FunctionFragment;
        "toggleMigrations()": FunctionFragment;
        "totalCombinedWeight()": FunctionFragment;
        "totalLiquidityLocked()": FunctionFragment;
        "twap_duration()": FunctionFragment;
        "uni_required_fee()": FunctionFragment;
        "uni_tick_lower()": FunctionFragment;
        "uni_tick_upper()": FunctionFragment;
        "uni_token0()": FunctionFragment;
        "uni_token1()": FunctionFragment;
        "unlockStakes()": FunctionFragment;
        "userStakedSumer(address)": FunctionFragment;
        "veSumerMultiplier(address)": FunctionFragment;
        "veSumer_max_multiplier()": FunctionFragment;
        "veSumer_per_sumer_for_max_boost()": FunctionFragment;
        "withdrawLocked(uint256)": FunctionFragment;
        "withdrawalsPaused()": FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: "acceptOwnership" | "addMigrator" | "bypassEmissionFactor" | "calcCurCombinedWeight" | "combinedWeightOf" | "earned" | "emissionFactor" | "getReward" | "getRewardForDuration" | "greylistAddress" | "ideal_tick" | "initializeDefault" | "lockMultiplier" | "lock_max_multiplier" | "lock_time_for_max_multiplier" | "lock_time_min" | "lockedLiquidityOf" | "lockedNFTsOf" | "migrationsOn" | "migrator_stakeLocked_for" | "migrator_withdraw_locked" | "minVeSumerForMaxBoost" | "nominateNewOwner" | "nominatedOwner" | "onERC721Received" | "owner" | "recoverERC20" | "recoverERC721" | "removeMigrator" | "rewardRate0" | "reward_rate_manual" | "rewardsCollectionPaused" | "rewardsDuration" | "setLockedNFTTimeForMinAndMaxMultiplier" | "setManualRewardRate" | "setMultipliers" | "setPauses" | "setTWAP" | "setTimelock" | "stakeLocked" | "stakerAllowMigrator" | "stakerDisallowMigrator" | "stakesUnlocked" | "stakingPaused" | "sync" | "timelock_address" | "toggleEmissionFactorBypass" | "toggleMigrations" | "totalCombinedWeight" | "totalLiquidityLocked" | "twap_duration" | "uni_required_fee" | "uni_tick_lower" | "uni_tick_upper" | "uni_token0" | "uni_token1" | "unlockStakes" | "userStakedSumer" | "veSumerMultiplier" | "veSumer_max_multiplier" | "veSumer_per_sumer_for_max_boost" | "withdrawLocked" | "withdrawalsPaused"): FunctionFragment;
    encodeFunctionData(functionFragment: "acceptOwnership", values?: undefined): string;
    encodeFunctionData(functionFragment: "addMigrator", values: [string]): string;
    encodeFunctionData(functionFragment: "bypassEmissionFactor", values?: undefined): string;
    encodeFunctionData(functionFragment: "calcCurCombinedWeight", values: [string]): string;
    encodeFunctionData(functionFragment: "combinedWeightOf", values: [string]): string;
    encodeFunctionData(functionFragment: "earned", values: [string]): string;
    encodeFunctionData(functionFragment: "emissionFactor", values?: undefined): string;
    encodeFunctionData(functionFragment: "getReward", values?: undefined): string;
    encodeFunctionData(functionFragment: "getRewardForDuration", values?: undefined): string;
    encodeFunctionData(functionFragment: "greylistAddress", values: [string]): string;
    encodeFunctionData(functionFragment: "ideal_tick", values?: undefined): string;
    encodeFunctionData(functionFragment: "initializeDefault", values?: undefined): string;
    encodeFunctionData(functionFragment: "lockMultiplier", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "lock_max_multiplier", values?: undefined): string;
    encodeFunctionData(functionFragment: "lock_time_for_max_multiplier", values?: undefined): string;
    encodeFunctionData(functionFragment: "lock_time_min", values?: undefined): string;
    encodeFunctionData(functionFragment: "lockedLiquidityOf", values: [string]): string;
    encodeFunctionData(functionFragment: "lockedNFTsOf", values: [string]): string;
    encodeFunctionData(functionFragment: "migrationsOn", values?: undefined): string;
    encodeFunctionData(functionFragment: "migrator_stakeLocked_for", values: [string, BigNumberish, BigNumberish, BigNumberish]): string;
    encodeFunctionData(functionFragment: "migrator_withdraw_locked", values: [string, BigNumberish]): string;
    encodeFunctionData(functionFragment: "minVeSumerForMaxBoost", values: [string]): string;
    encodeFunctionData(functionFragment: "nominateNewOwner", values: [string]): string;
    encodeFunctionData(functionFragment: "nominatedOwner", values?: undefined): string;
    encodeFunctionData(functionFragment: "onERC721Received", values: [string, string, BigNumberish, BytesLike]): string;
    encodeFunctionData(functionFragment: "owner", values?: undefined): string;
    encodeFunctionData(functionFragment: "recoverERC20", values: [string, BigNumberish]): string;
    encodeFunctionData(functionFragment: "recoverERC721", values: [string, BigNumberish]): string;
    encodeFunctionData(functionFragment: "removeMigrator", values: [string]): string;
    encodeFunctionData(functionFragment: "rewardRate0", values?: undefined): string;
    encodeFunctionData(functionFragment: "reward_rate_manual", values?: undefined): string;
    encodeFunctionData(functionFragment: "rewardsCollectionPaused", values?: undefined): string;
    encodeFunctionData(functionFragment: "rewardsDuration", values?: undefined): string;
    encodeFunctionData(functionFragment: "setLockedNFTTimeForMinAndMaxMultiplier", values: [BigNumberish, BigNumberish]): string;
    encodeFunctionData(functionFragment: "setManualRewardRate", values: [BigNumberish, boolean]): string;
    encodeFunctionData(functionFragment: "setMultipliers", values: [BigNumberish, BigNumberish, BigNumberish]): string;
    encodeFunctionData(functionFragment: "setPauses", values: [boolean, boolean, boolean]): string;
    encodeFunctionData(functionFragment: "setTWAP", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "setTimelock", values: [string]): string;
    encodeFunctionData(functionFragment: "stakeLocked", values: [BigNumberish, BigNumberish]): string;
    encodeFunctionData(functionFragment: "stakerAllowMigrator", values: [string]): string;
    encodeFunctionData(functionFragment: "stakerDisallowMigrator", values: [string]): string;
    encodeFunctionData(functionFragment: "stakesUnlocked", values?: undefined): string;
    encodeFunctionData(functionFragment: "stakingPaused", values?: undefined): string;
    encodeFunctionData(functionFragment: "sync", values?: undefined): string;
    encodeFunctionData(functionFragment: "timelock_address", values?: undefined): string;
    encodeFunctionData(functionFragment: "toggleEmissionFactorBypass", values?: undefined): string;
    encodeFunctionData(functionFragment: "toggleMigrations", values?: undefined): string;
    encodeFunctionData(functionFragment: "totalCombinedWeight", values?: undefined): string;
    encodeFunctionData(functionFragment: "totalLiquidityLocked", values?: undefined): string;
    encodeFunctionData(functionFragment: "twap_duration", values?: undefined): string;
    encodeFunctionData(functionFragment: "uni_required_fee", values?: undefined): string;
    encodeFunctionData(functionFragment: "uni_tick_lower", values?: undefined): string;
    encodeFunctionData(functionFragment: "uni_tick_upper", values?: undefined): string;
    encodeFunctionData(functionFragment: "uni_token0", values?: undefined): string;
    encodeFunctionData(functionFragment: "uni_token1", values?: undefined): string;
    encodeFunctionData(functionFragment: "unlockStakes", values?: undefined): string;
    encodeFunctionData(functionFragment: "userStakedSumer", values: [string]): string;
    encodeFunctionData(functionFragment: "veSumerMultiplier", values: [string]): string;
    encodeFunctionData(functionFragment: "veSumer_max_multiplier", values?: undefined): string;
    encodeFunctionData(functionFragment: "veSumer_per_sumer_for_max_boost", values?: undefined): string;
    encodeFunctionData(functionFragment: "withdrawLocked", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "withdrawalsPaused", values?: undefined): string;
    decodeFunctionResult(functionFragment: "acceptOwnership", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "addMigrator", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "bypassEmissionFactor", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "calcCurCombinedWeight", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "combinedWeightOf", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "earned", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "emissionFactor", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getReward", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getRewardForDuration", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "greylistAddress", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "ideal_tick", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "initializeDefault", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "lockMultiplier", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "lock_max_multiplier", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "lock_time_for_max_multiplier", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "lock_time_min", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "lockedLiquidityOf", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "lockedNFTsOf", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "migrationsOn", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "migrator_stakeLocked_for", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "migrator_withdraw_locked", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "minVeSumerForMaxBoost", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "nominateNewOwner", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "nominatedOwner", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "onERC721Received", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "recoverERC20", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "recoverERC721", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "removeMigrator", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "rewardRate0", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "reward_rate_manual", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "rewardsCollectionPaused", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "rewardsDuration", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setLockedNFTTimeForMinAndMaxMultiplier", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setManualRewardRate", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setMultipliers", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setPauses", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setTWAP", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setTimelock", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "stakeLocked", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "stakerAllowMigrator", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "stakerDisallowMigrator", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "stakesUnlocked", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "stakingPaused", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "sync", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "timelock_address", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "toggleEmissionFactorBypass", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "toggleMigrations", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "totalCombinedWeight", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "totalLiquidityLocked", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "twap_duration", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "uni_required_fee", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "uni_tick_lower", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "uni_tick_upper", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "uni_token0", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "uni_token1", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "unlockStakes", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "userStakedSumer", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "veSumerMultiplier", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "veSumer_max_multiplier", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "veSumer_per_sumer_for_max_boost", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "withdrawLocked", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "withdrawalsPaused", data: BytesLike): Result;
    events: {
        "DefaultInitialization()": EventFragment;
        "LockNFT(address,uint256,uint256,uint256,address)": EventFragment;
        "LockedNFTMaxMultiplierUpdated(uint256)": EventFragment;
        "LockedNFTMinTime(uint256)": EventFragment;
        "LockedNFTTimeForMaxMultiplier(uint256)": EventFragment;
        "MaxVeSumerMultiplier(uint256)": EventFragment;
        "OwnerChanged(address,address)": EventFragment;
        "OwnerNominated(address)": EventFragment;
        "RecoveredERC20(address,uint256)": EventFragment;
        "RecoveredERC721(address,uint256)": EventFragment;
        "RewardPaid(address,uint256,uint256,uint256,address,address)": EventFragment;
        "RewardsPeriodRenewed(address)": EventFragment;
        "WithdrawLocked(address,uint256,uint256,address)": EventFragment;
        "veSumerPctForMaxBoostUpdated(uint256)": EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: "DefaultInitialization"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "LockNFT"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "LockedNFTMaxMultiplierUpdated"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "LockedNFTMinTime"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "LockedNFTTimeForMaxMultiplier"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "MaxVeSumerMultiplier"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "OwnerChanged"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "OwnerNominated"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "RecoveredERC20"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "RecoveredERC721"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "RewardPaid"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "RewardsPeriodRenewed"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "WithdrawLocked"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "veSumerPctForMaxBoostUpdated"): EventFragment;
}
export interface DefaultInitializationEventObject {
}
export declare type DefaultInitializationEvent = TypedEvent<[
], DefaultInitializationEventObject>;
export declare type DefaultInitializationEventFilter = TypedEventFilter<DefaultInitializationEvent>;
export interface LockNFTEventObject {
    user: string;
    liquidity: BigNumber;
    token_id: BigNumber;
    secs: BigNumber;
    source_address: string;
}
export declare type LockNFTEvent = TypedEvent<[
    string,
    BigNumber,
    BigNumber,
    BigNumber,
    string
], LockNFTEventObject>;
export declare type LockNFTEventFilter = TypedEventFilter<LockNFTEvent>;
export interface LockedNFTMaxMultiplierUpdatedEventObject {
    multiplier: BigNumber;
}
export declare type LockedNFTMaxMultiplierUpdatedEvent = TypedEvent<[
    BigNumber
], LockedNFTMaxMultiplierUpdatedEventObject>;
export declare type LockedNFTMaxMultiplierUpdatedEventFilter = TypedEventFilter<LockedNFTMaxMultiplierUpdatedEvent>;
export interface LockedNFTMinTimeEventObject {
    secs: BigNumber;
}
export declare type LockedNFTMinTimeEvent = TypedEvent<[
    BigNumber
], LockedNFTMinTimeEventObject>;
export declare type LockedNFTMinTimeEventFilter = TypedEventFilter<LockedNFTMinTimeEvent>;
export interface LockedNFTTimeForMaxMultiplierEventObject {
    secs: BigNumber;
}
export declare type LockedNFTTimeForMaxMultiplierEvent = TypedEvent<[
    BigNumber
], LockedNFTTimeForMaxMultiplierEventObject>;
export declare type LockedNFTTimeForMaxMultiplierEventFilter = TypedEventFilter<LockedNFTTimeForMaxMultiplierEvent>;
export interface MaxVeSumerMultiplierEventObject {
    multiplier: BigNumber;
}
export declare type MaxVeSumerMultiplierEvent = TypedEvent<[
    BigNumber
], MaxVeSumerMultiplierEventObject>;
export declare type MaxVeSumerMultiplierEventFilter = TypedEventFilter<MaxVeSumerMultiplierEvent>;
export interface OwnerChangedEventObject {
    oldOwner: string;
    newOwner: string;
}
export declare type OwnerChangedEvent = TypedEvent<[
    string,
    string
], OwnerChangedEventObject>;
export declare type OwnerChangedEventFilter = TypedEventFilter<OwnerChangedEvent>;
export interface OwnerNominatedEventObject {
    newOwner: string;
}
export declare type OwnerNominatedEvent = TypedEvent<[
    string
], OwnerNominatedEventObject>;
export declare type OwnerNominatedEventFilter = TypedEventFilter<OwnerNominatedEvent>;
export interface RecoveredERC20EventObject {
    token: string;
    amount: BigNumber;
}
export declare type RecoveredERC20Event = TypedEvent<[
    string,
    BigNumber
], RecoveredERC20EventObject>;
export declare type RecoveredERC20EventFilter = TypedEventFilter<RecoveredERC20Event>;
export interface RecoveredERC721EventObject {
    token: string;
    token_id: BigNumber;
}
export declare type RecoveredERC721Event = TypedEvent<[
    string,
    BigNumber
], RecoveredERC721EventObject>;
export declare type RecoveredERC721EventFilter = TypedEventFilter<RecoveredERC721Event>;
export interface RewardPaidEventObject {
    user: string;
    farm_reward: BigNumber;
    liq_tok0_reward: BigNumber;
    liq_tok1_reward: BigNumber;
    token_address: string;
    destination_address: string;
}
export declare type RewardPaidEvent = TypedEvent<[
    string,
    BigNumber,
    BigNumber,
    BigNumber,
    string,
    string
], RewardPaidEventObject>;
export declare type RewardPaidEventFilter = TypedEventFilter<RewardPaidEvent>;
export interface RewardsPeriodRenewedEventObject {
    token: string;
}
export declare type RewardsPeriodRenewedEvent = TypedEvent<[
    string
], RewardsPeriodRenewedEventObject>;
export declare type RewardsPeriodRenewedEventFilter = TypedEventFilter<RewardsPeriodRenewedEvent>;
export interface WithdrawLockedEventObject {
    user: string;
    liquidity: BigNumber;
    token_id: BigNumber;
    destination_address: string;
}
export declare type WithdrawLockedEvent = TypedEvent<[
    string,
    BigNumber,
    BigNumber,
    string
], WithdrawLockedEventObject>;
export declare type WithdrawLockedEventFilter = TypedEventFilter<WithdrawLockedEvent>;
export interface veSumerPctForMaxBoostUpdatedEventObject {
    scale_factor: BigNumber;
}
export declare type veSumerPctForMaxBoostUpdatedEvent = TypedEvent<[
    BigNumber
], veSumerPctForMaxBoostUpdatedEventObject>;
export declare type veSumerPctForMaxBoostUpdatedEventFilter = TypedEventFilter<veSumerPctForMaxBoostUpdatedEvent>;
export interface Farm_UniV3 extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: Farm_UniV3Interface;
    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: {
        acceptOwnership(overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        addMigrator(migrator_address: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        bypassEmissionFactor(overrides?: CallOverrides): Promise<[boolean]>;
        calcCurCombinedWeight(account: string, overrides?: CallOverrides): Promise<[
            BigNumber,
            BigNumber,
            BigNumber
        ] & {
            old_combined_weight: BigNumber;
            new_veSumer_multiplier: BigNumber;
            new_combined_weight: BigNumber;
        }>;
        combinedWeightOf(account: string, overrides?: CallOverrides): Promise<[BigNumber]>;
        earned(account: string, overrides?: CallOverrides): Promise<[BigNumber]>;
        emissionFactor(overrides?: CallOverrides): Promise<[BigNumber] & {
            emission_factor: BigNumber;
        }>;
        getReward(overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        getRewardForDuration(overrides?: CallOverrides): Promise<[BigNumber]>;
        greylistAddress(_address: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        ideal_tick(overrides?: CallOverrides): Promise<[number]>;
        initializeDefault(overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        lockMultiplier(secs: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>;
        lock_max_multiplier(overrides?: CallOverrides): Promise<[BigNumber]>;
        lock_time_for_max_multiplier(overrides?: CallOverrides): Promise<[BigNumber]>;
        lock_time_min(overrides?: CallOverrides): Promise<[BigNumber]>;
        lockedLiquidityOf(account: string, overrides?: CallOverrides): Promise<[BigNumber]>;
        lockedNFTsOf(account: string, overrides?: CallOverrides): Promise<[Farm_UniV3.LockedNFTStructOutput[]]>;
        migrationsOn(overrides?: CallOverrides): Promise<[boolean]>;
        migrator_stakeLocked_for(staker_address: string, token_id: BigNumberish, secs: BigNumberish, start_timestamp: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        migrator_withdraw_locked(staker_address: string, token_id: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        minVeSumerForMaxBoost(account: string, overrides?: CallOverrides): Promise<[BigNumber]>;
        nominateNewOwner(_owner: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        nominatedOwner(overrides?: CallOverrides): Promise<[string]>;
        onERC721Received(arg0: string, arg1: string, arg2: BigNumberish, arg3: BytesLike, overrides?: CallOverrides): Promise<[string]>;
        owner(overrides?: CallOverrides): Promise<[string]>;
        recoverERC20(tokenAddress: string, tokenAmount: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        recoverERC721(tokenAddress: string, token_id: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        removeMigrator(migrator_address: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        rewardRate0(overrides?: CallOverrides): Promise<[BigNumber] & {
            rwd_rate: BigNumber;
        }>;
        reward_rate_manual(overrides?: CallOverrides): Promise<[BigNumber]>;
        rewardsCollectionPaused(overrides?: CallOverrides): Promise<[boolean]>;
        rewardsDuration(overrides?: CallOverrides): Promise<[BigNumber]>;
        setLockedNFTTimeForMinAndMaxMultiplier(_lock_time_for_max_multiplier: BigNumberish, _lock_time_min: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        setManualRewardRate(_reward_rate_manual: BigNumberish, sync_too: boolean, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        setMultipliers(_lock_max_multiplier: BigNumberish, _veSumer_max_multiplier: BigNumberish, _veSumer_per_sumer_for_max_boost: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        setPauses(_stakingPaused: boolean, _withdrawalsPaused: boolean, _rewardsCollectionPaused: boolean, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        setTWAP(_new_twap_duration: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        setTimelock(_new_timelock: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        stakeLocked(token_id: BigNumberish, secs: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        stakerAllowMigrator(migrator_address: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        stakerDisallowMigrator(migrator_address: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        stakesUnlocked(overrides?: CallOverrides): Promise<[boolean]>;
        stakingPaused(overrides?: CallOverrides): Promise<[boolean]>;
        sync(overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        timelock_address(overrides?: CallOverrides): Promise<[string]>;
        toggleEmissionFactorBypass(overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        toggleMigrations(overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        totalCombinedWeight(overrides?: CallOverrides): Promise<[BigNumber]>;
        totalLiquidityLocked(overrides?: CallOverrides): Promise<[BigNumber]>;
        twap_duration(overrides?: CallOverrides): Promise<[number]>;
        uni_required_fee(overrides?: CallOverrides): Promise<[number]>;
        uni_tick_lower(overrides?: CallOverrides): Promise<[number]>;
        uni_tick_upper(overrides?: CallOverrides): Promise<[number]>;
        uni_token0(overrides?: CallOverrides): Promise<[string]>;
        uni_token1(overrides?: CallOverrides): Promise<[string]>;
        unlockStakes(overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        userStakedSumer(account: string, overrides?: CallOverrides): Promise<[BigNumber]>;
        veSumerMultiplier(account: string, overrides?: CallOverrides): Promise<[BigNumber]>;
        veSumer_max_multiplier(overrides?: CallOverrides): Promise<[BigNumber]>;
        veSumer_per_sumer_for_max_boost(overrides?: CallOverrides): Promise<[BigNumber]>;
        withdrawLocked(token_id: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<ContractTransaction>;
        withdrawalsPaused(overrides?: CallOverrides): Promise<[boolean]>;
    };
    acceptOwnership(overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    addMigrator(migrator_address: string, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    bypassEmissionFactor(overrides?: CallOverrides): Promise<boolean>;
    calcCurCombinedWeight(account: string, overrides?: CallOverrides): Promise<[
        BigNumber,
        BigNumber,
        BigNumber
    ] & {
        old_combined_weight: BigNumber;
        new_veSumer_multiplier: BigNumber;
        new_combined_weight: BigNumber;
    }>;
    combinedWeightOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
    earned(account: string, overrides?: CallOverrides): Promise<BigNumber>;
    emissionFactor(overrides?: CallOverrides): Promise<BigNumber>;
    getReward(overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    getRewardForDuration(overrides?: CallOverrides): Promise<BigNumber>;
    greylistAddress(_address: string, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    ideal_tick(overrides?: CallOverrides): Promise<number>;
    initializeDefault(overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    lockMultiplier(secs: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
    lock_max_multiplier(overrides?: CallOverrides): Promise<BigNumber>;
    lock_time_for_max_multiplier(overrides?: CallOverrides): Promise<BigNumber>;
    lock_time_min(overrides?: CallOverrides): Promise<BigNumber>;
    lockedLiquidityOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
    lockedNFTsOf(account: string, overrides?: CallOverrides): Promise<Farm_UniV3.LockedNFTStructOutput[]>;
    migrationsOn(overrides?: CallOverrides): Promise<boolean>;
    migrator_stakeLocked_for(staker_address: string, token_id: BigNumberish, secs: BigNumberish, start_timestamp: BigNumberish, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    migrator_withdraw_locked(staker_address: string, token_id: BigNumberish, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    minVeSumerForMaxBoost(account: string, overrides?: CallOverrides): Promise<BigNumber>;
    nominateNewOwner(_owner: string, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    nominatedOwner(overrides?: CallOverrides): Promise<string>;
    onERC721Received(arg0: string, arg1: string, arg2: BigNumberish, arg3: BytesLike, overrides?: CallOverrides): Promise<string>;
    owner(overrides?: CallOverrides): Promise<string>;
    recoverERC20(tokenAddress: string, tokenAmount: BigNumberish, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    recoverERC721(tokenAddress: string, token_id: BigNumberish, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    removeMigrator(migrator_address: string, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    rewardRate0(overrides?: CallOverrides): Promise<BigNumber>;
    reward_rate_manual(overrides?: CallOverrides): Promise<BigNumber>;
    rewardsCollectionPaused(overrides?: CallOverrides): Promise<boolean>;
    rewardsDuration(overrides?: CallOverrides): Promise<BigNumber>;
    setLockedNFTTimeForMinAndMaxMultiplier(_lock_time_for_max_multiplier: BigNumberish, _lock_time_min: BigNumberish, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    setManualRewardRate(_reward_rate_manual: BigNumberish, sync_too: boolean, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    setMultipliers(_lock_max_multiplier: BigNumberish, _veSumer_max_multiplier: BigNumberish, _veSumer_per_sumer_for_max_boost: BigNumberish, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    setPauses(_stakingPaused: boolean, _withdrawalsPaused: boolean, _rewardsCollectionPaused: boolean, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    setTWAP(_new_twap_duration: BigNumberish, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    setTimelock(_new_timelock: string, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    stakeLocked(token_id: BigNumberish, secs: BigNumberish, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    stakerAllowMigrator(migrator_address: string, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    stakerDisallowMigrator(migrator_address: string, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    stakesUnlocked(overrides?: CallOverrides): Promise<boolean>;
    stakingPaused(overrides?: CallOverrides): Promise<boolean>;
    sync(overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    timelock_address(overrides?: CallOverrides): Promise<string>;
    toggleEmissionFactorBypass(overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    toggleMigrations(overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    totalCombinedWeight(overrides?: CallOverrides): Promise<BigNumber>;
    totalLiquidityLocked(overrides?: CallOverrides): Promise<BigNumber>;
    twap_duration(overrides?: CallOverrides): Promise<number>;
    uni_required_fee(overrides?: CallOverrides): Promise<number>;
    uni_tick_lower(overrides?: CallOverrides): Promise<number>;
    uni_tick_upper(overrides?: CallOverrides): Promise<number>;
    uni_token0(overrides?: CallOverrides): Promise<string>;
    uni_token1(overrides?: CallOverrides): Promise<string>;
    unlockStakes(overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    userStakedSumer(account: string, overrides?: CallOverrides): Promise<BigNumber>;
    veSumerMultiplier(account: string, overrides?: CallOverrides): Promise<BigNumber>;
    veSumer_max_multiplier(overrides?: CallOverrides): Promise<BigNumber>;
    veSumer_per_sumer_for_max_boost(overrides?: CallOverrides): Promise<BigNumber>;
    withdrawLocked(token_id: BigNumberish, overrides?: Overrides & {
        from?: string | Promise<string>;
    }): Promise<ContractTransaction>;
    withdrawalsPaused(overrides?: CallOverrides): Promise<boolean>;
    callStatic: {
        acceptOwnership(overrides?: CallOverrides): Promise<void>;
        addMigrator(migrator_address: string, overrides?: CallOverrides): Promise<void>;
        bypassEmissionFactor(overrides?: CallOverrides): Promise<boolean>;
        calcCurCombinedWeight(account: string, overrides?: CallOverrides): Promise<[
            BigNumber,
            BigNumber,
            BigNumber
        ] & {
            old_combined_weight: BigNumber;
            new_veSumer_multiplier: BigNumber;
            new_combined_weight: BigNumber;
        }>;
        combinedWeightOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
        earned(account: string, overrides?: CallOverrides): Promise<BigNumber>;
        emissionFactor(overrides?: CallOverrides): Promise<BigNumber>;
        getReward(overrides?: CallOverrides): Promise<BigNumber>;
        getRewardForDuration(overrides?: CallOverrides): Promise<BigNumber>;
        greylistAddress(_address: string, overrides?: CallOverrides): Promise<void>;
        ideal_tick(overrides?: CallOverrides): Promise<number>;
        initializeDefault(overrides?: CallOverrides): Promise<void>;
        lockMultiplier(secs: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        lock_max_multiplier(overrides?: CallOverrides): Promise<BigNumber>;
        lock_time_for_max_multiplier(overrides?: CallOverrides): Promise<BigNumber>;
        lock_time_min(overrides?: CallOverrides): Promise<BigNumber>;
        lockedLiquidityOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
        lockedNFTsOf(account: string, overrides?: CallOverrides): Promise<Farm_UniV3.LockedNFTStructOutput[]>;
        migrationsOn(overrides?: CallOverrides): Promise<boolean>;
        migrator_stakeLocked_for(staker_address: string, token_id: BigNumberish, secs: BigNumberish, start_timestamp: BigNumberish, overrides?: CallOverrides): Promise<void>;
        migrator_withdraw_locked(staker_address: string, token_id: BigNumberish, overrides?: CallOverrides): Promise<void>;
        minVeSumerForMaxBoost(account: string, overrides?: CallOverrides): Promise<BigNumber>;
        nominateNewOwner(_owner: string, overrides?: CallOverrides): Promise<void>;
        nominatedOwner(overrides?: CallOverrides): Promise<string>;
        onERC721Received(arg0: string, arg1: string, arg2: BigNumberish, arg3: BytesLike, overrides?: CallOverrides): Promise<string>;
        owner(overrides?: CallOverrides): Promise<string>;
        recoverERC20(tokenAddress: string, tokenAmount: BigNumberish, overrides?: CallOverrides): Promise<void>;
        recoverERC721(tokenAddress: string, token_id: BigNumberish, overrides?: CallOverrides): Promise<void>;
        removeMigrator(migrator_address: string, overrides?: CallOverrides): Promise<void>;
        rewardRate0(overrides?: CallOverrides): Promise<BigNumber>;
        reward_rate_manual(overrides?: CallOverrides): Promise<BigNumber>;
        rewardsCollectionPaused(overrides?: CallOverrides): Promise<boolean>;
        rewardsDuration(overrides?: CallOverrides): Promise<BigNumber>;
        setLockedNFTTimeForMinAndMaxMultiplier(_lock_time_for_max_multiplier: BigNumberish, _lock_time_min: BigNumberish, overrides?: CallOverrides): Promise<void>;
        setManualRewardRate(_reward_rate_manual: BigNumberish, sync_too: boolean, overrides?: CallOverrides): Promise<void>;
        setMultipliers(_lock_max_multiplier: BigNumberish, _veSumer_max_multiplier: BigNumberish, _veSumer_per_sumer_for_max_boost: BigNumberish, overrides?: CallOverrides): Promise<void>;
        setPauses(_stakingPaused: boolean, _withdrawalsPaused: boolean, _rewardsCollectionPaused: boolean, overrides?: CallOverrides): Promise<void>;
        setTWAP(_new_twap_duration: BigNumberish, overrides?: CallOverrides): Promise<void>;
        setTimelock(_new_timelock: string, overrides?: CallOverrides): Promise<void>;
        stakeLocked(token_id: BigNumberish, secs: BigNumberish, overrides?: CallOverrides): Promise<void>;
        stakerAllowMigrator(migrator_address: string, overrides?: CallOverrides): Promise<void>;
        stakerDisallowMigrator(migrator_address: string, overrides?: CallOverrides): Promise<void>;
        stakesUnlocked(overrides?: CallOverrides): Promise<boolean>;
        stakingPaused(overrides?: CallOverrides): Promise<boolean>;
        sync(overrides?: CallOverrides): Promise<void>;
        timelock_address(overrides?: CallOverrides): Promise<string>;
        toggleEmissionFactorBypass(overrides?: CallOverrides): Promise<void>;
        toggleMigrations(overrides?: CallOverrides): Promise<void>;
        totalCombinedWeight(overrides?: CallOverrides): Promise<BigNumber>;
        totalLiquidityLocked(overrides?: CallOverrides): Promise<BigNumber>;
        twap_duration(overrides?: CallOverrides): Promise<number>;
        uni_required_fee(overrides?: CallOverrides): Promise<number>;
        uni_tick_lower(overrides?: CallOverrides): Promise<number>;
        uni_tick_upper(overrides?: CallOverrides): Promise<number>;
        uni_token0(overrides?: CallOverrides): Promise<string>;
        uni_token1(overrides?: CallOverrides): Promise<string>;
        unlockStakes(overrides?: CallOverrides): Promise<void>;
        userStakedSumer(account: string, overrides?: CallOverrides): Promise<BigNumber>;
        veSumerMultiplier(account: string, overrides?: CallOverrides): Promise<BigNumber>;
        veSumer_max_multiplier(overrides?: CallOverrides): Promise<BigNumber>;
        veSumer_per_sumer_for_max_boost(overrides?: CallOverrides): Promise<BigNumber>;
        withdrawLocked(token_id: BigNumberish, overrides?: CallOverrides): Promise<void>;
        withdrawalsPaused(overrides?: CallOverrides): Promise<boolean>;
    };
    filters: {
        "DefaultInitialization()"(): DefaultInitializationEventFilter;
        DefaultInitialization(): DefaultInitializationEventFilter;
        "LockNFT(address,uint256,uint256,uint256,address)"(user?: string | null, liquidity?: null, token_id?: null, secs?: null, source_address?: null): LockNFTEventFilter;
        LockNFT(user?: string | null, liquidity?: null, token_id?: null, secs?: null, source_address?: null): LockNFTEventFilter;
        "LockedNFTMaxMultiplierUpdated(uint256)"(multiplier?: null): LockedNFTMaxMultiplierUpdatedEventFilter;
        LockedNFTMaxMultiplierUpdated(multiplier?: null): LockedNFTMaxMultiplierUpdatedEventFilter;
        "LockedNFTMinTime(uint256)"(secs?: null): LockedNFTMinTimeEventFilter;
        LockedNFTMinTime(secs?: null): LockedNFTMinTimeEventFilter;
        "LockedNFTTimeForMaxMultiplier(uint256)"(secs?: null): LockedNFTTimeForMaxMultiplierEventFilter;
        LockedNFTTimeForMaxMultiplier(secs?: null): LockedNFTTimeForMaxMultiplierEventFilter;
        "MaxVeSumerMultiplier(uint256)"(multiplier?: null): MaxVeSumerMultiplierEventFilter;
        MaxVeSumerMultiplier(multiplier?: null): MaxVeSumerMultiplierEventFilter;
        "OwnerChanged(address,address)"(oldOwner?: null, newOwner?: null): OwnerChangedEventFilter;
        OwnerChanged(oldOwner?: null, newOwner?: null): OwnerChangedEventFilter;
        "OwnerNominated(address)"(newOwner?: null): OwnerNominatedEventFilter;
        OwnerNominated(newOwner?: null): OwnerNominatedEventFilter;
        "RecoveredERC20(address,uint256)"(token?: null, amount?: null): RecoveredERC20EventFilter;
        RecoveredERC20(token?: null, amount?: null): RecoveredERC20EventFilter;
        "RecoveredERC721(address,uint256)"(token?: null, token_id?: null): RecoveredERC721EventFilter;
        RecoveredERC721(token?: null, token_id?: null): RecoveredERC721EventFilter;
        "RewardPaid(address,uint256,uint256,uint256,address,address)"(user?: string | null, farm_reward?: null, liq_tok0_reward?: null, liq_tok1_reward?: null, token_address?: null, destination_address?: null): RewardPaidEventFilter;
        RewardPaid(user?: string | null, farm_reward?: null, liq_tok0_reward?: null, liq_tok1_reward?: null, token_address?: null, destination_address?: null): RewardPaidEventFilter;
        "RewardsPeriodRenewed(address)"(token?: null): RewardsPeriodRenewedEventFilter;
        RewardsPeriodRenewed(token?: null): RewardsPeriodRenewedEventFilter;
        "WithdrawLocked(address,uint256,uint256,address)"(user?: string | null, liquidity?: null, token_id?: null, destination_address?: null): WithdrawLockedEventFilter;
        WithdrawLocked(user?: string | null, liquidity?: null, token_id?: null, destination_address?: null): WithdrawLockedEventFilter;
        "veSumerPctForMaxBoostUpdated(uint256)"(scale_factor?: null): veSumerPctForMaxBoostUpdatedEventFilter;
        veSumerPctForMaxBoostUpdated(scale_factor?: null): veSumerPctForMaxBoostUpdatedEventFilter;
    };
    estimateGas: {
        acceptOwnership(overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        addMigrator(migrator_address: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        bypassEmissionFactor(overrides?: CallOverrides): Promise<BigNumber>;
        calcCurCombinedWeight(account: string, overrides?: CallOverrides): Promise<BigNumber>;
        combinedWeightOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
        earned(account: string, overrides?: CallOverrides): Promise<BigNumber>;
        emissionFactor(overrides?: CallOverrides): Promise<BigNumber>;
        getReward(overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        getRewardForDuration(overrides?: CallOverrides): Promise<BigNumber>;
        greylistAddress(_address: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        ideal_tick(overrides?: CallOverrides): Promise<BigNumber>;
        initializeDefault(overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        lockMultiplier(secs: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        lock_max_multiplier(overrides?: CallOverrides): Promise<BigNumber>;
        lock_time_for_max_multiplier(overrides?: CallOverrides): Promise<BigNumber>;
        lock_time_min(overrides?: CallOverrides): Promise<BigNumber>;
        lockedLiquidityOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
        lockedNFTsOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
        migrationsOn(overrides?: CallOverrides): Promise<BigNumber>;
        migrator_stakeLocked_for(staker_address: string, token_id: BigNumberish, secs: BigNumberish, start_timestamp: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        migrator_withdraw_locked(staker_address: string, token_id: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        minVeSumerForMaxBoost(account: string, overrides?: CallOverrides): Promise<BigNumber>;
        nominateNewOwner(_owner: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        nominatedOwner(overrides?: CallOverrides): Promise<BigNumber>;
        onERC721Received(arg0: string, arg1: string, arg2: BigNumberish, arg3: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
        owner(overrides?: CallOverrides): Promise<BigNumber>;
        recoverERC20(tokenAddress: string, tokenAmount: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        recoverERC721(tokenAddress: string, token_id: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        removeMigrator(migrator_address: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        rewardRate0(overrides?: CallOverrides): Promise<BigNumber>;
        reward_rate_manual(overrides?: CallOverrides): Promise<BigNumber>;
        rewardsCollectionPaused(overrides?: CallOverrides): Promise<BigNumber>;
        rewardsDuration(overrides?: CallOverrides): Promise<BigNumber>;
        setLockedNFTTimeForMinAndMaxMultiplier(_lock_time_for_max_multiplier: BigNumberish, _lock_time_min: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        setManualRewardRate(_reward_rate_manual: BigNumberish, sync_too: boolean, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        setMultipliers(_lock_max_multiplier: BigNumberish, _veSumer_max_multiplier: BigNumberish, _veSumer_per_sumer_for_max_boost: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        setPauses(_stakingPaused: boolean, _withdrawalsPaused: boolean, _rewardsCollectionPaused: boolean, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        setTWAP(_new_twap_duration: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        setTimelock(_new_timelock: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        stakeLocked(token_id: BigNumberish, secs: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        stakerAllowMigrator(migrator_address: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        stakerDisallowMigrator(migrator_address: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        stakesUnlocked(overrides?: CallOverrides): Promise<BigNumber>;
        stakingPaused(overrides?: CallOverrides): Promise<BigNumber>;
        sync(overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        timelock_address(overrides?: CallOverrides): Promise<BigNumber>;
        toggleEmissionFactorBypass(overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        toggleMigrations(overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        totalCombinedWeight(overrides?: CallOverrides): Promise<BigNumber>;
        totalLiquidityLocked(overrides?: CallOverrides): Promise<BigNumber>;
        twap_duration(overrides?: CallOverrides): Promise<BigNumber>;
        uni_required_fee(overrides?: CallOverrides): Promise<BigNumber>;
        uni_tick_lower(overrides?: CallOverrides): Promise<BigNumber>;
        uni_tick_upper(overrides?: CallOverrides): Promise<BigNumber>;
        uni_token0(overrides?: CallOverrides): Promise<BigNumber>;
        uni_token1(overrides?: CallOverrides): Promise<BigNumber>;
        unlockStakes(overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        userStakedSumer(account: string, overrides?: CallOverrides): Promise<BigNumber>;
        veSumerMultiplier(account: string, overrides?: CallOverrides): Promise<BigNumber>;
        veSumer_max_multiplier(overrides?: CallOverrides): Promise<BigNumber>;
        veSumer_per_sumer_for_max_boost(overrides?: CallOverrides): Promise<BigNumber>;
        withdrawLocked(token_id: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<BigNumber>;
        withdrawalsPaused(overrides?: CallOverrides): Promise<BigNumber>;
    };
    populateTransaction: {
        acceptOwnership(overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        addMigrator(migrator_address: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        bypassEmissionFactor(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        calcCurCombinedWeight(account: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        combinedWeightOf(account: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        earned(account: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        emissionFactor(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getReward(overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        getRewardForDuration(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        greylistAddress(_address: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        ideal_tick(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        initializeDefault(overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        lockMultiplier(secs: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        lock_max_multiplier(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        lock_time_for_max_multiplier(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        lock_time_min(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        lockedLiquidityOf(account: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        lockedNFTsOf(account: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        migrationsOn(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        migrator_stakeLocked_for(staker_address: string, token_id: BigNumberish, secs: BigNumberish, start_timestamp: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        migrator_withdraw_locked(staker_address: string, token_id: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        minVeSumerForMaxBoost(account: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        nominateNewOwner(_owner: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        nominatedOwner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        onERC721Received(arg0: string, arg1: string, arg2: BigNumberish, arg3: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        recoverERC20(tokenAddress: string, tokenAmount: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        recoverERC721(tokenAddress: string, token_id: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        removeMigrator(migrator_address: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        rewardRate0(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        reward_rate_manual(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        rewardsCollectionPaused(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        rewardsDuration(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        setLockedNFTTimeForMinAndMaxMultiplier(_lock_time_for_max_multiplier: BigNumberish, _lock_time_min: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        setManualRewardRate(_reward_rate_manual: BigNumberish, sync_too: boolean, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        setMultipliers(_lock_max_multiplier: BigNumberish, _veSumer_max_multiplier: BigNumberish, _veSumer_per_sumer_for_max_boost: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        setPauses(_stakingPaused: boolean, _withdrawalsPaused: boolean, _rewardsCollectionPaused: boolean, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        setTWAP(_new_twap_duration: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        setTimelock(_new_timelock: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        stakeLocked(token_id: BigNumberish, secs: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        stakerAllowMigrator(migrator_address: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        stakerDisallowMigrator(migrator_address: string, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        stakesUnlocked(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        stakingPaused(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        sync(overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        timelock_address(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        toggleEmissionFactorBypass(overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        toggleMigrations(overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        totalCombinedWeight(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        totalLiquidityLocked(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        twap_duration(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        uni_required_fee(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        uni_tick_lower(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        uni_tick_upper(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        uni_token0(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        uni_token1(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        unlockStakes(overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        userStakedSumer(account: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        veSumerMultiplier(account: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        veSumer_max_multiplier(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        veSumer_per_sumer_for_max_boost(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        withdrawLocked(token_id: BigNumberish, overrides?: Overrides & {
            from?: string | Promise<string>;
        }): Promise<PopulatedTransaction>;
        withdrawalsPaused(overrides?: CallOverrides): Promise<PopulatedTransaction>;
    };
}
