/** * Parámetros de paginación para la consulta de historial de auditoría. */ export interface AuditHistoryParams { page: number; pageSize: number; } /** * Respuesta paginada del endpoint de historial de auditoría. */ export interface AuditHistoryResponse { items: AuditHistoryItem[]; totalCount: number; } /** * Entrada individual del historial: quién cambió qué y cuándo. */ export interface AuditHistoryItem { id: string; /** Tipo de acción realizada sobre la entidad. */ action: 'Created' | 'Modified' | 'Deleted'; /** Nombre completo del actor resuelto por el backend. "Sistema" para operaciones automatizadas. */ actorFullName: string; /** Timestamp ISO 8601 UTC. */ timestamp: string; /** Nombres de los campos que cambiaron en esta entrada. */ changedFields: string[]; /** Detalle campo por campo del diff. */ details: AuditEntryDetail[]; } /** * Diff de un campo individual: valor anterior y nuevo. */ export interface AuditEntryDetail { fieldName: string; oldValue: string | null; newValue: string | null; } /** * Prop de configuración de auditoría para componentes como MasterCrud. * El consumidor evalúa el permiso externamente y lo comunica via `enabled`. */ export interface AuditHistoryProps { /** Si la funcionalidad de auditoría está habilitada (incluye la verificación de permiso). */ enabled: boolean; /** * Función que ejecuta la llamada al API de historial. * Firma canónica: `(entityId, params) => Promise` */ fetchFn: (entityId: string, params: AuditHistoryParams) => Promise; /** Tipo de entidad en kebab-case, ej. "storage-zone". Debe coincidir con el valor del backend. */ entityType: string; /** Nombre del permiso requerido. Documentación — la evaluación es responsabilidad del consumidor. */ permission?: string; } //# sourceMappingURL=audit.types.d.ts.map