import { Count, EntityCrudRepository, Filter, FilterExcludingWhere, Where } from '@loopback/repository'; import { IAuthUserWithPermissions, ITenantUtilitiesConfig } from '@sourceloop/core'; import { CustomFilter } from '../models'; import { AuditLog, Job, MappingLog } from '../models/tenant-support'; import { JobProcessingService } from '../services'; import { ArchiveOutput, AuditLogExportFn, ColumnBuilderFn, ExportResponse, ExportToCsvFn } from '../types'; export declare class AuditController { auditLogRepository: EntityCrudRepository; jobRepository: EntityCrudRepository; jobProcessingService: JobProcessingService; mappingLogRepository: EntityCrudRepository; exportToCsv: ExportToCsvFn; auditLogExportService: AuditLogExportFn; columnBuilderService: ColumnBuilderFn; private readonly currentUser; private readonly config?; constructor(auditLogRepository: EntityCrudRepository, jobRepository: EntityCrudRepository, jobProcessingService: JobProcessingService, mappingLogRepository: EntityCrudRepository, exportToCsv: ExportToCsvFn, auditLogExportService: AuditLogExportFn, columnBuilderService: ColumnBuilderFn, currentUser: IAuthUserWithPermissions, config?: ITenantUtilitiesConfig | undefined); create(auditLog: Omit): Promise; count(where?: Where): Promise; jobStatus(jobId: string): Promise; find(includeArchivedLogs: boolean, filter?: Filter): Promise; findById(id: string, filter?: FilterExcludingWhere): Promise; archive(customFilter: CustomFilter): Promise; export(includeArchivedLogs: boolean, filter?: Filter): Promise; }