/** * Shared types used across all Vesant SDK modules */ interface APIResponse { data?: T; error?: string; message?: string; } interface PaginationParams { page?: number; page_size?: number; } interface PaginatedResponse { data: T[]; total: number; page: number; page_size: number; total_pages: number; } interface SuccessResponse { success: true; data: T; message?: string; } interface ErrorResponse { success: false; error: string; code?: string; details?: Record; } type Result = SuccessResponse | ErrorResponse; /** * Standard timestamp format: ISO 8601 */ type Timestamp = string; /** * UUID format */ type UUID = string; /** * Risk levels used across the platform */ type RiskLevel = 'low' | 'medium' | 'high' | 'critical'; /** * Customer status types */ type CustomerStatus = 'active' | 'dormant' | 'deactive' | 'suspended'; /** * Entity types for customer profiles */ type EntityType = 'individual' | 'corporate' | 'joint_account' | 'minor_with_guardian'; /** * Location compliance status */ type LocationCompliance = 'compliant' | 'non-compliant' | 'unknown'; /** * Verification event types */ type VerificationEventType = 'registration' | 'login' | 'transaction' | 'withdrawal' | 'deposit' | 'api_access' | 'profile_update'; export type { APIResponse as A, CustomerStatus as C, EntityType as E, LocationCompliance as L, PaginationParams as P, RiskLevel as R, SuccessResponse as S, Timestamp as T, UUID as U, VerificationEventType as V, PaginatedResponse as a, ErrorResponse as b, Result as c };