import { Repository } from 'typeorm';
import { AuditLog } from './entities/audit-log.entity';
export interface AuditFilters {
    user_id?: number;
    entity_type?: string;
    action?: string;
    start_date?: string;
    end_date?: string;
    page?: number;
    limit?: number;
}
export declare class AuditService {
    private readonly auditLogRepo;
    constructor(auditLogRepo: Repository<AuditLog>);
    findAll(filters: AuditFilters): Promise<{
        data: AuditLog[];
        total: number;
        page: number;
        limit: number;
    }>;
    findOne(id: number): Promise<AuditLog | null>;
    findByEntity(entityType: string, entityId: number): Promise<AuditLog[]>;
    create(data: Partial<AuditLog>): Promise<AuditLog>;
    getAvailableActions(): Promise<string[]>;
    getAvailableEntityTypes(): Promise<string[]>;
    getStats(): Promise<{
        total: number;
        by_action: {
            action: string;
            count: number;
        }[];
        by_entity: {
            entity_type: string;
            count: number;
        }[];
        recent: AuditLog[];
    }>;
    exportCSV(filters: AuditFilters): Promise<string>;
}
