import { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers"; import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import { Listener, Provider } from "@ethersproject/providers"; import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface BaseStrategyInterface extends utils.Interface { functions: { "apiVersion()": FunctionFragment; "debtThreshold()": FunctionFragment; "delegatedAssets()": FunctionFragment; "emergencyExit()": FunctionFragment; "estimatedTotalAssets()": FunctionFragment; "harvest()": FunctionFragment; "harvestTrigger(uint256)": FunctionFragment; "isActive()": FunctionFragment; "keeper()": FunctionFragment; "maxReportDelay()": FunctionFragment; "metadataURI()": FunctionFragment; "migrate(address)": FunctionFragment; "minReportDelay()": FunctionFragment; "name()": FunctionFragment; "profitFactor()": FunctionFragment; "rewards()": FunctionFragment; "setDebtThreshold(uint256)": FunctionFragment; "setEmergencyExit()": FunctionFragment; "setKeeper(address)": FunctionFragment; "setMaxReportDelay(uint256)": FunctionFragment; "setMetadataURI(string)": FunctionFragment; "setMinReportDelay(uint256)": FunctionFragment; "setProfitFactor(uint256)": FunctionFragment; "setRewards(address)": FunctionFragment; "setStrategist(address)": FunctionFragment; "strategist()": FunctionFragment; "sweep(address)": FunctionFragment; "tend()": FunctionFragment; "tendTrigger(uint256)": FunctionFragment; "vault()": FunctionFragment; "want()": FunctionFragment; "withdraw(uint256)": FunctionFragment; }; encodeFunctionData(functionFragment: "apiVersion", values?: undefined): string; encodeFunctionData(functionFragment: "debtThreshold", values?: undefined): string; encodeFunctionData(functionFragment: "delegatedAssets", values?: undefined): string; encodeFunctionData(functionFragment: "emergencyExit", values?: undefined): string; encodeFunctionData(functionFragment: "estimatedTotalAssets", values?: undefined): string; encodeFunctionData(functionFragment: "harvest", values?: undefined): string; encodeFunctionData(functionFragment: "harvestTrigger", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "isActive", values?: undefined): string; encodeFunctionData(functionFragment: "keeper", values?: undefined): string; encodeFunctionData(functionFragment: "maxReportDelay", values?: undefined): string; encodeFunctionData(functionFragment: "metadataURI", values?: undefined): string; encodeFunctionData(functionFragment: "migrate", values: [string]): string; encodeFunctionData(functionFragment: "minReportDelay", values?: undefined): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "profitFactor", values?: undefined): string; encodeFunctionData(functionFragment: "rewards", values?: undefined): string; encodeFunctionData(functionFragment: "setDebtThreshold", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "setEmergencyExit", values?: undefined): string; encodeFunctionData(functionFragment: "setKeeper", values: [string]): string; encodeFunctionData(functionFragment: "setMaxReportDelay", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "setMetadataURI", values: [string]): string; encodeFunctionData(functionFragment: "setMinReportDelay", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "setProfitFactor", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "setRewards", values: [string]): string; encodeFunctionData(functionFragment: "setStrategist", values: [string]): string; encodeFunctionData(functionFragment: "strategist", values?: undefined): string; encodeFunctionData(functionFragment: "sweep", values: [string]): string; encodeFunctionData(functionFragment: "tend", values?: undefined): string; encodeFunctionData(functionFragment: "tendTrigger", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "vault", values?: undefined): string; encodeFunctionData(functionFragment: "want", values?: undefined): string; encodeFunctionData(functionFragment: "withdraw", values: [BigNumberish]): string; decodeFunctionResult(functionFragment: "apiVersion", data: BytesLike): Result; decodeFunctionResult(functionFragment: "debtThreshold", data: BytesLike): Result; decodeFunctionResult(functionFragment: "delegatedAssets", data: BytesLike): Result; decodeFunctionResult(functionFragment: "emergencyExit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "estimatedTotalAssets", data: BytesLike): Result; decodeFunctionResult(functionFragment: "harvest", data: BytesLike): Result; decodeFunctionResult(functionFragment: "harvestTrigger", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isActive", data: BytesLike): Result; decodeFunctionResult(functionFragment: "keeper", data: BytesLike): Result; decodeFunctionResult(functionFragment: "maxReportDelay", data: BytesLike): Result; decodeFunctionResult(functionFragment: "metadataURI", data: BytesLike): Result; decodeFunctionResult(functionFragment: "migrate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "minReportDelay", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "profitFactor", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rewards", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setDebtThreshold", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setEmergencyExit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setKeeper", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setMaxReportDelay", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setMetadataURI", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setMinReportDelay", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setProfitFactor", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setRewards", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setStrategist", data: BytesLike): Result; decodeFunctionResult(functionFragment: "strategist", data: BytesLike): Result; decodeFunctionResult(functionFragment: "sweep", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tend", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tendTrigger", data: BytesLike): Result; decodeFunctionResult(functionFragment: "vault", data: BytesLike): Result; decodeFunctionResult(functionFragment: "want", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; events: { "EmergencyExitEnabled()": EventFragment; "Harvested(uint256,uint256,uint256,uint256)": EventFragment; "UpdatedDebtThreshold(uint256)": EventFragment; "UpdatedKeeper(address)": EventFragment; "UpdatedMaxReportDelay(uint256)": EventFragment; "UpdatedMetadataURI(string)": EventFragment; "UpdatedMinReportDelay(uint256)": EventFragment; "UpdatedProfitFactor(uint256)": EventFragment; "UpdatedRewards(address)": EventFragment; "UpdatedStrategist(address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "EmergencyExitEnabled"): EventFragment; getEvent(nameOrSignatureOrTopic: "Harvested"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdatedDebtThreshold"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdatedKeeper"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdatedMaxReportDelay"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdatedMetadataURI"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdatedMinReportDelay"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdatedProfitFactor"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdatedRewards"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdatedStrategist"): EventFragment; } export declare type EmergencyExitEnabledEvent = TypedEvent<[], {}>; export declare type EmergencyExitEnabledEventFilter = TypedEventFilter; export declare type HarvestedEvent = TypedEvent<[ BigNumber, BigNumber, BigNumber, BigNumber ], { profit: BigNumber; loss: BigNumber; debtPayment: BigNumber; debtOutstanding: BigNumber; }>; export declare type HarvestedEventFilter = TypedEventFilter; export declare type UpdatedDebtThresholdEvent = TypedEvent<[ BigNumber ], { debtThreshold: BigNumber; }>; export declare type UpdatedDebtThresholdEventFilter = TypedEventFilter; export declare type UpdatedKeeperEvent = TypedEvent<[string], { newKeeper: string; }>; export declare type UpdatedKeeperEventFilter = TypedEventFilter; export declare type UpdatedMaxReportDelayEvent = TypedEvent<[ BigNumber ], { delay: BigNumber; }>; export declare type UpdatedMaxReportDelayEventFilter = TypedEventFilter; export declare type UpdatedMetadataURIEvent = TypedEvent<[ string ], { metadataURI: string; }>; export declare type UpdatedMetadataURIEventFilter = TypedEventFilter; export declare type UpdatedMinReportDelayEvent = TypedEvent<[ BigNumber ], { delay: BigNumber; }>; export declare type UpdatedMinReportDelayEventFilter = TypedEventFilter; export declare type UpdatedProfitFactorEvent = TypedEvent<[ BigNumber ], { profitFactor: BigNumber; }>; export declare type UpdatedProfitFactorEventFilter = TypedEventFilter; export declare type UpdatedRewardsEvent = TypedEvent<[string], { rewards: string; }>; export declare type UpdatedRewardsEventFilter = TypedEventFilter; export declare type UpdatedStrategistEvent = TypedEvent<[ string ], { newStrategist: string; }>; export declare type UpdatedStrategistEventFilter = TypedEventFilter; export interface BaseStrategy extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: BaseStrategyInterface; 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: { apiVersion(overrides?: CallOverrides): Promise<[string]>; debtThreshold(overrides?: CallOverrides): Promise<[BigNumber]>; delegatedAssets(overrides?: CallOverrides): Promise<[BigNumber]>; emergencyExit(overrides?: CallOverrides): Promise<[boolean]>; estimatedTotalAssets(overrides?: CallOverrides): Promise<[BigNumber]>; harvest(overrides?: Overrides & { from?: string | Promise; }): Promise; harvestTrigger(callCost: BigNumberish, overrides?: CallOverrides): Promise<[boolean]>; isActive(overrides?: CallOverrides): Promise<[boolean]>; keeper(overrides?: CallOverrides): Promise<[string]>; maxReportDelay(overrides?: CallOverrides): Promise<[BigNumber]>; metadataURI(overrides?: CallOverrides): Promise<[string]>; migrate(_newStrategy: string, overrides?: Overrides & { from?: string | Promise; }): Promise; minReportDelay(overrides?: CallOverrides): Promise<[BigNumber]>; name(overrides?: CallOverrides): Promise<[string]>; profitFactor(overrides?: CallOverrides): Promise<[BigNumber]>; rewards(overrides?: CallOverrides): Promise<[string]>; setDebtThreshold(_debtThreshold: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; setEmergencyExit(overrides?: Overrides & { from?: string | Promise; }): Promise; setKeeper(_keeper: string, overrides?: Overrides & { from?: string | Promise; }): Promise; setMaxReportDelay(_delay: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; setMetadataURI(_metadataURI: string, overrides?: Overrides & { from?: string | Promise; }): Promise; setMinReportDelay(_delay: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; setProfitFactor(_profitFactor: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; setRewards(_rewards: string, overrides?: Overrides & { from?: string | Promise; }): Promise; setStrategist(_strategist: string, overrides?: Overrides & { from?: string | Promise; }): Promise; strategist(overrides?: CallOverrides): Promise<[string]>; sweep(_token: string, overrides?: Overrides & { from?: string | Promise; }): Promise; tend(overrides?: Overrides & { from?: string | Promise; }): Promise; tendTrigger(arg0: BigNumberish, overrides?: CallOverrides): Promise<[boolean]>; vault(overrides?: CallOverrides): Promise<[string]>; want(overrides?: CallOverrides): Promise<[string]>; withdraw(_amountNeeded: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; }; apiVersion(overrides?: CallOverrides): Promise; debtThreshold(overrides?: CallOverrides): Promise; delegatedAssets(overrides?: CallOverrides): Promise; emergencyExit(overrides?: CallOverrides): Promise; estimatedTotalAssets(overrides?: CallOverrides): Promise; harvest(overrides?: Overrides & { from?: string | Promise; }): Promise; harvestTrigger(callCost: BigNumberish, overrides?: CallOverrides): Promise; isActive(overrides?: CallOverrides): Promise; keeper(overrides?: CallOverrides): Promise; maxReportDelay(overrides?: CallOverrides): Promise; metadataURI(overrides?: CallOverrides): Promise; migrate(_newStrategy: string, overrides?: Overrides & { from?: string | Promise; }): Promise; minReportDelay(overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; profitFactor(overrides?: CallOverrides): Promise; rewards(overrides?: CallOverrides): Promise; setDebtThreshold(_debtThreshold: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; setEmergencyExit(overrides?: Overrides & { from?: string | Promise; }): Promise; setKeeper(_keeper: string, overrides?: Overrides & { from?: string | Promise; }): Promise; setMaxReportDelay(_delay: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; setMetadataURI(_metadataURI: string, overrides?: Overrides & { from?: string | Promise; }): Promise; setMinReportDelay(_delay: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; setProfitFactor(_profitFactor: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; setRewards(_rewards: string, overrides?: Overrides & { from?: string | Promise; }): Promise; setStrategist(_strategist: string, overrides?: Overrides & { from?: string | Promise; }): Promise; strategist(overrides?: CallOverrides): Promise; sweep(_token: string, overrides?: Overrides & { from?: string | Promise; }): Promise; tend(overrides?: Overrides & { from?: string | Promise; }): Promise; tendTrigger(arg0: BigNumberish, overrides?: CallOverrides): Promise; vault(overrides?: CallOverrides): Promise; want(overrides?: CallOverrides): Promise; withdraw(_amountNeeded: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; callStatic: { apiVersion(overrides?: CallOverrides): Promise; debtThreshold(overrides?: CallOverrides): Promise; delegatedAssets(overrides?: CallOverrides): Promise; emergencyExit(overrides?: CallOverrides): Promise; estimatedTotalAssets(overrides?: CallOverrides): Promise; harvest(overrides?: CallOverrides): Promise; harvestTrigger(callCost: BigNumberish, overrides?: CallOverrides): Promise; isActive(overrides?: CallOverrides): Promise; keeper(overrides?: CallOverrides): Promise; maxReportDelay(overrides?: CallOverrides): Promise; metadataURI(overrides?: CallOverrides): Promise; migrate(_newStrategy: string, overrides?: CallOverrides): Promise; minReportDelay(overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; profitFactor(overrides?: CallOverrides): Promise; rewards(overrides?: CallOverrides): Promise; setDebtThreshold(_debtThreshold: BigNumberish, overrides?: CallOverrides): Promise; setEmergencyExit(overrides?: CallOverrides): Promise; setKeeper(_keeper: string, overrides?: CallOverrides): Promise; setMaxReportDelay(_delay: BigNumberish, overrides?: CallOverrides): Promise; setMetadataURI(_metadataURI: string, overrides?: CallOverrides): Promise; setMinReportDelay(_delay: BigNumberish, overrides?: CallOverrides): Promise; setProfitFactor(_profitFactor: BigNumberish, overrides?: CallOverrides): Promise; setRewards(_rewards: string, overrides?: CallOverrides): Promise; setStrategist(_strategist: string, overrides?: CallOverrides): Promise; strategist(overrides?: CallOverrides): Promise; sweep(_token: string, overrides?: CallOverrides): Promise; tend(overrides?: CallOverrides): Promise; tendTrigger(arg0: BigNumberish, overrides?: CallOverrides): Promise; vault(overrides?: CallOverrides): Promise; want(overrides?: CallOverrides): Promise; withdraw(_amountNeeded: BigNumberish, overrides?: CallOverrides): Promise; }; filters: { "EmergencyExitEnabled()"(): EmergencyExitEnabledEventFilter; EmergencyExitEnabled(): EmergencyExitEnabledEventFilter; "Harvested(uint256,uint256,uint256,uint256)"(profit?: null, loss?: null, debtPayment?: null, debtOutstanding?: null): HarvestedEventFilter; Harvested(profit?: null, loss?: null, debtPayment?: null, debtOutstanding?: null): HarvestedEventFilter; "UpdatedDebtThreshold(uint256)"(debtThreshold?: null): UpdatedDebtThresholdEventFilter; UpdatedDebtThreshold(debtThreshold?: null): UpdatedDebtThresholdEventFilter; "UpdatedKeeper(address)"(newKeeper?: null): UpdatedKeeperEventFilter; UpdatedKeeper(newKeeper?: null): UpdatedKeeperEventFilter; "UpdatedMaxReportDelay(uint256)"(delay?: null): UpdatedMaxReportDelayEventFilter; UpdatedMaxReportDelay(delay?: null): UpdatedMaxReportDelayEventFilter; "UpdatedMetadataURI(string)"(metadataURI?: null): UpdatedMetadataURIEventFilter; UpdatedMetadataURI(metadataURI?: null): UpdatedMetadataURIEventFilter; "UpdatedMinReportDelay(uint256)"(delay?: null): UpdatedMinReportDelayEventFilter; UpdatedMinReportDelay(delay?: null): UpdatedMinReportDelayEventFilter; "UpdatedProfitFactor(uint256)"(profitFactor?: null): UpdatedProfitFactorEventFilter; UpdatedProfitFactor(profitFactor?: null): UpdatedProfitFactorEventFilter; "UpdatedRewards(address)"(rewards?: null): UpdatedRewardsEventFilter; UpdatedRewards(rewards?: null): UpdatedRewardsEventFilter; "UpdatedStrategist(address)"(newStrategist?: null): UpdatedStrategistEventFilter; UpdatedStrategist(newStrategist?: null): UpdatedStrategistEventFilter; }; estimateGas: { apiVersion(overrides?: CallOverrides): Promise; debtThreshold(overrides?: CallOverrides): Promise; delegatedAssets(overrides?: CallOverrides): Promise; emergencyExit(overrides?: CallOverrides): Promise; estimatedTotalAssets(overrides?: CallOverrides): Promise; harvest(overrides?: Overrides & { from?: string | Promise; }): Promise; harvestTrigger(callCost: BigNumberish, overrides?: CallOverrides): Promise; isActive(overrides?: CallOverrides): Promise; keeper(overrides?: CallOverrides): Promise; maxReportDelay(overrides?: CallOverrides): Promise; metadataURI(overrides?: CallOverrides): Promise; migrate(_newStrategy: string, overrides?: Overrides & { from?: string | Promise; }): Promise; minReportDelay(overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; profitFactor(overrides?: CallOverrides): Promise; rewards(overrides?: CallOverrides): Promise; setDebtThreshold(_debtThreshold: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; setEmergencyExit(overrides?: Overrides & { from?: string | Promise; }): Promise; setKeeper(_keeper: string, overrides?: Overrides & { from?: string | Promise; }): Promise; setMaxReportDelay(_delay: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; setMetadataURI(_metadataURI: string, overrides?: Overrides & { from?: string | Promise; }): Promise; setMinReportDelay(_delay: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; setProfitFactor(_profitFactor: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; setRewards(_rewards: string, overrides?: Overrides & { from?: string | Promise; }): Promise; setStrategist(_strategist: string, overrides?: Overrides & { from?: string | Promise; }): Promise; strategist(overrides?: CallOverrides): Promise; sweep(_token: string, overrides?: Overrides & { from?: string | Promise; }): Promise; tend(overrides?: Overrides & { from?: string | Promise; }): Promise; tendTrigger(arg0: BigNumberish, overrides?: CallOverrides): Promise; vault(overrides?: CallOverrides): Promise; want(overrides?: CallOverrides): Promise; withdraw(_amountNeeded: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; }; populateTransaction: { apiVersion(overrides?: CallOverrides): Promise; debtThreshold(overrides?: CallOverrides): Promise; delegatedAssets(overrides?: CallOverrides): Promise; emergencyExit(overrides?: CallOverrides): Promise; estimatedTotalAssets(overrides?: CallOverrides): Promise; harvest(overrides?: Overrides & { from?: string | Promise; }): Promise; harvestTrigger(callCost: BigNumberish, overrides?: CallOverrides): Promise; isActive(overrides?: CallOverrides): Promise; keeper(overrides?: CallOverrides): Promise; maxReportDelay(overrides?: CallOverrides): Promise; metadataURI(overrides?: CallOverrides): Promise; migrate(_newStrategy: string, overrides?: Overrides & { from?: string | Promise; }): Promise; minReportDelay(overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; profitFactor(overrides?: CallOverrides): Promise; rewards(overrides?: CallOverrides): Promise; setDebtThreshold(_debtThreshold: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; setEmergencyExit(overrides?: Overrides & { from?: string | Promise; }): Promise; setKeeper(_keeper: string, overrides?: Overrides & { from?: string | Promise; }): Promise; setMaxReportDelay(_delay: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; setMetadataURI(_metadataURI: string, overrides?: Overrides & { from?: string | Promise; }): Promise; setMinReportDelay(_delay: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; setProfitFactor(_profitFactor: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; setRewards(_rewards: string, overrides?: Overrides & { from?: string | Promise; }): Promise; setStrategist(_strategist: string, overrides?: Overrides & { from?: string | Promise; }): Promise; strategist(overrides?: CallOverrides): Promise; sweep(_token: string, overrides?: Overrides & { from?: string | Promise; }): Promise; tend(overrides?: Overrides & { from?: string | Promise; }): Promise; tendTrigger(arg0: BigNumberish, overrides?: CallOverrides): Promise; vault(overrides?: CallOverrides): Promise; want(overrides?: CallOverrides): Promise; withdraw(_amountNeeded: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; }; } //# sourceMappingURL=BaseStrategy.d.ts.map