// Re-export interfaces from the public catalog for consistency export interface IServiceStatus { id: string; name: string; displayName: string; description?: string; currentStatus: 'operational' | 'degraded' | 'partial_outage' | 'major_outage' | 'maintenance'; lastChecked: number; uptime30d: number; uptime90d: number; responseTime: number; category?: string; dependencies?: string[]; selected?: boolean; } export interface IStatusHistoryPoint { timestamp: number; status: 'operational' | 'degraded' | 'partial_outage' | 'major_outage' | 'maintenance'; responseTime?: number; errorRate?: number; } export interface IIncidentUpdate { id: string; timestamp: number; status: 'investigating' | 'identified' | 'monitoring' | 'resolved' | 'postmortem'; message: string; author?: string; } export interface IIncidentDetails { id: string; title: string; status: 'investigating' | 'identified' | 'monitoring' | 'resolved' | 'postmortem'; severity: 'critical' | 'major' | 'minor' | 'maintenance'; affectedServices: string[]; startTime: number; endTime?: number; updates: IIncidentUpdate[]; impact: string; rootCause?: string; resolution?: string; } export interface IOverallStatus { status: 'operational' | 'degraded' | 'partial_outage' | 'major_outage' | 'maintenance'; message: string; lastUpdated: number; affectedServices: number; totalServices: number; } export interface IStatusPageConfig { apiEndpoint?: string; refreshInterval?: number; timeZone?: string; dateFormat?: string; enableWebSocket?: boolean; enableNotifications?: boolean; theme?: 'light' | 'dark' | 'auto'; language?: string; showHistoricalDays?: number; whitelabel?: boolean; companyName?: string; companyLogo?: string; supportEmail?: string; statusPageUrl?: string; legalUrl?: string; } // Admin-specific interfaces export interface IMonitorFormData { id?: string; name: string; displayName: string; description?: string; category?: string; dependencies?: string[]; currentStatus: 'operational' | 'degraded' | 'partial_outage' | 'major_outage' | 'maintenance'; } export interface IIncidentFormData { id?: string; title: string; severity: 'critical' | 'major' | 'minor' | 'maintenance'; status: 'investigating' | 'identified' | 'monitoring' | 'resolved' | 'postmortem'; affectedServices: string[]; impact: string; rootCause?: string; resolution?: string; } export interface IIncidentUpdateFormData { status: 'investigating' | 'identified' | 'monitoring' | 'resolved' | 'postmortem'; message: string; author?: string; }