/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
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 interface BaluniV1RegistryInterface extends Interface {
  getFunction(
    nameOrSignature:
      | "UPGRADE_INTERFACE_VERSION"
      | "USDC"
      | "WNATIVE"
      | "_1inchSpotAgg"
      | "_BPS_BASE"
      | "_BPS_FEE"
      | "_MAX_BPS_FEE"
      | "_REBALANCE_THRESHOLD"
      | "baluniAgentFactory"
      | "baluniDCAVaultRegistry"
      | "baluniHyperPoolZap"
      | "baluniOracle"
      | "baluniPoolPeriphery"
      | "baluniPoolRegistry"
      | "baluniPoolZap"
      | "baluniRebalancer"
      | "baluniRegistry"
      | "baluniRouter"
      | "baluniSwapper"
      | "baluniYearnVaultRegistry"
      | "get1inchSpotAgg"
      | "getBPS_BASE"
      | "getBPS_FEE"
      | "getBaluniAgentFactory"
      | "getBaluniDCAVaultRegistry"
      | "getBaluniHyperPoolZap"
      | "getBaluniOracle"
      | "getBaluniPoolPeriphery"
      | "getBaluniPoolRegistry"
      | "getBaluniPoolZap"
      | "getBaluniRebalancer"
      | "getBaluniRegistry"
      | "getBaluniRouter"
      | "getBaluniSwapper"
      | "getBaluniYearnVaultRegistry"
      | "getMAX_BPS_FEE"
      | "getREBALANCE_THRESHOLD"
      | "getStaticOracle"
      | "getTreasury"
      | "getUSDC"
      | "getUniswapFactory"
      | "getUniswapQuoter"
      | "getUniswapRouter"
      | "getWNATIVE"
      | "initialize"
      | "owner"
      | "proxiableUUID"
      | "renounceOwnership"
      | "set1inchSpotAgg"
      | "setBPS_FEE"
      | "setBaluniAgentFactory"
      | "setBaluniDCAVaultRegistry"
      | "setBaluniHyperPoolZap"
      | "setBaluniOracle"
      | "setBaluniPoolPeriphery"
      | "setBaluniPoolRegistry"
      | "setBaluniPoolZap"
      | "setBaluniRebalancer"
      | "setBaluniRegistry"
      | "setBaluniRouter"
      | "setBaluniSwapper"
      | "setBaluniYearnVaultRegistry"
      | "setREBALANCE_THRESHOLD"
      | "setStaticOracle"
      | "setTreasury"
      | "setUSDC"
      | "setUniswapFactory"
      | "setUniswapQuoter"
      | "setUniswapRouter"
      | "setWNATIVE"
      | "staticOracle"
      | "transferOwnership"
      | "treasury"
      | "uniswapFactory"
      | "uniswapQuoter"
      | "uniswapRouter"
      | "upgradeToAndCall"
  ): FunctionFragment;

  getEvent(
    nameOrSignatureOrTopic: "Initialized" | "OwnershipTransferred" | "Upgraded"
  ): EventFragment;

  encodeFunctionData(
    functionFragment: "UPGRADE_INTERFACE_VERSION",
    values?: undefined
  ): string;
  encodeFunctionData(functionFragment: "USDC", values?: undefined): string;
  encodeFunctionData(functionFragment: "WNATIVE", values?: undefined): string;
  encodeFunctionData(
    functionFragment: "_1inchSpotAgg",
    values?: undefined
  ): string;
  encodeFunctionData(functionFragment: "_BPS_BASE", values?: undefined): string;
  encodeFunctionData(functionFragment: "_BPS_FEE", values?: undefined): string;
  encodeFunctionData(
    functionFragment: "_MAX_BPS_FEE",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "_REBALANCE_THRESHOLD",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "baluniAgentFactory",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "baluniDCAVaultRegistry",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "baluniHyperPoolZap",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "baluniOracle",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "baluniPoolPeriphery",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "baluniPoolRegistry",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "baluniPoolZap",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "baluniRebalancer",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "baluniRegistry",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "baluniRouter",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "baluniSwapper",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "baluniYearnVaultRegistry",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "get1inchSpotAgg",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getBPS_BASE",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getBPS_FEE",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getBaluniAgentFactory",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getBaluniDCAVaultRegistry",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getBaluniHyperPoolZap",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getBaluniOracle",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getBaluniPoolPeriphery",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getBaluniPoolRegistry",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getBaluniPoolZap",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getBaluniRebalancer",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getBaluniRegistry",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getBaluniRouter",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getBaluniSwapper",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getBaluniYearnVaultRegistry",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getMAX_BPS_FEE",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getREBALANCE_THRESHOLD",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getStaticOracle",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getTreasury",
    values?: undefined
  ): string;
  encodeFunctionData(functionFragment: "getUSDC", values?: undefined): string;
  encodeFunctionData(
    functionFragment: "getUniswapFactory",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getUniswapQuoter",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getUniswapRouter",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getWNATIVE",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "initialize",
    values?: undefined
  ): string;
  encodeFunctionData(functionFragment: "owner", values?: undefined): string;
  encodeFunctionData(
    functionFragment: "proxiableUUID",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "renounceOwnership",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "set1inchSpotAgg",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "setBPS_FEE",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "setBaluniAgentFactory",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "setBaluniDCAVaultRegistry",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "setBaluniHyperPoolZap",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "setBaluniOracle",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "setBaluniPoolPeriphery",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "setBaluniPoolRegistry",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "setBaluniPoolZap",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "setBaluniRebalancer",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "setBaluniRegistry",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "setBaluniRouter",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "setBaluniSwapper",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "setBaluniYearnVaultRegistry",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "setREBALANCE_THRESHOLD",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "setStaticOracle",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "setTreasury",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "setUSDC",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "setUniswapFactory",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "setUniswapQuoter",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "setUniswapRouter",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "setWNATIVE",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "staticOracle",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "transferOwnership",
    values: [AddressLike]
  ): string;
  encodeFunctionData(functionFragment: "treasury", values?: undefined): string;
  encodeFunctionData(
    functionFragment: "uniswapFactory",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "uniswapQuoter",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "uniswapRouter",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "upgradeToAndCall",
    values: [AddressLike, BytesLike]
  ): string;

  decodeFunctionResult(
    functionFragment: "UPGRADE_INTERFACE_VERSION",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "USDC", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "WNATIVE", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "_1inchSpotAgg",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "_BPS_BASE", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "_BPS_FEE", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "_MAX_BPS_FEE",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "_REBALANCE_THRESHOLD",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "baluniAgentFactory",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "baluniDCAVaultRegistry",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "baluniHyperPoolZap",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "baluniOracle",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "baluniPoolPeriphery",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "baluniPoolRegistry",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "baluniPoolZap",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "baluniRebalancer",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "baluniRegistry",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "baluniRouter",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "baluniSwapper",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "baluniYearnVaultRegistry",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "get1inchSpotAgg",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getBPS_BASE",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "getBPS_FEE", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "getBaluniAgentFactory",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getBaluniDCAVaultRegistry",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getBaluniHyperPoolZap",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getBaluniOracle",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getBaluniPoolPeriphery",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getBaluniPoolRegistry",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getBaluniPoolZap",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getBaluniRebalancer",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getBaluniRegistry",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getBaluniRouter",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getBaluniSwapper",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getBaluniYearnVaultRegistry",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getMAX_BPS_FEE",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getREBALANCE_THRESHOLD",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getStaticOracle",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getTreasury",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "getUSDC", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "getUniswapFactory",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getUniswapQuoter",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getUniswapRouter",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "getWNATIVE", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "proxiableUUID",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "renounceOwnership",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "set1inchSpotAgg",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "setBPS_FEE", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "setBaluniAgentFactory",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setBaluniDCAVaultRegistry",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setBaluniHyperPoolZap",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setBaluniOracle",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setBaluniPoolPeriphery",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setBaluniPoolRegistry",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setBaluniPoolZap",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setBaluniRebalancer",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setBaluniRegistry",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setBaluniRouter",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setBaluniSwapper",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setBaluniYearnVaultRegistry",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setREBALANCE_THRESHOLD",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setStaticOracle",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setTreasury",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "setUSDC", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "setUniswapFactory",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setUniswapQuoter",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setUniswapRouter",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "setWNATIVE", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "staticOracle",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "transferOwnership",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "treasury", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "uniswapFactory",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "uniswapQuoter",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "uniswapRouter",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "upgradeToAndCall",
    data: BytesLike
  ): Result;
}

