import { Schema, Document, Model, Types } from 'mongoose'; export declare enum AuditSeverityLevel { INFO = "info", WARNING = "warning", ERROR = "error", CRITICAL = "critical" } export interface AuditLogDocument extends Document { _id: Types.ObjectId; action: string; severity: AuditSeverityLevel; timestamp: Date; actorId: string | null; actorType: string; targetId?: string; targetType?: string; resource?: string; permission?: string; success: boolean; errorMessage?: string; ipAddress?: string; userAgent?: string; organizationId?: string | null; requestId?: string; metadata?: Record; previousState?: Record; newState?: Record; } export declare const AuditLogSchema: Schema & AuditLogDocument & Required<{ _id: Types.ObjectId; }> & { __v: number; }, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, AuditLogDocument, Document, {}, import("mongoose").ResolveSchemaOptions> & import("mongoose").FlatRecord & Required<{ _id: Types.ObjectId; }> & { __v: number; }>; export type AuditLogModel = Model; export declare function createAuditLogModel(connection?: typeof import('mongoose')): AuditLogModel; export declare function configureTTL(model: AuditLogModel, ttlSeconds?: number): Promise; //# sourceMappingURL=audit-log.schema.d.ts.map