UNPKG

@iota-big3/sdk-regulated

Version:

Regulated Industries SDK for Healthcare, Finance, and Government

137 lines 3.74 kB
import { DataClassification } from '../compliance/types'; export { DataClassification } from '../compliance/types'; export interface UnifiedAuditEntry { id: string; timestamp: Date; userId: string; action: string; resource: string; resourceId: string; result: 'success' | 'failure' | 'blocked'; ipAddress?: string; userAgent?: string; details?: Record<string, any>; metadata?: Record<string, any>; } export interface ComplianceAuditEntry extends UnifiedAuditEntry { dataClassification: DataClassification; reason?: string; complianceFramework?: string; controlId?: string; violation?: boolean; remediationRequired?: boolean; } export interface FinanceAuditEntry extends UnifiedAuditEntry { transactionId?: string; accountId?: string; amount?: number; currency?: string; cardDataAccessed?: boolean; tokenUsed?: string; integrityHash?: string; } export interface HealthcareAuditEntry extends UnifiedAuditEntry { patientId?: string; empiId?: string; phiAccessed?: boolean; consentId?: string; purposeOfUse?: string; emergencyAccess?: boolean; } export interface GovernmentAuditEntry extends UnifiedAuditEntry { dataClassification: DataClassification; citizenId?: string; credentialType?: string; assuranceLevel?: string; systemId?: string; controlId?: string; jurisdiction?: string; } export type TimerHandle = NodeJS.Timeout; export type ImmediateHandle = NodeJS.Immediate; export type OperationStatus = 'pending' | 'in_progress' | 'completed' | 'failed' | 'cancelled'; export type ComplianceStatus = 'compliant' | 'non_compliant' | 'partial' | 'not_applicable'; export type ValidationStatus = 'valid' | 'invalid' | 'expired' | 'pending'; export interface OperationResult<T = any> { success: boolean; data?: T; error?: { code: string; message: string; details?: any; }; auditEntry?: UnifiedAuditEntry; } export declare class RegulatedIndustryError extends Error { code: string; details?: any | undefined; auditRequired: boolean; constructor(code: string, message: string, details?: any | undefined, auditRequired?: boolean); } export interface CommonConfig { environment: 'development' | 'staging' | 'production'; region?: string; timezone?: string; auditRetentionDays: number; encryptionRequired: boolean; debugMode: boolean; } export interface EntityMetadata { createdAt: Date; createdBy: string; updatedAt: Date; updatedBy: string; version: number; tags?: string[]; customFields?: Record<string, any>; } export interface PaginationParams { page: number; pageSize: number; sortBy?: string; sortOrder?: 'asc' | 'desc'; filters?: Record<string, any>; } export interface PaginatedResult<T> { data: T[]; pagination: { page: number; pageSize: number; totalPages: number; totalItems: number; hasNext: boolean; hasPrevious: boolean; }; } export interface ValidationRule { field: string; rules: string[]; message?: string; } export interface ValidationResult { valid: boolean; errors: Array<{ field: string; rule: string; message: string; }>; } export interface BaseEvent { eventId: string; eventType: string; timestamp: Date; source: string; version: string; data: any; } export interface SecurityContext { userId: string; roles: string[]; permissions: string[]; sessionId: string; ipAddress: string; userAgent: string; mfaVerified: boolean; authenticationTime: Date; } //# sourceMappingURL=common.d.ts.map