/**
 * Memory Audit Adapter - Implements AuditPort using in-memory storage
 * This adapter stores audit events in memory for testing and lightweight deployments
 */
import { AuditPort, VQPQuery, VQPResponse, VQPError, AuditEntry } from '@vqp/core';
export interface MemoryAuditConfig {
    maxEntries?: number;
    includeFullQuery?: boolean;
    includeFullResponse?: boolean;
    autoCleanup?: boolean;
    logLevel?: 'debug' | 'info' | 'warn' | 'error';
}
export declare class MemoryAuditAdapter implements AuditPort {
    private entries;
    private readonly maxEntries;
    private readonly includeFullQuery;
    private readonly includeFullResponse;
    private readonly autoCleanup;
    private readonly logLevel;
    constructor(config?: MemoryAuditConfig);
    logQuery(query: VQPQuery, response: VQPResponse): Promise<void>;
    logError(error: VQPError, context: any): Promise<void>;
    getAuditTrail(filters?: {
        startTime?: string;
        endTime?: string;
        querier?: string;
        event?: string;
    }): Promise<AuditEntry[]>;
    purgeOldEntries(olderThan: string): Promise<number>;
    /**
     * Get current number of stored entries
     */
    getEntryCount(): number;
    /**
     * Clear all entries (useful for testing)
     */
    clearAll(): void;
    /**
     * Get memory usage statistics
     */
    getMemoryStats(): {
        entryCount: number;
        maxEntries: number;
        memoryUsageBytes: number;
        oldestEntry?: string;
        newestEntry?: string;
    };
    private addEntry;
    private sanitizeContext;
    private estimateMemoryUsage;
    /**
     * Get entries by event type
     */
    getEntriesByEvent(eventType: AuditEntry['event']): AuditEntry[];
    /**
     * Get recent entries (last N entries)
     */
    getRecentEntries(count?: number): AuditEntry[];
    /**
     * Search entries by metadata
     */
    searchEntries(searchTerm: string): AuditEntry[];
}
//# sourceMappingURL=memory-adapter.d.ts.map