export type DebugTraceLevel = 'debug' | 'info' | 'warn' | 'error';
export interface DebugTraceEvent {
    interactionId?: string;
    category: string;
    stage: string;
    level: DebugTraceLevel;
    sessionId?: string;
    providerType?: string;
    payload?: Record<string, unknown>;
}
export interface DebugTraceEntry extends DebugTraceEvent {
    id: string;
    ts: number;
}
export interface DebugTraceStoreOptions {
    enabled: boolean;
    capacity: number;
}
export interface DebugTraceQuery {
    interactionId?: string;
    category?: string;
    limit?: number;
}
export interface DebugTraceStore {
    record(event: DebugTraceEvent): DebugTraceEntry | null;
    list(query?: DebugTraceQuery): DebugTraceEntry[];
    clear(): void;
}
export declare function sanitizeTracePayload(payload?: Record<string, unknown>): Record<string, unknown>;
export declare function createDebugTraceStore(options: DebugTraceStoreOptions): DebugTraceStore;
export declare function configureDebugTraceStore(): void;
export declare function recordDebugTrace(event: DebugTraceEvent): DebugTraceEntry | null;
export declare function getRecentDebugTrace(query?: DebugTraceQuery): DebugTraceEntry[];
export declare function clearDebugTrace(): void;
export declare function createInteractionId(prefix?: string): string;
