export interface ServiceConfig {
  id: string;
  name: string;
  type: string;
  version: string;
  description?: string;
  dependencies?: string[];
  startupOrder?: number;
  autoStart?: boolean;
  maxRestarts?: number;
  restartDelay?: number;
}

export interface ServiceStatus {
  status: ServiceStatusType;
  lastCheck: Date;
}

export interface ServiceHealthCheck {
  serviceId: string;
  status: ServiceHealthStatus;
  message: string;
  timestamp: Date;
}

export enum ServiceStatusType {
  RUNNING = 'RUNNING',
  STOPPED = 'STOPPED',
  ERROR = 'ERROR',
  UNKNOWN = 'UNKNOWN'
}

export enum ServiceHealthStatus {
  HEALTHY = 'HEALTHY',
  UNHEALTHY = 'UNHEALTHY',
  ERROR = 'ERROR'
}
