export interface ApiResponseMeta { cachedAt: string | null; fromCache: boolean; } export interface ApiEnvelope { data: T; meta: ApiResponseMeta; } export interface StockMarketData { price: number; change: number; changePercent: number; open: number; high: number | null; low: number | null; volume: number; value: number; issueCapitalization: number | null; updatedAt: string; } export interface ShareResponse { secid: string; isin: string; name: string; shortName: string; latName: string | null; listLevel: number; issueSize: number; faceValue: number; faceUnit: string; type: string; marketData: StockMarketData; } export interface DividendItem { registryCloseDate: string; value: number; currency: string; } export interface ShareHistoryItem { date: string; open: number; high: number; low: number; close: number; volume: number; value: number; } export interface BondMarketData { price: number; yieldToMaturity: number | null; duration: number | null; accruedInt: number; couponValue: number; couponPercent: number | null; nextCouponDate: string | null; open: number; high: number | null; low: number | null; volume: number; updatedAt: string; } export interface BondResponse { secid: string; isin: string; name: string; shortName: string; latName: string | null; listLevel: number; issueSize: number; faceValue: number; faceUnit: string; matDate: string; couponValue: number; couponPercent: number | null; couponPeriod: number; nextCoupon: string | null; accruedInt: number; bondType: string; bondSubType: string; offerDate: string | null; buybackDate: string | null; marketData: BondMarketData; } export interface BondHistoryItem { date: string; closePrice: number; yieldClose: number | null; duration: number | null; } export interface CandleItem { open: number; high: number; low: number; close: number; volume: number; value: number; begin: string; end: string; } export interface SearchResultItem { secid: string; isin: string; shortName: string; type: 'share' | 'bond'; listLevel: number; currency: string | null; price: number | null; } export interface HealthResponse { status: string; timestamp: string; uptime: number; }