import { Model, Types } from 'mongoose';
import { AuditLog, AuditLogDocument } from './schemas/audit-log.schema';
export declare class AuditLogsService {
    private readonly auditModel;
    constructor(auditModel: Model<AuditLogDocument>);
    append(data: {
        actorUserId?: string;
        actorEmail?: string;
        action: string;
        targetType?: string;
        targetId?: string;
        metadata?: Record<string, unknown>;
        ipAddress?: string;
        userAgent?: string;
    }): Promise<import("mongoose").Document<unknown, {}, import("mongoose").Document<unknown, {}, AuditLog, {}, import("mongoose").DefaultSchemaOptions> & AuditLog & {
        _id: Types.ObjectId;
    } & {
        __v: number;
    } & {
        id: string;
    }, {}, import("mongoose").DefaultSchemaOptions> & import("mongoose").Document<unknown, {}, AuditLog, {}, import("mongoose").DefaultSchemaOptions> & AuditLog & {
        _id: Types.ObjectId;
    } & {
        __v: number;
    } & {
        id: string;
    } & Required<{
        _id: Types.ObjectId;
    }>>;
    list(params: {
        cursor?: string;
        limit?: number;
    }): Promise<{
        items: {
            id: string;
            _id: Types.ObjectId;
            $locals: Record<string, unknown>;
            $op: "save" | "validate" | "remove" | null;
            $where: Record<string, unknown>;
            baseModelName?: string;
            collection: import("mongoose").Collection;
            db: import("mongoose").Connection;
            errors?: import("mongoose").Error.ValidationError;
            isNew: boolean;
            schema: import("mongoose").Schema;
            actorUserId?: string;
            actorEmail?: string;
            action: string;
            targetType?: string;
            targetId?: string;
            metadata?: Record<string, unknown>;
            ipAddress?: string;
            userAgent?: string;
            __v: number;
        }[];
        nextCursor: string | null;
    }>;
}
