export interface BackupJob {
    id: string;
    name: string;
    source: string | null;
    target: string | null;
    schedule_interval_seconds: number | null;
    created_at: number;
}

export interface BackupRun {
    id: string;
    job_id: string;
    started_at: number;
    ended_at: number | null;
    status: "success" | "failure" | "in_progress";
    bytes_transferred: number | null;
    duration_ms: number | null;
    error_message: string | null;
    details_json: Record<string, unknown> | null;
    created_at: number;
}

export interface BackupAlert {
    id: string;
    job_id: string;
    run_id: string | null;
    alert_type: "missed_schedule" | "failed_status" | "anomaly_size" | "anomaly_duration";
    severity: "warning" | "critical";
    message: string;
    acknowledged: boolean;
    resolved_at: number | null;
    created_at: number;
}

export interface BackupDashboardSummary {
    total_jobs: number;
    success_rate_24h: number;
    active_alerts: number;
    last_failed_at: number | null;
}
