export type SettingsSource = "database" | "environment" | "missing";

export interface SmtpSettings {
  host: string;
  port: number;
  username: string;
  password_is_set: boolean;
  from_email: string;
  from_name: string;
  use_tls: boolean;
  enabled: boolean;
  source: SettingsSource;
}

export interface SmtpSettingsPayload {
  host: string;
  port: number;
  username: string;
  password?: string;
  from_email: string;
  from_name: string;
  use_tls: boolean;
  enabled: boolean;
}

export interface SmtpTestResponse {
  success: boolean;
  message: string;
  source: SettingsSource;
}

export interface PublicLinksSettings {
  repair_status_base_url: string;
  source: SettingsSource;
}

export interface SystemStatusItem {
  label: string;
  value: string;
  status: "ok" | "warning" | "info";
}
