import { IndexerConfig } from '@dydxprotocol/v4-client-js';
import { DydxSubaccount, PerpetualPosition, AssetPosition } from './dydx.types';
/**
 * Service for interacting with dYdX account functionality
 */
export declare class AccountService {
    private client;
    private address;
    /**
     * Initialize the account service with network configuration and wallet address
     */
    init(config: IndexerConfig, address: string): Promise<AccountService>;
    /**
     * Get all subaccounts for the current address
     */
    getSubaccounts(): Promise<DydxSubaccount[]>;
    /**
     * Get a specific subaccount by number
     */
    getSubaccount(num: number): Promise<DydxSubaccount>;
    /**
     * Get asset positions for a specific subaccount
     */
    getSubaccountAssetPositions(num: number): Promise<AssetPosition[]>;
    /**
     * Get perpetual positions for a specific subaccount
     */
    getSubaccountPerpetualPositions(num: number): Promise<PerpetualPosition[]>;
    /**
     * Get transfers for a specific subaccount
     */
    getSubaccountTransfers(subaccountNumber: number): Promise<any[]>;
    /**
     * Get orders for a specific subaccount
     */
    getSubaccountOrders(subaccountNumber: number): Promise<any>;
    /**
     * Get fills for a specific subaccount
     */
    getSubaccountFills(subaccountNumber: number): Promise<any[]>;
    /**
     * Get historical PnL for a specific subaccount
     */
    getSubaccountHistoricalPNLs(subaccountNumber: number): Promise<any[]>;
    /**
     * Check if account exists
     */
    accountExists(): Promise<boolean>;
}
