import { NestInterceptor, ExecutionContext, CallHandler } from '@nestjs/common'; import { Observable } from 'rxjs'; import { Reflector } from '@nestjs/core'; import { AuditService } from '../services/audit.service'; import { AuditAction as AuditActionEnum } from '../entities/audit-log.entity'; export declare const AUDIT_ACTION_KEY = "audit_action"; export declare const AUDIT_ENTITY_KEY = "audit_entity"; export declare const SKIP_AUDIT_KEY = "skip_audit"; export declare function AuditActionDecorator(action: AuditActionEnum): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor; export declare function AuditEntity(entityType: string): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor; export declare function SkipAudit(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor; export declare class AuditInterceptor implements NestInterceptor { private readonly auditService; private readonly reflector; constructor(auditService: AuditService, reflector: Reflector); intercept(context: ExecutionContext, next: CallHandler): Observable; private inferActionFromMethod; private logAudit; private inferEntityFromPath; private sanitizeBody; private getClientIp; }