/**
 * Log Categories System
 * Provides a declarative way to define log categories with automatic UI generation
 */
export interface LogLevel {
    name: "error" | "warn" | "info" | "debug" | "verbose";
    color: string;
    badge: string;
    priority: number;
}
export declare const LogLevels: Record<string, LogLevel>;
export interface LogCategory {
    id: string;
    label: string;
    description?: string;
    color?: string;
    icon?: string;
    enabled?: boolean;
}
export interface LogFilter {
    levels?: string[];
    categories?: string[];
    search?: string;
    startDate?: Date;
    endDate?: Date;
}
export interface LogViewerConfig {
    categories: LogCategory[];
    defaultLevel: string;
    maxLogEntries: number;
    enableRealtime: boolean;
    enableExport: boolean;
    enableArchives: boolean;
    archiveRetentionDays: number;
    horizontalScroll: boolean;
    timestampFormat: string;
    showCategories: boolean;
    showMetadata: boolean;
    theme?: "light" | "dark" | "system";
}
/**
 * Default log viewer configuration
 */
export declare const defaultLogViewerConfig: LogViewerConfig;
/**
 * Log entry interface
 */
export interface LogEntry {
    id: string;
    timestamp: string;
    level: keyof typeof LogLevels;
    category?: string;
    message: string;
    metadata?: Record<string, any>;
    source?: string;
    userId?: string;
    sessionId?: string;
    requestId?: string;
    stack?: string;
}
/**
 * Log aggregation for summary statistics
 */
export interface LogStats {
    total: number;
    byLevel: Record<string, number>;
    byCategory: Record<string, number>;
    errorRate: number;
    warnRate: number;
}
/**
 * Helper to parse log entries from different formats
 */
export declare function parseLogEntry(raw: string | object): LogEntry | null;
/**
 * Helper to format log entries for display
 */
export declare function formatLogEntry(entry: LogEntry, format?: "full" | "compact"): string;
/**
 * Calculate log statistics
 */
export declare function calculateLogStats(entries: LogEntry[]): LogStats;
/**
 * Filter log entries
 */
export declare function filterLogEntries(entries: LogEntry[], filter: LogFilter): LogEntry[];
//# sourceMappingURL=LogCategories.d.ts.map