import { PromptAnalytics } from './prompt-analytics';
import { DashboardWidget, DashboardLayout, DashboardFilter, LiveMonitoringEvent } from './types';
/**
 * Real-time Dashboard System for Prompt Performance Monitoring
 * Provides live dashboards, real-time metrics, and monitoring capabilities
 */
export declare class RealTimeDashboard {
    private analytics;
    private layouts;
    private metrics;
    private events;
    private subscribers;
    private refreshIntervals;
    private isMonitoring;
    constructor(analytics: PromptAnalytics);
    /**
     * Start real-time monitoring
     */
    startMonitoring(): void;
    /**
     * Stop real-time monitoring
     */
    stopMonitoring(): void;
    /**
     * Create a new dashboard layout
     */
    createLayout(layout: Omit<DashboardLayout, 'id'>): string;
    /**
     * Get dashboard layout by ID
     */
    getLayout(layoutId: string): DashboardLayout | undefined;
    /**
     * Update dashboard layout
     */
    updateLayout(layoutId: string, updates: Partial<DashboardLayout>): void;
    /**
     * Get real-time metrics for a widget
     */
    getWidgetData(widget: DashboardWidget, filters?: DashboardFilter[]): any;
    /**
     * Subscribe to real-time updates
     */
    subscribe(channel: string, callback: Function): () => void;
    /**
     * Add a live monitoring event
     */
    addEvent(event: Omit<LiveMonitoringEvent, 'id' | 'timestamp'>): void;
    /**
     * Get recent events
     */
    getEvents(limit?: number, severity?: string): LiveMonitoringEvent[];
    /**
     * Update a real-time metric
     */
    updateMetric(metricId: string, value: number, metadata?: Record<string, any>): void;
    /**
     * Get all available layouts
     */
    getLayouts(): DashboardLayout[];
    /**
     * Export dashboard configuration
     */
    exportDashboard(layoutId?: string): string;
    /**
     * Import dashboard configuration
     */
    importDashboard(configJson: string): void;
    /**
     * Initialize default dashboard layouts
     */
    private initializeDefaultLayouts;
    /**
     * Start refresh interval for a layout
     */
    private startLayoutRefresh;
    /**
     * Stop refresh interval for a layout
     */
    private stopLayoutRefresh;
    /**
     * Refresh data for a layout
     */
    private refreshLayout;
    /**
     * Get metric data for a widget
     */
    private getMetricData;
    /**
     * Get chart data for a widget
     */
    private getChartData;
    /**
     * Get table data for a widget
     */
    private getTableData;
    /**
     * Get alert data for a widget
     */
    private getAlertData;
    /**
     * Get trend data for a widget
     */
    private getTrendData;
    /**
     * Calculate metric status based on thresholds
     */
    private calculateMetricStatus;
    /**
     * Notify subscribers of updates
     */
    private notifySubscribers;
}
//# sourceMappingURL=real-time-dashboard.d.ts.map