import { IAddress, IContractRunner, IHistoricalTimeseriesResponse, ITokenizedVault, IWSMonitorHeaders, IWSVaultLoan, VaultAddress } from '../types'; import { LRUCache } from 'lru-cache'; import { WEBSERVER_URL } from './constants/core'; export type IFetchAugustMethods = 'get' | 'post' | 'put'; export type IFetchAugustOptions = { method?: IFetchAugustMethods; headers?: Record; data?: any; server?: keyof typeof WEBSERVER_URL; override?: boolean; }; export declare const CACHE: LRUCache; export declare const getSafeCache: (key: string) => Promise; export declare const setSafeCache: (key: string, value: T) => Promise; export declare function fetchAugustWithKey(apiKey: string, relativeUrl: string, options?: IFetchAugustOptions): Promise; export declare function fetchAugustPublic(relativeUrl: string, options?: IFetchAugustOptions): Promise; export declare function fetchAugustWithBearer(bearerToken: string, relativeUrl: string, options?: IFetchAugustOptions): Promise; export declare function isRetryableError(error: Error): boolean; export declare function withRetry(fn: () => Promise, maxRetries?: number, baseDelay?: number, shouldRetry?: (error: Error) => boolean): Promise; export declare function fetchTokenizedVault(pool: VaultAddress, headers?: IWSMonitorHeaders, loadSubaccounts?: boolean, loadSnapshots?: boolean): Promise; export declare function fetchTokenizedVaults(pool?: IAddress, headers?: IWSMonitorHeaders, loadSubaccounts?: boolean, loadSnapshots?: boolean): Promise; export declare function fetchTokenPrice(symbol: string, provider?: IContractRunner, coinGeckoKey?: string, headers?: IWSMonitorHeaders): Promise; export declare function fetchTokenPriceByAddress(address: VaultAddress, chainId: number, headers?: IWSMonitorHeaders): Promise; export declare function fetchTokenizedVaultLoans(pool: VaultAddress, chainId: number, headers?: IWSMonitorHeaders): Promise; export declare function fetchTokenizedVaultSubaccountLoans(pool: VaultAddress, chainId: number, headers?: IWSMonitorHeaders): Promise; export declare function fetchVaultHistoricalTimeseries(vaultAddress: IAddress, nDays?: number, headers?: IWSMonitorHeaders): Promise; export declare function promiseSettle(promises: Promise[], maxRetries?: number, baseDelay?: number): Promise;