/**
 * Trace Store
 *
 * Higher-level trace event management with session organization.
 */
import type { TraceEventWithId, TraceSearchFilter, TraceEventType } from '../types.js';
export declare class TraceStore {
    private globalBuffer;
    private sessionBuffers;
    private maxSessionBufferSize;
    constructor(globalBufferSize?: number, sessionBufferSize?: number);
    /**
     * Add a trace event
     */
    addEvent(event: TraceEventWithId): void;
    /**
     * Get recent events from global buffer
     */
    getRecent(limit?: number, types?: TraceEventType[]): TraceEventWithId[];
    /**
     * Get events for a specific session
     */
    getBySession(sessionId: string, limit?: number, types?: TraceEventType[]): TraceEventWithId[];
    /**
     * Search events with filters
     */
    search(filter: TraceSearchFilter, sessionId?: string): TraceEventWithId[];
    /**
     * Get all errors and warnings
     */
    getErrors(sessionId?: string): TraceEventWithId[];
    /**
     * Get event by ID
     */
    getById(id: string): TraceEventWithId | undefined;
    /**
     * Get events by span
     */
    getBySpan(spanId: string): TraceEventWithId[];
    /**
     * Clear session buffer
     */
    clearSession(sessionId: string): void;
    /**
     * Clear all
     */
    clear(): void;
    /**
     * Get statistics
     */
    getStats(): {
        globalSize: number;
        sessionCount: number;
        sessionSizes: Record<string, number>;
    };
}
//# sourceMappingURL=trace-store.d.ts.map