export namespace InitializedEvent {
  export type InputTuple = [version: BigNumberish];
  export type OutputTuple = [version: bigint];
  export interface OutputObject {
    version: bigint;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace OwnershipTransferredEvent {
  export type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike];
  export type OutputTuple = [previousOwner: string, newOwner: string];
  export interface OutputObject {
    previousOwner: string;
    newOwner: string;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace UpgradedEvent {
  export type InputTuple = [implementation: AddressLike];
  export type OutputTuple = [implementation: string];
  export interface OutputObject {
    implementation: string;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export interface BaluniV1Registry extends BaseContract {
  connect(runner?: ContractRunner | null): BaluniV1Registry;
  waitForDeployment(): Promise<this>;

  interface: BaluniV1RegistryInterface;

  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>;

  UPGRADE_INTERFACE_VERSION: TypedContractMethod<[], [string], "view">;

  USDC: TypedContractMethod<[], [string], "view">;

  WNATIVE: TypedContractMethod<[], [string], "view">;

  _1inchSpotAgg: TypedContractMethod<[], [string], "view">;

  _BPS_BASE: TypedContractMethod<[], [bigint], "view">;

  _BPS_FEE: TypedContractMethod<[], [bigint], "view">;

  _MAX_BPS_FEE: TypedContractMethod<[], [bigint], "view">;

  _REBALANCE_THRESHOLD: TypedContractMethod<[], [bigint], "view">;

  baluniAgentFactory: TypedContractMethod<[], [string], "view">;

  baluniDCAVaultRegistry: TypedContractMethod<[], [string], "view">;

  baluniHyperPoolZap: TypedContractMethod<[], [string], "view">;

  baluniOracle: TypedContractMethod<[], [string], "view">;

  baluniPoolPeriphery: TypedContractMethod<[], [string], "view">;

  baluniPoolRegistry: TypedContractMethod<[], [string], "view">;

  baluniPoolZap: TypedContractMethod<[], [string], "view">;

  baluniRebalancer: TypedContractMethod<[], [string], "view">;

  baluniRegistry: TypedContractMethod<[], [string], "view">;

  baluniRouter: TypedContractMethod<[], [string], "view">;

  baluniSwapper: TypedContractMethod<[], [string], "view">;

  baluniYearnVaultRegistry: TypedContractMethod<[], [string], "view">;

  get1inchSpotAgg: TypedContractMethod<[], [string], "view">;

  getBPS_BASE: TypedContractMethod<[], [bigint], "view">;

  getBPS_FEE: TypedContractMethod<[], [bigint], "view">;

  getBaluniAgentFactory: TypedContractMethod<[], [string], "view">;

  getBaluniDCAVaultRegistry: TypedContractMethod<[], [string], "view">;

  getBaluniHyperPoolZap: TypedContractMethod<[], [string], "view">;

  getBaluniOracle: TypedContractMethod<[], [string], "view">;

  getBaluniPoolPeriphery: TypedContractMethod<[], [string], "view">;

  getBaluniPoolRegistry: TypedContractMethod<[], [string], "view">;

  getBaluniPoolZap: TypedContractMethod<[], [string], "view">;

  getBaluniRebalancer: TypedContractMethod<[], [string], "view">;

  getBaluniRegistry: TypedContractMethod<[], [string], "view">;

  getBaluniRouter: TypedContractMethod<[], [string], "view">;

  getBaluniSwapper: TypedContractMethod<[], [string], "view">;

  getBaluniYearnVaultRegistry: TypedContractMethod<[], [string], "view">;

  getMAX_BPS_FEE: TypedContractMethod<[], [bigint], "view">;

  getREBALANCE_THRESHOLD: TypedContractMethod<[], [bigint], "view">;

  getStaticOracle: TypedContractMethod<[], [string], "view">;

  getTreasury: TypedContractMethod<[], [string], "view">;

  getUSDC: TypedContractMethod<[], [string], "view">;

  getUniswapFactory: TypedContractMethod<[], [string], "view">;

  getUniswapQuoter: TypedContractMethod<[], [string], "view">;

  getUniswapRouter: TypedContractMethod<[], [string], "view">;

  getWNATIVE: TypedContractMethod<[], [string], "view">;

  initialize: TypedContractMethod<[], [void], "nonpayable">;

  owner: TypedContractMethod<[], [string], "view">;

  proxiableUUID: TypedContractMethod<[], [string], "view">;

  renounceOwnership: TypedContractMethod<[], [void], "nonpayable">;

  set1inchSpotAgg: TypedContractMethod<
    [__1inchSpotAgg: AddressLike],
    [void],
    "nonpayable"
  >;

  setBPS_FEE: TypedContractMethod<
    [__BPS_FEE: BigNumberish],
    [void],
    "nonpayable"
  >;

  setBaluniAgentFactory: TypedContractMethod<
    [_baluniAgentFactory: AddressLike],
    [void],
    "nonpayable"
  >;

  setBaluniDCAVaultRegistry: TypedContractMethod<
    [_baluniDCAVaultRegistry: AddressLike],
    [void],
    "nonpayable"
  >;

  setBaluniHyperPoolZap: TypedContractMethod<
    [_baluniHyperPoolZap: AddressLike],
    [void],
    "nonpayable"
  >;

  setBaluniOracle: TypedContractMethod<
    [_baluniOracle: AddressLike],
    [void],
    "nonpayable"
  >;

  setBaluniPoolPeriphery: TypedContractMethod<
    [_baluniPoolPeriphery: AddressLike],
    [void],
    "nonpayable"
  >;

  setBaluniPoolRegistry: TypedContractMethod<
    [_baluniPoolRegistry: AddressLike],
    [void],
    "nonpayable"
  >;

  setBaluniPoolZap: TypedContractMethod<
    [_baluniPoolZap: AddressLike],
    [void],
    "nonpayable"
  >;

  setBaluniRebalancer: TypedContractMethod<
    [_baluniRebalancer: AddressLike],
    [void],
    "nonpayable"
  >;

  setBaluniRegistry: TypedContractMethod<
    [_baluniRegistry: AddressLike],
    [void],
    "nonpayable"
  >;

  setBaluniRouter: TypedContractMethod<
    [_baluniRouter: AddressLike],
    [void],
    "nonpayable"
  >;

  setBaluniSwapper: TypedContractMethod<
    [_baluniSwapper: AddressLike],
    [void],
    "nonpayable"
  >;

  setBaluniYearnVaultRegistry: TypedContractMethod<
    [_baluniYearnVaultRegistry: AddressLike],
    [void],
    "nonpayable"
  >;

  setREBALANCE_THRESHOLD: TypedContractMethod<
    [__REBALANCE_THRESHOLD: BigNumberish],
    [void],
    "nonpayable"
  >;

  setStaticOracle: TypedContractMethod<
    [_staticOracle: AddressLike],
    [void],
    "nonpayable"
  >;

  setTreasury: TypedContractMethod<
    [_treasury: AddressLike],
    [void],
    "nonpayable"
  >;

  setUSDC: TypedContractMethod<[_USDC: AddressLike], [void], "nonpayable">;

  setUniswapFactory: TypedContractMethod<
    [_uniswapFactory: AddressLike],
    [void],
    "nonpayable"
  >;

  setUniswapQuoter: TypedContractMethod<
    [_uniswapQuoter: AddressLike],
    [void],
    "nonpayable"
  >;

  setUniswapRouter: TypedContractMethod<
    [_uniswapRouter: AddressLike],
    [void],
    "nonpayable"
  >;

  setWNATIVE: TypedContractMethod<
    [_WNATIVE: AddressLike],
    [void],
    "nonpayable"
  >;

  staticOracle: TypedContractMethod<[], [string], "view">;

  transferOwnership: TypedContractMethod<
    [newOwner: AddressLike],
    [void],
    "nonpayable"
  >;

  treasury: TypedContractMethod<[], [string], "view">;

  uniswapFactory: TypedContractMethod<[], [string], "view">;

  uniswapQuoter: TypedContractMethod<[], [string], "view">;

  uniswapRouter: TypedContractMethod<[], [string], "view">;

  upgradeToAndCall: TypedContractMethod<
    [newImplementation: AddressLike, data: BytesLike],
    [void],
    "payable"
  >;

  getFunction<T extends ContractMethod = ContractMethod>(
    key: string | FunctionFragment
  ): T;

  getFunction(
    nameOrSignature: "UPGRADE_INTERFACE_VERSION"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "USDC"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "WNATIVE"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "_1inchSpotAgg"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "_BPS_BASE"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "_BPS_FEE"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "_MAX_BPS_FEE"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "_REBALANCE_THRESHOLD"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "baluniAgentFactory"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "baluniDCAVaultRegistry"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "baluniHyperPoolZap"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "baluniOracle"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "baluniPoolPeriphery"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "baluniPoolRegistry"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "baluniPoolZap"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "baluniRebalancer"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "baluniRegistry"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "baluniRouter"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "baluniSwapper"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "baluniYearnVaultRegistry"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "get1inchSpotAgg"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "getBPS_BASE"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "getBPS_FEE"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "getBaluniAgentFactory"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "getBaluniDCAVaultRegistry"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "getBaluniHyperPoolZap"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "getBaluniOracle"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "getBaluniPoolPeriphery"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "getBaluniPoolRegistry"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "getBaluniPoolZap"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "getBaluniRebalancer"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "getBaluniRegistry"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "getBaluniRouter"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "getBaluniSwapper"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "getBaluniYearnVaultRegistry"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "getMAX_BPS_FEE"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "getREBALANCE_THRESHOLD"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "getStaticOracle"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "getTreasury"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "getUSDC"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "getUniswapFactory"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "getUniswapQuoter"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "getUniswapRouter"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "getWNATIVE"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "initialize"
  ): TypedContractMethod<[], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "owner"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "proxiableUUID"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "renounceOwnership"
  ): TypedContractMethod<[], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "set1inchSpotAgg"
  ): TypedContractMethod<[__1inchSpotAgg: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setBPS_FEE"
  ): TypedContractMethod<[__BPS_FEE: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setBaluniAgentFactory"
  ): TypedContractMethod<
    [_baluniAgentFactory: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "setBaluniDCAVaultRegistry"
  ): TypedContractMethod<
    [_baluniDCAVaultRegistry: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "setBaluniHyperPoolZap"
  ): TypedContractMethod<
    [_baluniHyperPoolZap: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "setBaluniOracle"
  ): TypedContractMethod<[_baluniOracle: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setBaluniPoolPeriphery"
  ): TypedContractMethod<
    [_baluniPoolPeriphery: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "setBaluniPoolRegistry"
  ): TypedContractMethod<
    [_baluniPoolRegistry: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "setBaluniPoolZap"
  ): TypedContractMethod<[_baluniPoolZap: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setBaluniRebalancer"
  ): TypedContractMethod<
    [_baluniRebalancer: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "setBaluniRegistry"
  ): TypedContractMethod<[_baluniRegistry: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setBaluniRouter"
  ): TypedContractMethod<[_baluniRouter: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setBaluniSwapper"
  ): TypedContractMethod<[_baluniSwapper: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setBaluniYearnVaultRegistry"
  ): TypedContractMethod<
    [_baluniYearnVaultRegistry: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "setREBALANCE_THRESHOLD"
  ): TypedContractMethod<
    [__REBALANCE_THRESHOLD: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "setStaticOracle"
  ): TypedContractMethod<[_staticOracle: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setTreasury"
  ): TypedContractMethod<[_treasury: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setUSDC"
  ): TypedContractMethod<[_USDC: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setUniswapFactory"
  ): TypedContractMethod<[_uniswapFactory: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setUniswapQuoter"
  ): TypedContractMethod<[_uniswapQuoter: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setUniswapRouter"
  ): TypedContractMethod<[_uniswapRouter: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setWNATIVE"
  ): TypedContractMethod<[_WNATIVE: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "staticOracle"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "transferOwnership"
  ): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "treasury"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "uniswapFactory"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "uniswapQuoter"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "uniswapRouter"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "upgradeToAndCall"
  ): TypedContractMethod<
    [newImplementation: AddressLike, data: BytesLike],
    [void],
    "payable"
  >;

