export interface CardConfig { id: string; name: string; networkRate: string | number; // IDR → VND (keep as string in UI for precision) usdRate: string | number; // USD → VND } export interface GlobalConfig { cashVndUsd: number; bcaBeli: number; usdAvailable: number; } export interface VendorState { price: string; currency: 'USD' | 'IDR'; surcharge: boolean; } export interface CalculationResult { usdNeeded: number; cashVnd: number; onlineVnd: number; posVnd: number; isCashPossible: boolean; formulas: { cash: string; online: string; pos: string; }; } export interface UserSettings { globalConfig: GlobalConfig; cards: CardConfig[]; activeCardId: string; }