import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers";
import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../common";
export type PointStruct = {
    bias: BigNumberish;
    slope: BigNumberish;
    ts: BigNumberish;
    blk: BigNumberish;
    sumer_amt: BigNumberish;
};
export type PointStructOutput = [
    bias: bigint,
    slope: bigint,
    ts: bigint,
    blk: bigint,
    sumer_amt: bigint
] & {
    bias: bigint;
    slope: bigint;
    ts: bigint;
    blk: bigint;
    sumer_amt: bigint;
};
export interface VeSumerInterface extends Interface {
    getFunction(nameOrSignature: "CHECKPOINT_ONLY" | "CREATE_LOCK_TYPE" | "DEPOSIT_FOR_TYPE" | "INCREASE_LOCK_AMOUNT" | "INCREASE_UNLOCK_TIME" | "MAXTIME" | "MAXTIME_I128" | "MULTIPLIER" | "PROXY_ADD" | "PROXY_SLASH" | "TRANSFER_FROM_APP" | "USER_WITHDRAW" | "VOTE_WEIGHT_MULTIPLIER_I128" | "WEEK" | "ZERO_ADDRESS" | "acceptOwnership" | "admin" | "appIncreaseAmountForsEnabled" | "appTransferFromsEnabled" | "appTransferTosEnabled" | "apply_smart_wallet_checker" | "balanceOf(address,uint256)" | "balanceOf(address)" | "balanceOfAt" | "checkpoint" | "checkpoint_user" | "commit_smart_wallet_checker" | "create_lock" | "curr_period_start" | "current_proxy" | "decimals" | "deposit_for" | "emergencyUnlockActive" | "epoch" | "future_admin" | "future_smart_wallet_checker" | "get_last_point" | "get_last_user_bias" | "get_last_user_point" | "get_last_user_slope" | "historical_proxies" | "increase_amount" | "increase_amount_for" | "increase_unlock_time" | "locked" | "locked__amount" | "locked__end" | "name" | "next_period_start" | "owner" | "pendingOwner" | "point_history" | "proxyAddsEnabled" | "proxySlashesEnabled" | "proxy_add" | "proxy_slash" | "recoverERC20" | "renounceOwnership" | "slope_changes" | "smart_wallet_checker" | "staker_whitelisted_proxy" | "supply" | "symbol" | "token" | "totalSupply()" | "totalSupply(uint256)" | "totalSupplyAt" | "transferOwnership" | "transfer_from_app" | "user_point_epoch" | "user_point_history" | "user_point_history__ts" | "user_proxy_balance" | "version" | "withdraw"): FunctionFragment;
    getEvent(nameOrSignatureOrTopic: "AcceptOwnership" | "AppIncreaseAmountForsToggled" | "Deposit" | "HistoricalProxyToggled" | "LendingProxySet" | "NominateOwnership" | "OwnershipTransferStarted" | "OwnershipTransferred" | "ProxyAdd" | "ProxyAddsToggled" | "ProxySlashesToggled" | "ProxyTransferFromsToggled" | "ProxyTransferTosToggled" | "SmartWalletCheckerApplied" | "SmartWalletCheckerComitted" | "StakerProxySet" | "Supply" | "TransferFromApp" | "Withdraw"): EventFragment;
    encodeFunctionData(functionFragment: "CHECKPOINT_ONLY", values?: undefined): string;
    encodeFunctionData(functionFragment: "CREATE_LOCK_TYPE", values?: undefined): string;
    encodeFunctionData(functionFragment: "DEPOSIT_FOR_TYPE", values?: undefined): string;
    encodeFunctionData(functionFragment: "INCREASE_LOCK_AMOUNT", values?: undefined): string;
    encodeFunctionData(functionFragment: "INCREASE_UNLOCK_TIME", values?: undefined): string;
    encodeFunctionData(functionFragment: "MAXTIME", values?: undefined): string;
    encodeFunctionData(functionFragment: "MAXTIME_I128", values?: undefined): string;
    encodeFunctionData(functionFragment: "MULTIPLIER", values?: undefined): string;
    encodeFunctionData(functionFragment: "PROXY_ADD", values?: undefined): string;
    encodeFunctionData(functionFragment: "PROXY_SLASH", values?: undefined): string;
    encodeFunctionData(functionFragment: "TRANSFER_FROM_APP", values?: undefined): string;
    encodeFunctionData(functionFragment: "USER_WITHDRAW", values?: undefined): string;
    encodeFunctionData(functionFragment: "VOTE_WEIGHT_MULTIPLIER_I128", values?: undefined): string;
    encodeFunctionData(functionFragment: "WEEK", values?: undefined): string;
    encodeFunctionData(functionFragment: "ZERO_ADDRESS", values?: undefined): string;
    encodeFunctionData(functionFragment: "acceptOwnership", values?: undefined): string;
    encodeFunctionData(functionFragment: "admin", values?: undefined): string;
    encodeFunctionData(functionFragment: "appIncreaseAmountForsEnabled", values?: undefined): string;
    encodeFunctionData(functionFragment: "appTransferFromsEnabled", values?: undefined): string;
    encodeFunctionData(functionFragment: "appTransferTosEnabled", values?: undefined): string;
    encodeFunctionData(functionFragment: "apply_smart_wallet_checker", values?: undefined): string;
    encodeFunctionData(functionFragment: "balanceOf(address,uint256)", values: [AddressLike, BigNumberish]): string;
    encodeFunctionData(functionFragment: "balanceOf(address)", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "balanceOfAt", values: [AddressLike, BigNumberish]): string;
    encodeFunctionData(functionFragment: "checkpoint", values?: undefined): string;
    encodeFunctionData(functionFragment: "checkpoint_user", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "commit_smart_wallet_checker", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "create_lock", values: [BigNumberish, BigNumberish]): string;
    encodeFunctionData(functionFragment: "curr_period_start", values?: undefined): string;
    encodeFunctionData(functionFragment: "current_proxy", values?: undefined): string;
    encodeFunctionData(functionFragment: "decimals", values?: undefined): string;
    encodeFunctionData(functionFragment: "deposit_for", values: [AddressLike, BigNumberish]): string;
    encodeFunctionData(functionFragment: "emergencyUnlockActive", values?: undefined): string;
    encodeFunctionData(functionFragment: "epoch", values?: undefined): string;
    encodeFunctionData(functionFragment: "future_admin", values?: undefined): string;
    encodeFunctionData(functionFragment: "future_smart_wallet_checker", values?: undefined): string;
    encodeFunctionData(functionFragment: "get_last_point", values?: undefined): string;
    encodeFunctionData(functionFragment: "get_last_user_bias", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "get_last_user_point", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "get_last_user_slope", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "historical_proxies", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "increase_amount", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "increase_amount_for", values: [AddressLike, BigNumberish]): string;
    encodeFunctionData(functionFragment: "increase_unlock_time", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "locked", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "locked__amount", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "locked__end", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "name", values?: undefined): string;
    encodeFunctionData(functionFragment: "next_period_start", values?: undefined): string;
    encodeFunctionData(functionFragment: "owner", values?: undefined): string;
    encodeFunctionData(functionFragment: "pendingOwner", values?: undefined): string;
    encodeFunctionData(functionFragment: "point_history", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "proxyAddsEnabled", values?: undefined): string;
    encodeFunctionData(functionFragment: "proxySlashesEnabled", values?: undefined): string;
    encodeFunctionData(functionFragment: "proxy_add", values: [AddressLike, BigNumberish]): string;
    encodeFunctionData(functionFragment: "proxy_slash", values: [AddressLike, BigNumberish]): string;
    encodeFunctionData(functionFragment: "recoverERC20", values: [AddressLike, BigNumberish]): string;
    encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string;
    encodeFunctionData(functionFragment: "slope_changes", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "smart_wallet_checker", values?: undefined): string;
    encodeFunctionData(functionFragment: "staker_whitelisted_proxy", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "supply", values?: undefined): string;
    encodeFunctionData(functionFragment: "symbol", values?: undefined): string;
    encodeFunctionData(functionFragment: "token", values?: undefined): string;
    encodeFunctionData(functionFragment: "totalSupply()", values?: undefined): string;
    encodeFunctionData(functionFragment: "totalSupply(uint256)", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "totalSupplyAt", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "transferOwnership", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "transfer_from_app", values: [AddressLike, AddressLike, BigNumberish]): string;
    encodeFunctionData(functionFragment: "user_point_epoch", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "user_point_history", values: [AddressLike, BigNumberish]): string;
    encodeFunctionData(functionFragment: "user_point_history__ts", values: [AddressLike, BigNumberish]): string;
    encodeFunctionData(functionFragment: "user_proxy_balance", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "version", values?: undefined): string;
    encodeFunctionData(functionFragment: "withdraw", values?: undefined): string;
    decodeFunctionResult(functionFragment: "CHECKPOINT_ONLY", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "CREATE_LOCK_TYPE", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "DEPOSIT_FOR_TYPE", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "INCREASE_LOCK_AMOUNT", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "INCREASE_UNLOCK_TIME", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "MAXTIME", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "MAXTIME_I128", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "MULTIPLIER", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "PROXY_ADD", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "PROXY_SLASH", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "TRANSFER_FROM_APP", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "USER_WITHDRAW", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "VOTE_WEIGHT_MULTIPLIER_I128", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "WEEK", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "ZERO_ADDRESS", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "acceptOwnership", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "admin", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "appIncreaseAmountForsEnabled", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "appTransferFromsEnabled", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "appTransferTosEnabled", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "apply_smart_wallet_checker", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "balanceOf(address,uint256)", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "balanceOf(address)", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "balanceOfAt", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "checkpoint", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "checkpoint_user", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "commit_smart_wallet_checker", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "create_lock", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "curr_period_start", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "current_proxy", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "deposit_for", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "emergencyUnlockActive", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "epoch", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "future_admin", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "future_smart_wallet_checker", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "get_last_point", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "get_last_user_bias", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "get_last_user_point", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "get_last_user_slope", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "historical_proxies", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "increase_amount", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "increase_amount_for", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "increase_unlock_time", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "locked", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "locked__amount", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "locked__end", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "next_period_start", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "pendingOwner", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "point_history", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "proxyAddsEnabled", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "proxySlashesEnabled", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "proxy_add", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "proxy_slash", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "recoverERC20", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "slope_changes", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "smart_wallet_checker", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "staker_whitelisted_proxy", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "supply", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "token", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "totalSupply()", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "totalSupply(uint256)", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "totalSupplyAt", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "transfer_from_app", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "user_point_epoch", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "user_point_history", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "user_point_history__ts", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "user_proxy_balance", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "version", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result;
}
export declare namespace AcceptOwnershipEvent {
    type InputTuple = [admin: AddressLike];
    type OutputTuple = [admin: string];
    interface OutputObject {
        admin: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace AppIncreaseAmountForsToggledEvent {
    type InputTuple = [appIncreaseAmountForsEnabled: boolean];
    type OutputTuple = [appIncreaseAmountForsEnabled: boolean];
    interface OutputObject {
        appIncreaseAmountForsEnabled: boolean;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace DepositEvent {
    type InputTuple = [
        provider: AddressLike,
        payer_addr: AddressLike,
        value: BigNumberish,
        locktime: BigNumberish,
        _type: BigNumberish,
        ts: BigNumberish
    ];
    type OutputTuple = [
        provider: string,
        payer_addr: string,
        value: bigint,
        locktime: bigint,
        _type: bigint,
        ts: bigint
    ];
    interface OutputObject {
        provider: string;
        payer_addr: string;
        value: bigint;
        locktime: bigint;
        _type: bigint;
        ts: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace HistoricalProxyToggledEvent {
    type InputTuple = [proxy_address: AddressLike, enabled: boolean];
    type OutputTuple = [proxy_address: string, enabled: boolean];
    interface OutputObject {
        proxy_address: string;
        enabled: boolean;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace LendingProxySetEvent {
    type InputTuple = [proxy_address: AddressLike];
    type OutputTuple = [proxy_address: string];
    interface OutputObject {
        proxy_address: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace NominateOwnershipEvent {
    type InputTuple = [admin: AddressLike];
    type OutputTuple = [admin: string];
    interface OutputObject {
        admin: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace OwnershipTransferStartedEvent {
    type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike];
    type OutputTuple = [previousOwner: string, newOwner: string];
    interface OutputObject {
        previousOwner: string;
        newOwner: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace OwnershipTransferredEvent {
    type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike];
    type OutputTuple = [previousOwner: string, newOwner: string];
    interface OutputObject {
        previousOwner: string;
        newOwner: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace ProxyAddEvent {
    type InputTuple = [
        staker_addr: AddressLike,
        proxy_addr: AddressLike,
        add_amt: BigNumberish
    ];
    type OutputTuple = [
        staker_addr: string,
        proxy_addr: string,
        add_amt: bigint
    ];
    interface OutputObject {
        staker_addr: string;
        proxy_addr: string;
        add_amt: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace ProxyAddsToggledEvent {
    type InputTuple = [proxyAddsEnabled: boolean];
    type OutputTuple = [proxyAddsEnabled: boolean];
    interface OutputObject {
        proxyAddsEnabled: boolean;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace ProxySlashesToggledEvent {
    type InputTuple = [proxySlashesEnabled: boolean];
    type OutputTuple = [proxySlashesEnabled: boolean];
    interface OutputObject {
        proxySlashesEnabled: boolean;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace ProxyTransferFromsToggledEvent {
    type InputTuple = [appTransferFromsEnabled: boolean];
    type OutputTuple = [appTransferFromsEnabled: boolean];
    interface OutputObject {
        appTransferFromsEnabled: boolean;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace ProxyTransferTosToggledEvent {
    type InputTuple = [appTransferTosEnabled: boolean];
    type OutputTuple = [appTransferTosEnabled: boolean];
    interface OutputObject {
        appTransferTosEnabled: boolean;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SmartWalletCheckerAppliedEvent {
    type InputTuple = [smart_wallet_checker: AddressLike];
    type OutputTuple = [smart_wallet_checker: string];
    interface OutputObject {
        smart_wallet_checker: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SmartWalletCheckerComittedEvent {
    type InputTuple = [future_smart_wallet_checker: AddressLike];
    type OutputTuple = [future_smart_wallet_checker: string];
    interface OutputObject {
        future_smart_wallet_checker: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace StakerProxySetEvent {
    type InputTuple = [proxy_address: AddressLike];
    type OutputTuple = [proxy_address: string];
    interface OutputObject {
        proxy_address: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SupplyEvent {
    type InputTuple = [prevSupply: BigNumberish, supply: BigNumberish];
    type OutputTuple = [prevSupply: bigint, supply: bigint];
    interface OutputObject {
        prevSupply: bigint;
        supply: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace TransferFromAppEvent {
    type InputTuple = [
        app_addr: AddressLike,
        staker_addr: AddressLike,
        transfer_amt: BigNumberish
    ];
    type OutputTuple = [
        app_addr: string,
        staker_addr: string,
        transfer_amt: bigint
    ];
    interface OutputObject {
        app_addr: string;
        staker_addr: string;
        transfer_amt: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace WithdrawEvent {
    type InputTuple = [
        provider: AddressLike,
        to_addr: AddressLike,
        value: BigNumberish,
        ts: BigNumberish
    ];
    type OutputTuple = [
        provider: string,
        to_addr: string,
        value: bigint,
        ts: bigint
    ];
    interface OutputObject {
        provider: string;
        to_addr: string;
        value: bigint;
        ts: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export interface VeSumer extends BaseContract {
    connect(runner?: ContractRunner | null): VeSumer;
    waitForDeployment(): Promise<this>;
    interface: VeSumerInterface;
    queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
    queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
    on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
    on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
    once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
    once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
    listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
    listeners(eventName?: string): Promise<Array<Listener>>;
    removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
    CHECKPOINT_ONLY: TypedContractMethod<[], [bigint], "view">;
    CREATE_LOCK_TYPE: TypedContractMethod<[], [bigint], "view">;
    DEPOSIT_FOR_TYPE: TypedContractMethod<[], [bigint], "view">;
    INCREASE_LOCK_AMOUNT: TypedContractMethod<[], [bigint], "view">;
    INCREASE_UNLOCK_TIME: TypedContractMethod<[], [bigint], "view">;
    MAXTIME: TypedContractMethod<[], [bigint], "view">;
    MAXTIME_I128: TypedContractMethod<[], [bigint], "view">;
    MULTIPLIER: TypedContractMethod<[], [bigint], "view">;
    PROXY_ADD: TypedContractMethod<[], [bigint], "view">;
    PROXY_SLASH: TypedContractMethod<[], [bigint], "view">;
    TRANSFER_FROM_APP: TypedContractMethod<[], [bigint], "view">;
    USER_WITHDRAW: TypedContractMethod<[], [bigint], "view">;
    VOTE_WEIGHT_MULTIPLIER_I128: TypedContractMethod<[], [bigint], "view">;
    WEEK: TypedContractMethod<[], [bigint], "view">;
    ZERO_ADDRESS: TypedContractMethod<[], [string], "view">;
    acceptOwnership: TypedContractMethod<[], [void], "nonpayable">;
    admin: TypedContractMethod<[], [string], "view">;
    appIncreaseAmountForsEnabled: TypedContractMethod<[], [boolean], "view">;
    appTransferFromsEnabled: TypedContractMethod<[], [boolean], "view">;
    appTransferTosEnabled: TypedContractMethod<[], [boolean], "view">;
    apply_smart_wallet_checker: TypedContractMethod<[], [void], "nonpayable">;
    "balanceOf(address,uint256)": TypedContractMethod<[
        addr: AddressLike,
        _t: BigNumberish
    ], [
        bigint
    ], "view">;
    "balanceOf(address)": TypedContractMethod<[
        addr: AddressLike
    ], [
        bigint
    ], "view">;
    balanceOfAt: TypedContractMethod<[
        addr: AddressLike,
        _block: BigNumberish
    ], [
        bigint
    ], "view">;
    checkpoint: TypedContractMethod<[], [void], "nonpayable">;
    checkpoint_user: TypedContractMethod<[
        _staker_addr: AddressLike
    ], [
        void
    ], "nonpayable">;
    commit_smart_wallet_checker: TypedContractMethod<[
        addr: AddressLike
    ], [
        void
    ], "nonpayable">;
    create_lock: TypedContractMethod<[
        _value: BigNumberish,
        _unlock_time: BigNumberish
    ], [
        void
    ], "nonpayable">;
    curr_period_start: TypedContractMethod<[], [bigint], "view">;
    current_proxy: TypedContractMethod<[], [string], "view">;
    decimals: TypedContractMethod<[], [bigint], "view">;
    deposit_for: TypedContractMethod<[
        _addr: AddressLike,
        _value: BigNumberish
    ], [
        void
    ], "nonpayable">;
    emergencyUnlockActive: TypedContractMethod<[], [boolean], "view">;
    epoch: TypedContractMethod<[], [bigint], "view">;
    future_admin: TypedContractMethod<[], [string], "view">;
    future_smart_wallet_checker: TypedContractMethod<[], [string], "view">;
    get_last_point: TypedContractMethod<[], [PointStructOutput], "view">;
    get_last_user_bias: TypedContractMethod<[
        addr: AddressLike
    ], [
        bigint
    ], "view">;
    get_last_user_point: TypedContractMethod<[
        addr: AddressLike
    ], [
        PointStructOutput
    ], "view">;
    get_last_user_slope: TypedContractMethod<[
        addr: AddressLike
    ], [
        bigint
    ], "view">;
    historical_proxies: TypedContractMethod<[
        arg0: AddressLike
    ], [
        boolean
    ], "view">;
    increase_amount: TypedContractMethod<[
        _value: BigNumberish
    ], [
        void
    ], "nonpayable">;
    increase_amount_for: TypedContractMethod<[
        _staker_addr: AddressLike,
        _value: BigNumberish
    ], [
        void
    ], "nonpayable">;
    increase_unlock_time: TypedContractMethod<[
        _unlock_time: BigNumberish
    ], [
        void
    ], "nonpayable">;
    locked: TypedContractMethod<[
        arg0: AddressLike
    ], [
        [bigint, bigint] & {
            amount: bigint;
            end: bigint;
        }
    ], "view">;
    locked__amount: TypedContractMethod<[_addr: AddressLike], [bigint], "view">;
    locked__end: TypedContractMethod<[_addr: AddressLike], [bigint], "view">;
    name: TypedContractMethod<[], [string], "view">;
    next_period_start: TypedContractMethod<[], [bigint], "view">;
    owner: TypedContractMethod<[], [string], "view">;
    pendingOwner: TypedContractMethod<[], [string], "view">;
    point_history: TypedContractMethod<[
        arg0: BigNumberish
    ], [
        [
            bigint,
            bigint,
            bigint,
            bigint,
            bigint
        ] & {
            bias: bigint;
            slope: bigint;
            ts: bigint;
            blk: bigint;
            sumer_amt: bigint;
        }
    ], "view">;
    proxyAddsEnabled: TypedContractMethod<[], [boolean], "view">;
    proxySlashesEnabled: TypedContractMethod<[], [boolean], "view">;
    proxy_add: TypedContractMethod<[
        _staker_addr: AddressLike,
        _add_amt: BigNumberish
    ], [
        void
    ], "nonpayable">;
    proxy_slash: TypedContractMethod<[
        _staker_addr: AddressLike,
        _slash_amt: BigNumberish
    ], [
        void
    ], "nonpayable">;
    recoverERC20: TypedContractMethod<[
        token_addr: AddressLike,
        amount: BigNumberish
    ], [
        void
    ], "nonpayable">;
    renounceOwnership: TypedContractMethod<[], [void], "nonpayable">;
    slope_changes: TypedContractMethod<[arg0: BigNumberish], [bigint], "view">;
    smart_wallet_checker: TypedContractMethod<[], [string], "view">;
    staker_whitelisted_proxy: TypedContractMethod<[
        arg0: AddressLike
    ], [
        string
    ], "view">;
    supply: TypedContractMethod<[], [bigint], "view">;
    symbol: TypedContractMethod<[], [string], "view">;
    token: TypedContractMethod<[], [string], "view">;
    "totalSupply()": TypedContractMethod<[], [bigint], "view">;
    "totalSupply(uint256)": TypedContractMethod<[
        t: BigNumberish
    ], [
        bigint
    ], "view">;
    totalSupplyAt: TypedContractMethod<[_block: BigNumberish], [bigint], "view">;
    transferOwnership: TypedContractMethod<[
        newOwner: AddressLike
    ], [
        void
    ], "nonpayable">;
    transfer_from_app: TypedContractMethod<[
        _staker_addr: AddressLike,
        _app_addr: AddressLike,
        _transfer_amt: BigNumberish
    ], [
        void
    ], "nonpayable">;
    user_point_epoch: TypedContractMethod<[arg0: AddressLike], [bigint], "view">;
    user_point_history: TypedContractMethod<[
        arg0: AddressLike,
        arg1: BigNumberish
    ], [
        [
            bigint,
            bigint,
            bigint,
            bigint,
            bigint
        ] & {
            bias: bigint;
            slope: bigint;
            ts: bigint;
            blk: bigint;
            sumer_amt: bigint;
        }
    ], "view">;
    user_point_history__ts: TypedContractMethod<[
        _addr: AddressLike,
        _idx: BigNumberish
    ], [
        bigint
    ], "view">;
    user_proxy_balance: TypedContractMethod<[
        arg0: AddressLike
    ], [
        bigint
    ], "view">;
    version: TypedContractMethod<[], [string], "view">;
    withdraw: TypedContractMethod<[], [void], "nonpayable">;
    getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
    getFunction(nameOrSignature: "CHECKPOINT_ONLY"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "CREATE_LOCK_TYPE"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "DEPOSIT_FOR_TYPE"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "INCREASE_LOCK_AMOUNT"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "INCREASE_UNLOCK_TIME"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "MAXTIME"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "MAXTIME_I128"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "MULTIPLIER"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "PROXY_ADD"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "PROXY_SLASH"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "TRANSFER_FROM_APP"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "USER_WITHDRAW"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "VOTE_WEIGHT_MULTIPLIER_I128"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "WEEK"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "ZERO_ADDRESS"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "acceptOwnership"): TypedContractMethod<[], [void], "nonpayable">;
    getFunction(nameOrSignature: "admin"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "appIncreaseAmountForsEnabled"): TypedContractMethod<[], [boolean], "view">;
    getFunction(nameOrSignature: "appTransferFromsEnabled"): TypedContractMethod<[], [boolean], "view">;
    getFunction(nameOrSignature: "appTransferTosEnabled"): TypedContractMethod<[], [boolean], "view">;
    getFunction(nameOrSignature: "apply_smart_wallet_checker"): TypedContractMethod<[], [void], "nonpayable">;
    getFunction(nameOrSignature: "balanceOf(address,uint256)"): TypedContractMethod<[
        addr: AddressLike,
        _t: BigNumberish
    ], [
        bigint
    ], "view">;
    getFunction(nameOrSignature: "balanceOf(address)"): TypedContractMethod<[addr: AddressLike], [bigint], "view">;
    getFunction(nameOrSignature: "balanceOfAt"): TypedContractMethod<[
        addr: AddressLike,
        _block: BigNumberish
    ], [
        bigint
    ], "view">;
    getFunction(nameOrSignature: "checkpoint"): TypedContractMethod<[], [void], "nonpayable">;
    getFunction(nameOrSignature: "checkpoint_user"): TypedContractMethod<[_staker_addr: AddressLike], [void], "nonpayable">;
    getFunction(nameOrSignature: "commit_smart_wallet_checker"): TypedContractMethod<[addr: AddressLike], [void], "nonpayable">;
    getFunction(nameOrSignature: "create_lock"): TypedContractMethod<[
        _value: BigNumberish,
        _unlock_time: BigNumberish
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "curr_period_start"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "current_proxy"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "decimals"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "deposit_for"): TypedContractMethod<[
        _addr: AddressLike,
        _value: BigNumberish
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "emergencyUnlockActive"): TypedContractMethod<[], [boolean], "view">;
    getFunction(nameOrSignature: "epoch"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "future_admin"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "future_smart_wallet_checker"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "get_last_point"): TypedContractMethod<[], [PointStructOutput], "view">;
    getFunction(nameOrSignature: "get_last_user_bias"): TypedContractMethod<[addr: AddressLike], [bigint], "view">;
    getFunction(nameOrSignature: "get_last_user_point"): TypedContractMethod<[addr: AddressLike], [PointStructOutput], "view">;
    getFunction(nameOrSignature: "get_last_user_slope"): TypedContractMethod<[addr: AddressLike], [bigint], "view">;
    getFunction(nameOrSignature: "historical_proxies"): TypedContractMethod<[arg0: AddressLike], [boolean], "view">;
    getFunction(nameOrSignature: "increase_amount"): TypedContractMethod<[_value: BigNumberish], [void], "nonpayable">;
    getFunction(nameOrSignature: "increase_amount_for"): TypedContractMethod<[
        _staker_addr: AddressLike,
        _value: BigNumberish
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "increase_unlock_time"): TypedContractMethod<[_unlock_time: BigNumberish], [void], "nonpayable">;
    getFunction(nameOrSignature: "locked"): TypedContractMethod<[
        arg0: AddressLike
    ], [
        [bigint, bigint] & {
            amount: bigint;
            end: bigint;
        }
    ], "view">;
    getFunction(nameOrSignature: "locked__amount"): TypedContractMethod<[_addr: AddressLike], [bigint], "view">;
    getFunction(nameOrSignature: "locked__end"): TypedContractMethod<[_addr: AddressLike], [bigint], "view">;
    getFunction(nameOrSignature: "name"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "next_period_start"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "owner"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "pendingOwner"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "point_history"): TypedContractMethod<[
        arg0: BigNumberish
    ], [
        [
            bigint,
            bigint,
            bigint,
            bigint,
            bigint
        ] & {
            bias: bigint;
            slope: bigint;
            ts: bigint;
            blk: bigint;
            sumer_amt: bigint;
        }
    ], "view">;
    getFunction(nameOrSignature: "proxyAddsEnabled"): TypedContractMethod<[], [boolean], "view">;
    getFunction(nameOrSignature: "proxySlashesEnabled"): TypedContractMethod<[], [boolean], "view">;
    getFunction(nameOrSignature: "proxy_add"): TypedContractMethod<[
        _staker_addr: AddressLike,
        _add_amt: BigNumberish
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "proxy_slash"): TypedContractMethod<[
        _staker_addr: AddressLike,
        _slash_amt: BigNumberish
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "recoverERC20"): TypedContractMethod<[
        token_addr: AddressLike,
        amount: BigNumberish
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[], [void], "nonpayable">;
    getFunction(nameOrSignature: "slope_changes"): TypedContractMethod<[arg0: BigNumberish], [bigint], "view">;
    getFunction(nameOrSignature: "smart_wallet_checker"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "staker_whitelisted_proxy"): TypedContractMethod<[arg0: AddressLike], [string], "view">;
    getFunction(nameOrSignature: "supply"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "symbol"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "token"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "totalSupply()"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "totalSupply(uint256)"): TypedContractMethod<[t: BigNumberish], [bigint], "view">;
    getFunction(nameOrSignature: "totalSupplyAt"): TypedContractMethod<[_block: BigNumberish], [bigint], "view">;
    getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">;
    getFunction(nameOrSignature: "transfer_from_app"): TypedContractMethod<[
        _staker_addr: AddressLike,
        _app_addr: AddressLike,
        _transfer_amt: BigNumberish
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "user_point_epoch"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">;
    getFunction(nameOrSignature: "user_point_history"): TypedContractMethod<[
        arg0: AddressLike,
        arg1: BigNumberish
    ], [
        [
            bigint,
            bigint,
            bigint,
            bigint,
            bigint
        ] & {
            bias: bigint;
            slope: bigint;
            ts: bigint;
            blk: bigint;
            sumer_amt: bigint;
        }
    ], "view">;
    getFunction(nameOrSignature: "user_point_history__ts"): TypedContractMethod<[
        _addr: AddressLike,
        _idx: BigNumberish
    ], [
        bigint
    ], "view">;
    getFunction(nameOrSignature: "user_proxy_balance"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">;
    getFunction(nameOrSignature: "version"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "withdraw"): TypedContractMethod<[], [void], "nonpayable">;
    getEvent(key: "AcceptOwnership"): TypedContractEvent<AcceptOwnershipEvent.InputTuple, AcceptOwnershipEvent.OutputTuple, AcceptOwnershipEvent.OutputObject>;
    getEvent(key: "AppIncreaseAmountForsToggled"): TypedContractEvent<AppIncreaseAmountForsToggledEvent.InputTuple, AppIncreaseAmountForsToggledEvent.OutputTuple, AppIncreaseAmountForsToggledEvent.OutputObject>;
    getEvent(key: "Deposit"): TypedContractEvent<DepositEvent.InputTuple, DepositEvent.OutputTuple, DepositEvent.OutputObject>;
    getEvent(key: "HistoricalProxyToggled"): TypedContractEvent<HistoricalProxyToggledEvent.InputTuple, HistoricalProxyToggledEvent.OutputTuple, HistoricalProxyToggledEvent.OutputObject>;
    getEvent(key: "LendingProxySet"): TypedContractEvent<LendingProxySetEvent.InputTuple, LendingProxySetEvent.OutputTuple, LendingProxySetEvent.OutputObject>;
    getEvent(key: "NominateOwnership"): TypedContractEvent<NominateOwnershipEvent.InputTuple, NominateOwnershipEvent.OutputTuple, NominateOwnershipEvent.OutputObject>;
    getEvent(key: "OwnershipTransferStarted"): TypedContractEvent<OwnershipTransferStartedEvent.InputTuple, OwnershipTransferStartedEvent.OutputTuple, OwnershipTransferStartedEvent.OutputObject>;
    getEvent(key: "OwnershipTransferred"): TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
    getEvent(key: "ProxyAdd"): TypedContractEvent<ProxyAddEvent.InputTuple, ProxyAddEvent.OutputTuple, ProxyAddEvent.OutputObject>;
    getEvent(key: "ProxyAddsToggled"): TypedContractEvent<ProxyAddsToggledEvent.InputTuple, ProxyAddsToggledEvent.OutputTuple, ProxyAddsToggledEvent.OutputObject>;
    getEvent(key: "ProxySlashesToggled"): TypedContractEvent<ProxySlashesToggledEvent.InputTuple, ProxySlashesToggledEvent.OutputTuple, ProxySlashesToggledEvent.OutputObject>;
    getEvent(key: "ProxyTransferFromsToggled"): TypedContractEvent<ProxyTransferFromsToggledEvent.InputTuple, ProxyTransferFromsToggledEvent.OutputTuple, ProxyTransferFromsToggledEvent.OutputObject>;
    getEvent(key: "ProxyTransferTosToggled"): TypedContractEvent<ProxyTransferTosToggledEvent.InputTuple, ProxyTransferTosToggledEvent.OutputTuple, ProxyTransferTosToggledEvent.OutputObject>;
    getEvent(key: "SmartWalletCheckerApplied"): TypedContractEvent<SmartWalletCheckerAppliedEvent.InputTuple, SmartWalletCheckerAppliedEvent.OutputTuple, SmartWalletCheckerAppliedEvent.OutputObject>;
    getEvent(key: "SmartWalletCheckerComitted"): TypedContractEvent<SmartWalletCheckerComittedEvent.InputTuple, SmartWalletCheckerComittedEvent.OutputTuple, SmartWalletCheckerComittedEvent.OutputObject>;
    getEvent(key: "StakerProxySet"): TypedContractEvent<StakerProxySetEvent.InputTuple, StakerProxySetEvent.OutputTuple, StakerProxySetEvent.OutputObject>;
    getEvent(key: "Supply"): TypedContractEvent<SupplyEvent.InputTuple, SupplyEvent.OutputTuple, SupplyEvent.OutputObject>;
    getEvent(key: "TransferFromApp"): TypedContractEvent<TransferFromAppEvent.InputTuple, TransferFromAppEvent.OutputTuple, TransferFromAppEvent.OutputObject>;
    getEvent(key: "Withdraw"): TypedContractEvent<WithdrawEvent.InputTuple, WithdrawEvent.OutputTuple, WithdrawEvent.OutputObject>;
    filters: {
        "AcceptOwnership(address)": TypedContractEvent<AcceptOwnershipEvent.InputTuple, AcceptOwnershipEvent.OutputTuple, AcceptOwnershipEvent.OutputObject>;
        AcceptOwnership: TypedContractEvent<AcceptOwnershipEvent.InputTuple, AcceptOwnershipEvent.OutputTuple, AcceptOwnershipEvent.OutputObject>;
        "AppIncreaseAmountForsToggled(bool)": TypedContractEvent<AppIncreaseAmountForsToggledEvent.InputTuple, AppIncreaseAmountForsToggledEvent.OutputTuple, AppIncreaseAmountForsToggledEvent.OutputObject>;
        AppIncreaseAmountForsToggled: TypedContractEvent<AppIncreaseAmountForsToggledEvent.InputTuple, AppIncreaseAmountForsToggledEvent.OutputTuple, AppIncreaseAmountForsToggledEvent.OutputObject>;
        "Deposit(address,address,uint256,uint256,int128,uint256)": TypedContractEvent<DepositEvent.InputTuple, DepositEvent.OutputTuple, DepositEvent.OutputObject>;
        Deposit: TypedContractEvent<DepositEvent.InputTuple, DepositEvent.OutputTuple, DepositEvent.OutputObject>;
        "HistoricalProxyToggled(address,bool)": TypedContractEvent<HistoricalProxyToggledEvent.InputTuple, HistoricalProxyToggledEvent.OutputTuple, HistoricalProxyToggledEvent.OutputObject>;
        HistoricalProxyToggled: TypedContractEvent<HistoricalProxyToggledEvent.InputTuple, HistoricalProxyToggledEvent.OutputTuple, HistoricalProxyToggledEvent.OutputObject>;
        "LendingProxySet(address)": TypedContractEvent<LendingProxySetEvent.InputTuple, LendingProxySetEvent.OutputTuple, LendingProxySetEvent.OutputObject>;
        LendingProxySet: TypedContractEvent<LendingProxySetEvent.InputTuple, LendingProxySetEvent.OutputTuple, LendingProxySetEvent.OutputObject>;
        "NominateOwnership(address)": TypedContractEvent<NominateOwnershipEvent.InputTuple, NominateOwnershipEvent.OutputTuple, NominateOwnershipEvent.OutputObject>;
        NominateOwnership: TypedContractEvent<NominateOwnershipEvent.InputTuple, NominateOwnershipEvent.OutputTuple, NominateOwnershipEvent.OutputObject>;
        "OwnershipTransferStarted(address,address)": TypedContractEvent<OwnershipTransferStartedEvent.InputTuple, OwnershipTransferStartedEvent.OutputTuple, OwnershipTransferStartedEvent.OutputObject>;
        OwnershipTransferStarted: TypedContractEvent<OwnershipTransferStartedEvent.InputTuple, OwnershipTransferStartedEvent.OutputTuple, OwnershipTransferStartedEvent.OutputObject>;
        "OwnershipTransferred(address,address)": TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
        OwnershipTransferred: TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
        "ProxyAdd(address,address,uint256)": TypedContractEvent<ProxyAddEvent.InputTuple, ProxyAddEvent.OutputTuple, ProxyAddEvent.OutputObject>;
        ProxyAdd: TypedContractEvent<ProxyAddEvent.InputTuple, ProxyAddEvent.OutputTuple, ProxyAddEvent.OutputObject>;
        "ProxyAddsToggled(bool)": TypedContractEvent<ProxyAddsToggledEvent.InputTuple, ProxyAddsToggledEvent.OutputTuple, ProxyAddsToggledEvent.OutputObject>;
        ProxyAddsToggled: TypedContractEvent<ProxyAddsToggledEvent.InputTuple, ProxyAddsToggledEvent.OutputTuple, ProxyAddsToggledEvent.OutputObject>;
        "ProxySlashesToggled(bool)": TypedContractEvent<ProxySlashesToggledEvent.InputTuple, ProxySlashesToggledEvent.OutputTuple, ProxySlashesToggledEvent.OutputObject>;
        ProxySlashesToggled: TypedContractEvent<ProxySlashesToggledEvent.InputTuple, ProxySlashesToggledEvent.OutputTuple, ProxySlashesToggledEvent.OutputObject>;
        "ProxyTransferFromsToggled(bool)": TypedContractEvent<ProxyTransferFromsToggledEvent.InputTuple, ProxyTransferFromsToggledEvent.OutputTuple, ProxyTransferFromsToggledEvent.OutputObject>;
        ProxyTransferFromsToggled: TypedContractEvent<ProxyTransferFromsToggledEvent.InputTuple, ProxyTransferFromsToggledEvent.OutputTuple, ProxyTransferFromsToggledEvent.OutputObject>;
        "ProxyTransferTosToggled(bool)": TypedContractEvent<ProxyTransferTosToggledEvent.InputTuple, ProxyTransferTosToggledEvent.OutputTuple, ProxyTransferTosToggledEvent.OutputObject>;
        ProxyTransferTosToggled: TypedContractEvent<ProxyTransferTosToggledEvent.InputTuple, ProxyTransferTosToggledEvent.OutputTuple, ProxyTransferTosToggledEvent.OutputObject>;
        "SmartWalletCheckerApplied(address)": TypedContractEvent<SmartWalletCheckerAppliedEvent.InputTuple, SmartWalletCheckerAppliedEvent.OutputTuple, SmartWalletCheckerAppliedEvent.OutputObject>;
        SmartWalletCheckerApplied: TypedContractEvent<SmartWalletCheckerAppliedEvent.InputTuple, SmartWalletCheckerAppliedEvent.OutputTuple, SmartWalletCheckerAppliedEvent.OutputObject>;
        "SmartWalletCheckerComitted(address)": TypedContractEvent<SmartWalletCheckerComittedEvent.InputTuple, SmartWalletCheckerComittedEvent.OutputTuple, SmartWalletCheckerComittedEvent.OutputObject>;
        SmartWalletCheckerComitted: TypedContractEvent<SmartWalletCheckerComittedEvent.InputTuple, SmartWalletCheckerComittedEvent.OutputTuple, SmartWalletCheckerComittedEvent.OutputObject>;
        "StakerProxySet(address)": TypedContractEvent<StakerProxySetEvent.InputTuple, StakerProxySetEvent.OutputTuple, StakerProxySetEvent.OutputObject>;
        StakerProxySet: TypedContractEvent<StakerProxySetEvent.InputTuple, StakerProxySetEvent.OutputTuple, StakerProxySetEvent.OutputObject>;
        "Supply(uint256,uint256)": TypedContractEvent<SupplyEvent.InputTuple, SupplyEvent.OutputTuple, SupplyEvent.OutputObject>;
        Supply: TypedContractEvent<SupplyEvent.InputTuple, SupplyEvent.OutputTuple, SupplyEvent.OutputObject>;
        "TransferFromApp(address,address,uint256)": TypedContractEvent<TransferFromAppEvent.InputTuple, TransferFromAppEvent.OutputTuple, TransferFromAppEvent.OutputObject>;
        TransferFromApp: TypedContractEvent<TransferFromAppEvent.InputTuple, TransferFromAppEvent.OutputTuple, TransferFromAppEvent.OutputObject>;
        "Withdraw(address,address,uint256,uint256)": TypedContractEvent<WithdrawEvent.InputTuple, WithdrawEvent.OutputTuple, WithdrawEvent.OutputObject>;
        Withdraw: TypedContractEvent<WithdrawEvent.InputTuple, WithdrawEvent.OutputTuple, WithdrawEvent.OutputObject>;
    };
}
