import { ApiClient } from './api-client'; import { AccountParams, PaginationParams } from '../types'; export interface SubAccount { index: string; l1_address: string; l2_address: string; } export interface Account { index: string; l1_address: string; l2_address: string; nonce: string; balance: string; margin_balance: string; free_margin: string; margin_used: string; margin_ratio: string; sub_accounts?: SubAccount[]; positions: AccountPosition[]; orders: Order[]; trades: Trade[]; } export interface AccountPosition { market_id: number; side: 'long' | 'short'; size: string; entry_price: string; mark_price: string; unrealized_pnl: string; realized_pnl: string; margin_used: string; } export interface Order { id: string; market_id: number; side: 'buy' | 'sell'; type: 'limit' | 'market'; size: string; price: string; filled_size: string; remaining_size: string; status: 'open' | 'filled' | 'cancelled' | 'rejected'; created_at: string; updated_at: string; } export interface Trade { id: string; market_id: number; side: 'buy' | 'sell'; size: string; price: string; fee: string; timestamp: string; } export interface AccountApiKeys { api_keys: ApiKey[]; } export interface ApiKey { account_index: number; api_key_index: number; nonce: number; public_key: string; transaction_time: number; } export interface PublicPool { id: string; name: string; description: string; total_value_locked: string; apy: string; shares: PublicPoolShare[]; } export interface PublicPoolShare { token: string; amount: string; value: string; } export declare class AccountApi { private client; constructor(client: ApiClient); getAccount(params: AccountParams): Promise; getAccounts(params?: PaginationParams): Promise; getAccountsByL1Address(l1Address: string): Promise; getApiKeys(accountIndex: number, apiKeyIndex: number): Promise; getFeeBucket(accountIndex: number): Promise; isWhitelisted(accountIndex: number): Promise<{ is_whitelisted: boolean; }>; getPnL(accountIndex: number, params?: { start_time?: number; end_time?: number; }): Promise; getPublicPools(filter?: string, limit?: number, index?: number): Promise; changeAccountTier(accountIndex: number, newTier: string, auth: string): Promise; } //# sourceMappingURL=account-api.d.ts.map