import { Interface } from '@ethersproject/abi'; import { Address, MultiCallInput, MultiCallOutput } from '../../types'; import { VaultPriceFeedConfig } from './types'; import { FastPriceFeed } from './fast-price-feed'; import { DeepReadonly } from 'ts-essentials'; import { Api3FeedSubscriber } from '../../lib/api3-feed'; export declare class VaultPriceFeed { protected primaryPrices: { [token: string]: Api3FeedSubscriber; }; protected secondaryPrice: FastPriceFeed; BASIS_POINTS_DIVISOR: bigint; PRICE_PRECISION: bigint; ONE_USD: bigint; static interface: Interface; protected isSecondaryPriceEnabled: boolean; protected strictStableTokens: { [address: string]: boolean; }; protected spreadBasisPoints: { [address: string]: bigint; }; protected adjustmentBasisPoints: { [address: string]: bigint; }; protected isAdjustmentAdditive: { [address: string]: boolean; }; protected priceDecimals: { [address: string]: number; }; protected maxStrictPriceDeviation: bigint; constructor(config: VaultPriceFeedConfig, primaryPrices: { [token: string]: Api3FeedSubscriber; }, secondaryPrice: FastPriceFeed); getPrice(state: DeepReadonly, _token: Address, _maximize: boolean, _includeAmmPrice: boolean, _useSwapPricing: boolean): bigint; getPriceV1(state: DeepReadonly, _token: Address, _maximize: boolean, _includeAmmPrice: boolean): bigint; getAmmPrice(state: DeepReadonly, token: Address): bigint; getPrimaryPrice(state: DeepReadonly, _token: Address, _maximize: boolean): bigint; getSecondaryPrice(state: DeepReadonly, _token: Address, _referencePrice: bigint, _maximize: boolean): bigint; static getConfigMulticallInputs(vaultPriceFeedAddress: Address, tokenAddresses: Address[]): MultiCallInput[]; static getConfig(multicallOutputs: MultiCallOutput[], tokenAddress: Address[]): VaultPriceFeedConfig; }