import { SuiClient } from "../types";
import { Address, ID } from "../types";
import { IPosition } from "./interfaces/IPosition";
import BN from "bn.js";
import { Pool } from "./types";
export declare class QueryChain {
    suiClient: SuiClient;
    constructor(_suiClient: SuiClient);
    getPool(id: ID): Promise<Pool>;
    getPoolLiquidity(poolName: string): Promise<number>;
    getPoolCurrentPrice(poolName: string): Promise<BN>;
    getPoolCurrentTick(poolName: string): Promise<BN>;
    getPositionDetails(id: ID): Promise<IPosition>;
    /**
     * Returns a user's open position on bluefin spot protocol
     * @param pkg  The base package of the protocol (this is not CurrentPackage)
     * @param user The address of the user for which to query positions
     * @param pool (optional) The ID of the pool for which to query position.
     *             Defaults to none and returns all positions across all pools
     * @returns Array<IPosition>
     */
    getUserPositions(pkg: Address, user: Address, pool?: ID): Promise<Array<IPosition>>;
    static parsePositionObject(resp: any): IPosition;
}
