import type { AccountBalance, GetPaginatedOrdersParams, GetPaginatedOrdersResponse, GetPaginatedUserMovementsResponse, GetUserBalancesParams, GetUserBalancesResponse, GetUserMovementsParams, UserProfile } from "@0xmonaco/types"; export interface UseProfileReturn { /** User profile data (from /me — does not include balances, movements, or orders) */ profile?: UserProfile; /** User's token balances (fetched from /balances) */ balances: AccountBalance[]; /** User's ledger movements (fetched from /movements) */ movements: GetPaginatedUserMovementsResponse | undefined; /** User's orders (fetched from /orders) */ orders: GetPaginatedOrdersResponse | undefined; /** Whether the initial profile + data fetch is in progress */ loading: boolean; /** Fetch profile and first page of balances, movements, and orders */ fetchProfile: () => Promise; /** Get user's ledger movements (transaction history) with pagination */ getPaginatedUserMovements: (params?: GetUserMovementsParams) => Promise; /** Get user's token balances with pagination */ getUserBalances: (params?: GetUserBalancesParams) => Promise; /** Get user's balance for a specific asset */ getUserBalanceByAssetId: (assetId: string) => Promise; /** Get user's orders with pagination */ getPaginatedOrders: (params?: GetPaginatedOrdersParams) => Promise; }