  getEvent(
    key: "Initialized"
  ): TypedContractEvent<
    InitializedEvent.InputTuple,
    InitializedEvent.OutputTuple,
    InitializedEvent.OutputObject
  >;
  getEvent(
    key: "OwnershipTransferred"
  ): TypedContractEvent<
    OwnershipTransferredEvent.InputTuple,
    OwnershipTransferredEvent.OutputTuple,
    OwnershipTransferredEvent.OutputObject
  >;
  getEvent(
    key: "Upgraded"
  ): TypedContractEvent<
    UpgradedEvent.InputTuple,
    UpgradedEvent.OutputTuple,
    UpgradedEvent.OutputObject
  >;

  filters: {
    "Initialized(uint64)": TypedContractEvent<
      InitializedEvent.InputTuple,
      InitializedEvent.OutputTuple,
      InitializedEvent.OutputObject
    >;
    Initialized: TypedContractEvent<
      InitializedEvent.InputTuple,
      InitializedEvent.OutputTuple,
      InitializedEvent.OutputObject
    >;

    "OwnershipTransferred(address,address)": TypedContractEvent<
      OwnershipTransferredEvent.InputTuple,
      OwnershipTransferredEvent.OutputTuple,
      OwnershipTransferredEvent.OutputObject
    >;
    OwnershipTransferred: TypedContractEvent<
      OwnershipTransferredEvent.InputTuple,
      OwnershipTransferredEvent.OutputTuple,
      OwnershipTransferredEvent.OutputObject
    >;

    "Upgraded(address)": TypedContractEvent<
      UpgradedEvent.InputTuple,
      UpgradedEvent.OutputTuple,
      UpgradedEvent.OutputObject
    >;
    Upgraded: TypedContractEvent<
      UpgradedEvent.InputTuple,
      UpgradedEvent.OutputTuple,
      UpgradedEvent.OutputObject
    >;
  };
}
