import { type Address } from "viem"; import { SecuritizeCollateralVault, type ISecuritizeCollateralVault } from "../../../entities/SecuritizeCollateralVault.js"; import type { FetchAllVaultsArgs, IVaultService, VaultFetchOptions } from "../index.js"; import type { IPriceService } from "../../priceService/index.js"; import type { IRewardsService } from "../../rewardsService/index.js"; import type { IIntrinsicApyService } from "../../intrinsicApyService/index.js"; import type { IEulerLabelsService } from "../../eulerLabelsService/index.js"; import type { DataIssue, ServiceResult } from "../../../utils/entityDiagnostics.js"; export interface ISecuritizeCollateralAdapter { fetchVaults(chainId: number, vault: Address[]): Promise>; fetchAllVaults(chainId: number): Promise>; fetchVerifiedVaultsAddresses(chainId: number, perspectives: Address[]): Promise; } /** No standard perspectives for Securitize collateral vaults; use fetchVault(s) with known addresses. */ export type StandardSecuritizeCollateralPerspectives = never; export interface ISecuritizeVaultService extends IVaultService { /** * Fetches all discoverable Securitize collateral vaults. * The optional async `filter` runs after the first fetch and before populate/enrichment work, * so rejected vaults are skipped before additional resources are spent on them. */ fetchAllVaults(chainId: number, args?: FetchAllVaultsArgs): Promise>; populateMarketPrices(vaults: SecuritizeCollateralVault[]): Promise; populateRewards(vaults: SecuritizeCollateralVault[]): Promise; populateIntrinsicApy(vaults: SecuritizeCollateralVault[]): Promise; populateLabels(vaults: SecuritizeCollateralVault[]): Promise; } export declare class SecuritizeVaultService implements ISecuritizeVaultService { private adapter; private priceService?; private rewardsService?; private intrinsicApyService?; private eulerLabelsService?; constructor(adapter: ISecuritizeCollateralAdapter); setAdapter(adapter: ISecuritizeCollateralAdapter): void; setPriceService(service: IPriceService): void; setRewardsService(service: IRewardsService): void; setIntrinsicApyService(service: IIntrinsicApyService): void; setEulerLabelsService(service: IEulerLabelsService): void; factory(_chainId: number): Address; fetchVault(chainId: number, vault: Address, options?: VaultFetchOptions): Promise>; fetchVaults(chainId: number, vaults: Address[], options?: VaultFetchOptions): Promise>; fetchAllVaults(chainId: number, args?: FetchAllVaultsArgs): Promise>; private hydrateFetchedVaults; populateMarketPrices(vaults: SecuritizeCollateralVault[]): Promise; populateRewards(vaults: SecuritizeCollateralVault[]): Promise; populateIntrinsicApy(vaults: SecuritizeCollateralVault[]): Promise; populateLabels(vaults: SecuritizeCollateralVault[]): Promise; fetchVerifiedVaultAddresses(_chainId: number, _perspectives: (StandardSecuritizeCollateralPerspectives | Address)[]): Promise; fetchVerifiedVaults(chainId: number, perspectives: (StandardSecuritizeCollateralPerspectives | Address)[], options?: VaultFetchOptions): Promise>; private resolveFetchOptions; } //# sourceMappingURL=securitizeVaultService.d.ts.map