import { InvoicingPaginatedList } from '../../../entity/invoicing/invoicingCommonPayload'; import { ZeniAPIResponse } from '../../../responsePayload'; export interface AuditLogActorApi { display_name: string; user_id: string; email?: string | null; } export interface AuditLogEntityLinkApi { entity_id: string; entity_type: string; label: string; context_key?: string | null; } export interface AuditLogDisplaySegmentApi { type: 'text' | 'entity_link'; entity_id?: string | null; entity_type?: string | null; label?: string | null; text?: string | null; } export interface AuditLogExtraApi { key: string; label: string; value: string; display_type?: 'text' | 'money' | 'date' | 'count' | 'code'; } export interface InvoicingAuditLogApiEntry { action: string; actor: AuditLogActorApi; detail: string; entity_id: string; entity_type: string; id: string; source: string; target: string; time: string; timestamp: string; action_label?: string; change_summary?: unknown[]; changes?: unknown[]; context?: Record; customer_id?: string | null; detail_segments?: AuditLogDisplaySegmentApi[]; extras?: AuditLogExtraApi[]; links?: AuditLogEntityLinkApi[]; source_label?: string; target_link?: AuditLogEntityLinkApi | null; } export type InvoicingAuditLogResponse = ZeniAPIResponse>; export interface AuditLogEntityLink { entityId: string; entityType: string; label: string; contextKey?: string; } export interface AuditLogDisplaySegment { type: 'text' | 'entity_link'; entityId?: string; entityType?: string; label?: string; text?: string; } export interface AuditLogExtra { key: string; label: string; value: string; displayType?: 'text' | 'money' | 'date' | 'count' | 'code'; } export interface InvoicingAuditEntry { action: string; target: string; time: string; actionLabel?: string; actor?: string; customerId?: string; detailSegments?: AuditLogDisplaySegment[]; entityId?: string; entityType?: string; extras?: AuditLogExtra[]; id?: string; links?: AuditLogEntityLink[]; meta?: string; source?: string; sourceLabel?: string; targetLink?: AuditLogEntityLink; timestamp?: string; } export declare function mapAuditLogEntry(entry: InvoicingAuditLogApiEntry): InvoicingAuditEntry;