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 interface MapleBitcoinStrategyAbiInterface extends utils.Interface { functions: { "HUNDRED_PERCENT()": FunctionFragment; "PRECISION()": FunctionFragment; "STRATEGY_TYPE()": FunctionFragment; "accruedFees()": FunctionFragment; "accruedYield()": FunctionFragment; "assetsUnderManagement()": FunctionFragment; "controllers(address)": FunctionFragment; "deploy(address,uint256)": FunctionFragment; "factory()": FunctionFragment; "feeRate()": FunctionFragment; "globals()": FunctionFragment; "impairedAssets()": FunctionFragment; "implementation()": FunctionFragment; "locked()": FunctionFragment; "migrate(address,bytes)": FunctionFragment; "outstandingAssets()": FunctionFragment; "permissions(address)": FunctionFragment; "pool()": FunctionFragment; "poolAsset()": FunctionFragment; "poolManager()": FunctionFragment; "realizedFees()": FunctionFragment; "reconcile(address,uint256)": FunctionFragment; "schedule(uint256,uint32)": FunctionFragment; "schedules(uint256)": FunctionFragment; "setAssetController(address,address)": FunctionFragment; "setDefault(uint256)": FunctionFragment; "setFeeRate(uint256)": FunctionFragment; "setImpairment(uint256)": FunctionFragment; "setImplementation(address)": FunctionFragment; "setPermissions(address[],bool[],bool[],bool[])": FunctionFragment; "unrealizedLosses()": FunctionFragment; "upgrade(uint256,bytes)": FunctionFragment; "yieldRate()": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "HUNDRED_PERCENT" | "PRECISION" | "STRATEGY_TYPE" | "accruedFees" | "accruedYield" | "assetsUnderManagement" | "controllers" | "deploy" | "factory" | "feeRate" | "globals" | "impairedAssets" | "implementation" | "locked" | "migrate" | "outstandingAssets" | "permissions" | "pool" | "poolAsset" | "poolManager" | "realizedFees" | "reconcile" | "schedule" | "schedules" | "setAssetController" | "setDefault" | "setFeeRate" | "setImpairment" | "setImplementation" | "setPermissions" | "unrealizedLosses" | "upgrade" | "yieldRate"): FunctionFragment; encodeFunctionData(functionFragment: "HUNDRED_PERCENT", values?: undefined): string; encodeFunctionData(functionFragment: "PRECISION", values?: undefined): string; encodeFunctionData(functionFragment: "STRATEGY_TYPE", values?: undefined): string; encodeFunctionData(functionFragment: "accruedFees", values?: undefined): string; encodeFunctionData(functionFragment: "accruedYield", values?: undefined): string; encodeFunctionData(functionFragment: "assetsUnderManagement", values?: undefined): string; encodeFunctionData(functionFragment: "controllers", values: [string]): string; encodeFunctionData(functionFragment: "deploy", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "factory", values?: undefined): string; encodeFunctionData(functionFragment: "feeRate", values?: undefined): string; encodeFunctionData(functionFragment: "globals", values?: undefined): string; encodeFunctionData(functionFragment: "impairedAssets", values?: undefined): string; encodeFunctionData(functionFragment: "implementation", values?: undefined): string; encodeFunctionData(functionFragment: "locked", values?: undefined): string; encodeFunctionData(functionFragment: "migrate", values: [string, BytesLike]): string; encodeFunctionData(functionFragment: "outstandingAssets", values?: undefined): string; encodeFunctionData(functionFragment: "permissions", values: [string]): string; encodeFunctionData(functionFragment: "pool", values?: undefined): string; encodeFunctionData(functionFragment: "poolAsset", values?: undefined): string; encodeFunctionData(functionFragment: "poolManager", values?: undefined): string; encodeFunctionData(functionFragment: "realizedFees", values?: undefined): string; encodeFunctionData(functionFragment: "reconcile", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "schedule", values: [BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "schedules", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "setAssetController", values: [string, string]): string; encodeFunctionData(functionFragment: "setDefault", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "setFeeRate", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "setImpairment", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "setImplementation", values: [string]): string; encodeFunctionData(functionFragment: "setPermissions", values: [string[], boolean[], boolean[], boolean[]]): string; encodeFunctionData(functionFragment: "unrealizedLosses", values?: undefined): string; encodeFunctionData(functionFragment: "upgrade", values: [BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: "yieldRate", values?: undefined): string; decodeFunctionResult(functionFragment: "HUNDRED_PERCENT", data: BytesLike): Result; decodeFunctionResult(functionFragment: "PRECISION", data: BytesLike): Result; decodeFunctionResult(functionFragment: "STRATEGY_TYPE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "accruedFees", data: BytesLike): Result; decodeFunctionResult(functionFragment: "accruedYield", data: BytesLike): Result; decodeFunctionResult(functionFragment: "assetsUnderManagement", data: BytesLike): Result; decodeFunctionResult(functionFragment: "controllers", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deploy", data: BytesLike): Result; decodeFunctionResult(functionFragment: "factory", data: BytesLike): Result; decodeFunctionResult(functionFragment: "feeRate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "globals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "impairedAssets", data: BytesLike): Result; decodeFunctionResult(functionFragment: "implementation", data: BytesLike): Result; decodeFunctionResult(functionFragment: "locked", data: BytesLike): Result; decodeFunctionResult(functionFragment: "migrate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "outstandingAssets", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permissions", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poolAsset", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poolManager", data: BytesLike): Result; decodeFunctionResult(functionFragment: "realizedFees", data: BytesLike): Result; decodeFunctionResult(functionFragment: "reconcile", data: BytesLike): Result; decodeFunctionResult(functionFragment: "schedule", data: BytesLike): Result; decodeFunctionResult(functionFragment: "schedules", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setAssetController", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setDefault", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setFeeRate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setImpairment", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setImplementation", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setPermissions", data: BytesLike): Result; decodeFunctionResult(functionFragment: "unrealizedLosses", data: BytesLike): Result; decodeFunctionResult(functionFragment: "upgrade", data: BytesLike): Result; decodeFunctionResult(functionFragment: "yieldRate", data: BytesLike): Result; events: { "Initialized(address,address)": EventFragment; "AccountingUpdated(uint256,uint256,uint256,uint256,uint256)": EventFragment; "AssetControllerSet(address,address)": EventFragment; "AssetsDefaulted(uint256)": EventFragment; "AssetsDeployed(address,uint256)": EventFragment; "AssetsReconciled(address,uint256)": EventFragment; "FeeRateSet(uint256)": EventFragment; "ImpairmentSet(uint256)": EventFragment; "PermissionsSet(address[],bool[],bool[],bool[])": EventFragment; "Upgraded(uint256,bytes)": EventFragment; "YieldScheduleUpdated(uint256,uint256,uint32)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; getEvent(nameOrSignatureOrTopic: "AccountingUpdated"): EventFragment; getEvent(nameOrSignatureOrTopic: "AssetControllerSet"): EventFragment; getEvent(nameOrSignatureOrTopic: "AssetsDefaulted"): EventFragment; getEvent(nameOrSignatureOrTopic: "AssetsDeployed"): EventFragment; getEvent(nameOrSignatureOrTopic: "AssetsReconciled"): EventFragment; getEvent(nameOrSignatureOrTopic: "FeeRateSet"): EventFragment; getEvent(nameOrSignatureOrTopic: "ImpairmentSet"): EventFragment; getEvent(nameOrSignatureOrTopic: "PermissionsSet"): EventFragment; getEvent(nameOrSignatureOrTopic: "Upgraded"): EventFragment; getEvent(nameOrSignatureOrTopic: "YieldScheduleUpdated"): EventFragment; } export interface InitializedEventObject { pool: string; poolManager: string; } export type InitializedEvent = TypedEvent<[ string, string ], InitializedEventObject>; export type InitializedEventFilter = TypedEventFilter; export interface AccountingUpdatedEventObject { deployedAssets: BigNumber; reconciledAssets: BigNumber; defaultedAssets: BigNumber; accruedYield: BigNumber; realizedFees: BigNumber; } export type AccountingUpdatedEvent = TypedEvent<[ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber ], AccountingUpdatedEventObject>; export type AccountingUpdatedEventFilter = TypedEventFilter; export interface AssetControllerSetEventObject { asset: string; controller: string; } export type AssetControllerSetEvent = TypedEvent<[ string, string ], AssetControllerSetEventObject>; export type AssetControllerSetEventFilter = TypedEventFilter; export interface AssetsDefaultedEventObject { amount: BigNumber; } export type AssetsDefaultedEvent = TypedEvent<[ BigNumber ], AssetsDefaultedEventObject>; export type AssetsDefaultedEventFilter = TypedEventFilter; export interface AssetsDeployedEventObject { asset: string; amount: BigNumber; } export type AssetsDeployedEvent = TypedEvent<[ string, BigNumber ], AssetsDeployedEventObject>; export type AssetsDeployedEventFilter = TypedEventFilter; export interface AssetsReconciledEventObject { asset: string; amount: BigNumber; } export type AssetsReconciledEvent = TypedEvent<[ string, BigNumber ], AssetsReconciledEventObject>; export type AssetsReconciledEventFilter = TypedEventFilter; export interface FeeRateSetEventObject { rate: BigNumber; } export type FeeRateSetEvent = TypedEvent<[BigNumber], FeeRateSetEventObject>; export type FeeRateSetEventFilter = TypedEventFilter; export interface ImpairmentSetEventObject { amount: BigNumber; } export type ImpairmentSetEvent = TypedEvent<[ BigNumber ], ImpairmentSetEventObject>; export type ImpairmentSetEventFilter = TypedEventFilter; export interface PermissionsSetEventObject { addresses: string[]; canDeploy: boolean[]; canReconcile: boolean[]; canSchedule: boolean[]; } export type PermissionsSetEvent = TypedEvent<[ string[], boolean[], boolean[], boolean[] ], PermissionsSetEventObject>; export type PermissionsSetEventFilter = TypedEventFilter; export interface UpgradedEventObject { toVersion_: BigNumber; arguments_: string; } export type UpgradedEvent = TypedEvent<[ BigNumber, string ], UpgradedEventObject>; export type UpgradedEventFilter = TypedEventFilter; export interface YieldScheduleUpdatedEventObject { id: BigNumber; yield: BigNumber; duration: number; } export type YieldScheduleUpdatedEvent = TypedEvent<[ BigNumber, BigNumber, number ], YieldScheduleUpdatedEventObject>; export type YieldScheduleUpdatedEventFilter = TypedEventFilter; export interface MapleBitcoinStrategyAbi extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: MapleBitcoinStrategyAbiInterface; queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; listeners(eventFilter?: TypedEventFilter): Array>; listeners(eventName?: string): Array; removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { HUNDRED_PERCENT(overrides?: CallOverrides): Promise<[BigNumber]>; PRECISION(overrides?: CallOverrides): Promise<[BigNumber]>; STRATEGY_TYPE(overrides?: CallOverrides): Promise<[string]>; accruedFees(overrides?: CallOverrides): Promise<[BigNumber] & { accruedFees_: BigNumber; }>; accruedYield(overrides?: CallOverrides): Promise<[BigNumber] & { accruedYield_: BigNumber; }>; assetsUnderManagement(overrides?: CallOverrides): Promise<[BigNumber] & { assetsUnderManagement_: BigNumber; }>; controllers(arg0: string, overrides?: CallOverrides): Promise<[string]>; deploy(assetOut_: string, amountOut_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; factory(overrides?: CallOverrides): Promise<[string] & { factory_: string; }>; feeRate(overrides?: CallOverrides): Promise<[BigNumber]>; globals(overrides?: CallOverrides): Promise<[string] & { globals_: string; }>; impairedAssets(overrides?: CallOverrides): Promise<[BigNumber]>; implementation(overrides?: CallOverrides): Promise<[string] & { implementation_: string; }>; locked(overrides?: CallOverrides): Promise<[BigNumber]>; migrate(migrator_: string, arguments_: BytesLike, overrides?: Overrides & { from?: string; }): Promise; outstandingAssets(overrides?: CallOverrides): Promise<[BigNumber]>; permissions(arg0: string, overrides?: CallOverrides): Promise<[ boolean, boolean, boolean ] & { canDeploy: boolean; canReconcile: boolean; canSchedule: boolean; }>; pool(overrides?: CallOverrides): Promise<[string]>; poolAsset(overrides?: CallOverrides): Promise<[string]>; poolManager(overrides?: CallOverrides): Promise<[string]>; realizedFees(overrides?: CallOverrides): Promise<[BigNumber]>; reconcile(assetIn_: string, amountIn_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; schedule(yieldAmount_: BigNumberish, deadline_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; schedules(arg0: BigNumberish, overrides?: CallOverrides): Promise<[ BigNumber, number, number ] & { remainingYield: BigNumber; lastUpdated: number; remainingDuration: number; }>; setAssetController(depositAsset_: string, newController_: string, overrides?: Overrides & { from?: string; }): Promise; setDefault(defaultAmount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setFeeRate(feeRate_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setImpairment(impairmentAmount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setImplementation(implementation_: string, overrides?: Overrides & { from?: string; }): Promise; setPermissions(addresses_: string[], canDeploy_: boolean[], canReconcile_: boolean[], canSchedule_: boolean[], overrides?: Overrides & { from?: string; }): Promise; unrealizedLosses(overrides?: CallOverrides): Promise<[BigNumber] & { unrealizedLosses_: BigNumber; }>; upgrade(version_: BigNumberish, arguments_: BytesLike, overrides?: Overrides & { from?: string; }): Promise; yieldRate(overrides?: CallOverrides): Promise<[BigNumber] & { yieldRate_: BigNumber; }>; }; HUNDRED_PERCENT(overrides?: CallOverrides): Promise; PRECISION(overrides?: CallOverrides): Promise; STRATEGY_TYPE(overrides?: CallOverrides): Promise; accruedFees(overrides?: CallOverrides): Promise; accruedYield(overrides?: CallOverrides): Promise; assetsUnderManagement(overrides?: CallOverrides): Promise; controllers(arg0: string, overrides?: CallOverrides): Promise; deploy(assetOut_: string, amountOut_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; factory(overrides?: CallOverrides): Promise; feeRate(overrides?: CallOverrides): Promise; globals(overrides?: CallOverrides): Promise; impairedAssets(overrides?: CallOverrides): Promise; implementation(overrides?: CallOverrides): Promise; locked(overrides?: CallOverrides): Promise; migrate(migrator_: string, arguments_: BytesLike, overrides?: Overrides & { from?: string; }): Promise; outstandingAssets(overrides?: CallOverrides): Promise; permissions(arg0: string, overrides?: CallOverrides): Promise<[ boolean, boolean, boolean ] & { canDeploy: boolean; canReconcile: boolean; canSchedule: boolean; }>; pool(overrides?: CallOverrides): Promise; poolAsset(overrides?: CallOverrides): Promise; poolManager(overrides?: CallOverrides): Promise; realizedFees(overrides?: CallOverrides): Promise; reconcile(assetIn_: string, amountIn_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; schedule(yieldAmount_: BigNumberish, deadline_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; schedules(arg0: BigNumberish, overrides?: CallOverrides): Promise<[ BigNumber, number, number ] & { remainingYield: BigNumber; lastUpdated: number; remainingDuration: number; }>; setAssetController(depositAsset_: string, newController_: string, overrides?: Overrides & { from?: string; }): Promise; setDefault(defaultAmount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setFeeRate(feeRate_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setImpairment(impairmentAmount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setImplementation(implementation_: string, overrides?: Overrides & { from?: string; }): Promise; setPermissions(addresses_: string[], canDeploy_: boolean[], canReconcile_: boolean[], canSchedule_: boolean[], overrides?: Overrides & { from?: string; }): Promise; unrealizedLosses(overrides?: CallOverrides): Promise; upgrade(version_: BigNumberish, arguments_: BytesLike, overrides?: Overrides & { from?: string; }): Promise; yieldRate(overrides?: CallOverrides): Promise; callStatic: { HUNDRED_PERCENT(overrides?: CallOverrides): Promise; PRECISION(overrides?: CallOverrides): Promise; STRATEGY_TYPE(overrides?: CallOverrides): Promise; accruedFees(overrides?: CallOverrides): Promise; accruedYield(overrides?: CallOverrides): Promise; assetsUnderManagement(overrides?: CallOverrides): Promise; controllers(arg0: string, overrides?: CallOverrides): Promise; deploy(assetOut_: string, amountOut_: BigNumberish, overrides?: CallOverrides): Promise; factory(overrides?: CallOverrides): Promise; feeRate(overrides?: CallOverrides): Promise; globals(overrides?: CallOverrides): Promise; impairedAssets(overrides?: CallOverrides): Promise; implementation(overrides?: CallOverrides): Promise; locked(overrides?: CallOverrides): Promise; migrate(migrator_: string, arguments_: BytesLike, overrides?: CallOverrides): Promise; outstandingAssets(overrides?: CallOverrides): Promise; permissions(arg0: string, overrides?: CallOverrides): Promise<[ boolean, boolean, boolean ] & { canDeploy: boolean; canReconcile: boolean; canSchedule: boolean; }>; pool(overrides?: CallOverrides): Promise; poolAsset(overrides?: CallOverrides): Promise; poolManager(overrides?: CallOverrides): Promise; realizedFees(overrides?: CallOverrides): Promise; reconcile(assetIn_: string, amountIn_: BigNumberish, overrides?: CallOverrides): Promise; schedule(yieldAmount_: BigNumberish, deadline_: BigNumberish, overrides?: CallOverrides): Promise; schedules(arg0: BigNumberish, overrides?: CallOverrides): Promise<[ BigNumber, number, number ] & { remainingYield: BigNumber; lastUpdated: number; remainingDuration: number; }>; setAssetController(depositAsset_: string, newController_: string, overrides?: CallOverrides): Promise; setDefault(defaultAmount_: BigNumberish, overrides?: CallOverrides): Promise; setFeeRate(feeRate_: BigNumberish, overrides?: CallOverrides): Promise; setImpairment(impairmentAmount_: BigNumberish, overrides?: CallOverrides): Promise; setImplementation(implementation_: string, overrides?: CallOverrides): Promise; setPermissions(addresses_: string[], canDeploy_: boolean[], canReconcile_: boolean[], canSchedule_: boolean[], overrides?: CallOverrides): Promise; unrealizedLosses(overrides?: CallOverrides): Promise; upgrade(version_: BigNumberish, arguments_: BytesLike, overrides?: CallOverrides): Promise; yieldRate(overrides?: CallOverrides): Promise; }; filters: { "Initialized(address,address)"(pool?: string | null, poolManager?: string | null): InitializedEventFilter; Initialized(pool?: string | null, poolManager?: string | null): InitializedEventFilter; "AccountingUpdated(uint256,uint256,uint256,uint256,uint256)"(deployedAssets?: null, reconciledAssets?: null, defaultedAssets?: null, accruedYield?: null, realizedFees?: null): AccountingUpdatedEventFilter; AccountingUpdated(deployedAssets?: null, reconciledAssets?: null, defaultedAssets?: null, accruedYield?: null, realizedFees?: null): AccountingUpdatedEventFilter; "AssetControllerSet(address,address)"(asset?: string | null, controller?: string | null): AssetControllerSetEventFilter; AssetControllerSet(asset?: string | null, controller?: string | null): AssetControllerSetEventFilter; "AssetsDefaulted(uint256)"(amount?: null): AssetsDefaultedEventFilter; AssetsDefaulted(amount?: null): AssetsDefaultedEventFilter; "AssetsDeployed(address,uint256)"(asset?: string | null, amount?: null): AssetsDeployedEventFilter; AssetsDeployed(asset?: string | null, amount?: null): AssetsDeployedEventFilter; "AssetsReconciled(address,uint256)"(asset?: string | null, amount?: null): AssetsReconciledEventFilter; AssetsReconciled(asset?: string | null, amount?: null): AssetsReconciledEventFilter; "FeeRateSet(uint256)"(rate?: null): FeeRateSetEventFilter; FeeRateSet(rate?: null): FeeRateSetEventFilter; "ImpairmentSet(uint256)"(amount?: null): ImpairmentSetEventFilter; ImpairmentSet(amount?: null): ImpairmentSetEventFilter; "PermissionsSet(address[],bool[],bool[],bool[])"(addresses?: null, canDeploy?: null, canReconcile?: null, canSchedule?: null): PermissionsSetEventFilter; PermissionsSet(addresses?: null, canDeploy?: null, canReconcile?: null, canSchedule?: null): PermissionsSetEventFilter; "Upgraded(uint256,bytes)"(toVersion_?: null, arguments_?: null): UpgradedEventFilter; Upgraded(toVersion_?: null, arguments_?: null): UpgradedEventFilter; "YieldScheduleUpdated(uint256,uint256,uint32)"(id?: null, _yield?: null, duration?: null): YieldScheduleUpdatedEventFilter; YieldScheduleUpdated(id?: null, _yield?: null, duration?: null): YieldScheduleUpdatedEventFilter; }; estimateGas: { HUNDRED_PERCENT(overrides?: CallOverrides): Promise; PRECISION(overrides?: CallOverrides): Promise; STRATEGY_TYPE(overrides?: CallOverrides): Promise; accruedFees(overrides?: CallOverrides): Promise; accruedYield(overrides?: CallOverrides): Promise; assetsUnderManagement(overrides?: CallOverrides): Promise; controllers(arg0: string, overrides?: CallOverrides): Promise; deploy(assetOut_: string, amountOut_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; factory(overrides?: CallOverrides): Promise; feeRate(overrides?: CallOverrides): Promise; globals(overrides?: CallOverrides): Promise; impairedAssets(overrides?: CallOverrides): Promise; implementation(overrides?: CallOverrides): Promise; locked(overrides?: CallOverrides): Promise; migrate(migrator_: string, arguments_: BytesLike, overrides?: Overrides & { from?: string; }): Promise; outstandingAssets(overrides?: CallOverrides): Promise; permissions(arg0: string, overrides?: CallOverrides): Promise; pool(overrides?: CallOverrides): Promise; poolAsset(overrides?: CallOverrides): Promise; poolManager(overrides?: CallOverrides): Promise; realizedFees(overrides?: CallOverrides): Promise; reconcile(assetIn_: string, amountIn_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; schedule(yieldAmount_: BigNumberish, deadline_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; schedules(arg0: BigNumberish, overrides?: CallOverrides): Promise; setAssetController(depositAsset_: string, newController_: string, overrides?: Overrides & { from?: string; }): Promise; setDefault(defaultAmount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setFeeRate(feeRate_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setImpairment(impairmentAmount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setImplementation(implementation_: string, overrides?: Overrides & { from?: string; }): Promise; setPermissions(addresses_: string[], canDeploy_: boolean[], canReconcile_: boolean[], canSchedule_: boolean[], overrides?: Overrides & { from?: string; }): Promise; unrealizedLosses(overrides?: CallOverrides): Promise; upgrade(version_: BigNumberish, arguments_: BytesLike, overrides?: Overrides & { from?: string; }): Promise; yieldRate(overrides?: CallOverrides): Promise; }; populateTransaction: { HUNDRED_PERCENT(overrides?: CallOverrides): Promise; PRECISION(overrides?: CallOverrides): Promise; STRATEGY_TYPE(overrides?: CallOverrides): Promise; accruedFees(overrides?: CallOverrides): Promise; accruedYield(overrides?: CallOverrides): Promise; assetsUnderManagement(overrides?: CallOverrides): Promise; controllers(arg0: string, overrides?: CallOverrides): Promise; deploy(assetOut_: string, amountOut_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; factory(overrides?: CallOverrides): Promise; feeRate(overrides?: CallOverrides): Promise; globals(overrides?: CallOverrides): Promise; impairedAssets(overrides?: CallOverrides): Promise; implementation(overrides?: CallOverrides): Promise; locked(overrides?: CallOverrides): Promise; migrate(migrator_: string, arguments_: BytesLike, overrides?: Overrides & { from?: string; }): Promise; outstandingAssets(overrides?: CallOverrides): Promise; permissions(arg0: string, overrides?: CallOverrides): Promise; pool(overrides?: CallOverrides): Promise; poolAsset(overrides?: CallOverrides): Promise; poolManager(overrides?: CallOverrides): Promise; realizedFees(overrides?: CallOverrides): Promise; reconcile(assetIn_: string, amountIn_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; schedule(yieldAmount_: BigNumberish, deadline_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; schedules(arg0: BigNumberish, overrides?: CallOverrides): Promise; setAssetController(depositAsset_: string, newController_: string, overrides?: Overrides & { from?: string; }): Promise; setDefault(defaultAmount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setFeeRate(feeRate_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setImpairment(impairmentAmount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setImplementation(implementation_: string, overrides?: Overrides & { from?: string; }): Promise; setPermissions(addresses_: string[], canDeploy_: boolean[], canReconcile_: boolean[], canSchedule_: boolean[], overrides?: Overrides & { from?: string; }): Promise; unrealizedLosses(overrides?: CallOverrides): Promise; upgrade(version_: BigNumberish, arguments_: BytesLike, overrides?: Overrides & { from?: string; }): Promise; yieldRate(overrides?: CallOverrides): Promise; }; }