import type { EulerLabelAssetEntry, EulerLabelEarnVaultEntry, EulerLabelEntity, EulerLabelsData, EulerLabelProduct, EulerLabelPoint } from "../../entities/EulerLabels.js"; import type { ERC4626Vault } from "../../entities/ERC4626Vault.js"; import { type BuildQueryFn } from "../../utils/buildQuery.js"; export interface IEulerLabelsAdapter { fetchEulerLabelsEntities(chainId: number): Promise>; fetchEulerLabelsProducts(chainId: number): Promise>; fetchEulerLabelsPoints(chainId: number): Promise; fetchEulerLabelsEarnVaults?(chainId: number): Promise>; fetchEulerLabelsAssets?(chainId: number): Promise; } export interface IEulerLabelsService { fetchEulerLabelsEntities(chainId: number): Promise>; fetchEulerLabelsProducts(chainId: number): Promise>; fetchEulerLabelsPoints(chainId: number): Promise; fetchEulerLabelsEarnVaults(chainId: number): Promise>; fetchEulerLabelsAssets(chainId: number): Promise; fetchEulerLabelsData(chainId: number): Promise; resolveLogoUrl(filename: string): string; populateLabels(vaults: ERC4626Vault[]): Promise; } export declare class EulerLabelsService implements IEulerLabelsService { private adapter; private resolveLogoUrlFn?; constructor(adapter: IEulerLabelsAdapter, resolveLogoUrlFn?: ((filename: string) => string) | undefined); setAdapter(adapter: IEulerLabelsAdapter): void; resolveLogoUrl(filename: string): string; fetchEulerLabelsEntities(chainId: number): Promise>; fetchEulerLabelsProducts(chainId: number): Promise>; fetchEulerLabelsPoints(chainId: number): Promise; fetchEulerLabelsEarnVaults(chainId: number): Promise>; fetchEulerLabelsAssets(chainId: number): Promise; fetchEulerLabelsData(chainId: number): Promise; populateLabels(vaults: ERC4626Vault[]): Promise; } export interface EulerLabelsURLAdapterConfig { getEulerLabelsEntitiesUrl: (chainId: number) => string; getEulerLabelsProductsUrl: (chainId: number) => string; getEulerLabelsPointsUrl: (chainId: number) => string; getEulerLabelsEarnVaultsUrl?: (chainId: number) => string; getEulerLabelsAssetsUrl?: (chainId: number) => string; getEulerLabelsGlobalAssetsUrl?: () => string; getEulerLabelsLogoUrl: (filename: string) => string; } export declare class EulerLabelsURLAdapter implements IEulerLabelsAdapter { private readonly config; constructor(config: EulerLabelsURLAdapterConfig, buildQuery?: BuildQueryFn); queryEulerLabelsEntities: (url: string) => Promise>; setQueryEulerLabelsEntities(fn: typeof this.queryEulerLabelsEntities): void; queryEulerLabelsProducts: (url: string) => Promise>; setQueryEulerLabelsProducts(fn: typeof this.queryEulerLabelsProducts): void; queryEulerLabelsPoints: (url: string) => Promise; setQueryEulerLabelsPoints(fn: typeof this.queryEulerLabelsPoints): void; queryEulerLabelsEarnVaults: (url: string) => Promise>; setQueryEulerLabelsEarnVaults(fn: typeof this.queryEulerLabelsEarnVaults): void; queryEulerLabelsAssets: (url: string) => Promise; setQueryEulerLabelsAssets(fn: typeof this.queryEulerLabelsAssets): void; fetchEulerLabelsEntities(chainId: number): Promise>; fetchEulerLabelsProducts(chainId: number): Promise>; fetchEulerLabelsPoints(chainId: number): Promise; fetchEulerLabelsEarnVaults(chainId: number): Promise>; fetchEulerLabelsAssets(chainId: number): Promise; } //# sourceMappingURL=eulerLabelsService.d.ts.map