/** * Audit Logging Service * * Comprehensive audit logging for security events, admin actions, and system events */ export type AuditEventType = 'authentication' | 'authorization' | 'data_access' | 'configuration' | 'security' | 'api_usage' | 'system_event' | 'integration'; export declare enum TeamsAuditEvent { WEBHOOK_CREATED = "teams.webhook.created", WEBHOOK_UPDATED = "teams.webhook.updated", WEBHOOK_DELETED = "teams.webhook.deleted", WEBHOOK_TESTED = "teams.webhook.tested", SUBSCRIPTION_CREATED = "teams.subscription.created", SUBSCRIPTION_UPDATED = "teams.subscription.updated", SUBSCRIPTION_DELETED = "teams.subscription.deleted" } export type AuditStatus = 'success' | 'failure' | 'warning' | 'error'; export interface AuditLogEntry { userId?: string; userEmail?: string; action: string; eventType: AuditEventType; resource?: string; resourceType?: string; status?: AuditStatus; ipAddress?: string; userAgent?: string; metadata?: Record; error?: string; accountId?: string; } export interface AuditLogFilters { userId?: string; userEmail?: string; action?: string; eventType?: AuditEventType; resourceType?: string; status?: AuditStatus; ipAddress?: string; accountId?: string; startDate?: Date; endDate?: Date; search?: string; } export interface AuditLogListResult { logs: Array<{ id: string; userId: string | null; userEmail: string | null; action: string; eventType: string; resource: string | null; resourceType: string | null; status: string; ipAddress: string | null; userAgent: string | null; metadata: unknown; error: string | null; createdAt: Date; accountId: string | null; }>; total: number; page: number; pageSize: number; } export declare const AuditService: { /** * Create an audit log entry */ log(entry: AuditLogEntry): Promise; /** * List audit logs with filtering and pagination */ list(filters?: AuditLogFilters, page?: number, pageSize?: number): Promise; /** * Get audit log by ID */ getById(id: string): Promise; /** * Export audit logs to CSV format */ exportToCSV(filters?: AuditLogFilters): Promise; }; //# sourceMappingURL=audit.service.d.ts.map