/**
 * @file Oracle.v2.ts
 * @author astra <astra@volare.finance>
 * @date 2022
 */
import { Address, BigNumber, Provider } from '@volare.finance/utils.js';
import { ContractInterface } from 'ethers';
export declare class OracleV2 extends Provider {
    static ABI(): ContractInterface;
    static GetExpiryPrice(oracle: Address, asset: Address, expiry: number): Promise<BigNumber>;
    static GetPrice(oracle: Address, asset: Address): Promise<BigNumber>;
    constructor(address: Address, endpoint: string);
    /**
     * @notice get a live asset price from the asset's pricer contract
     * @param asset asset address
     * @return price scaled by 1e8, denominated in USD
     * e.g. 17568900000 => 175.689 USD
     */
    getPrice(asset: Address): Promise<BigNumber>;
    /**
     * @notice get the asset price at specific expiry timestamp
     * @param asset asset address
     * @param expiryTimestamp expiry timestamp
     * @return price scaled by 1e8, denominated in USD
     */
    getExpiryPrice(asset: Address, expiryTimestamp: number): Promise<BigNumber>;
}
