import { Signer, SuiClient } from "../types";
import { IAccount, IDeployment, IPerpetualConfig } from "./interfaces";
import { AdminCalls, UserCalls, SequencerCalls, TxBuilder } from "./on-chain-calls";
import { RequestsBuilder } from "./requests-builder";
import { MarginingEngineSimulator } from "./utils";
import { DeploymentParser } from "./utils/deployment-parser";
export declare class BluefinV3 {
    suiClient: SuiClient;
    signer: Signer;
    parser: DeploymentParser;
    walletAddress: string;
    txBuilder: TxBuilder;
    admin: AdminCalls;
    user: UserCalls;
    sequencer: SequencerCalls;
    requests: RequestsBuilder;
    simulator: MarginingEngineSimulator;
    network: string;
    constructor(_network: string, _suiClient: SuiClient, _deployment: IDeployment, _signer?: Signer, _walletAddress?: string);
    /**
     * Returns on-chain data of provided perpetual from EDS
     * @param perpName Name of the perpetual
     */
    getPerpetualFromEDS(perpName: string): Promise<IPerpetualConfig>;
    /**
     * Returns on-chain data of provided perpetual from IDS
     * @param perpName Name of the perpetual
     */
    getPerpetualFromIDS(perpName: string): Promise<IPerpetualConfig>;
    /**
     * Returns account state from chain
     * @param account (optional) address of the user
     */
    getAccountStateOnChain(account?: string): Promise<IAccount>;
}
