/**
 * Compliance Scope Engine - State Management Types
 *
 * Definiert den Gesamtzustand des Compliance Scope.
 */

import type { ScopeProfilingAnswer } from './questions'
export type { ScopeProfilingAnswer } from './questions';
import type { ScopeDecision } from './decisions'

/**
 * Gesamter Zustand des Compliance Scope
 */
export interface ComplianceScopeState {
  /** Alle gegebenen Antworten */
  answers: ScopeProfilingAnswer[];
  /** Aktuelle Entscheidung (null wenn noch nicht berechnet) */
  decision: ScopeDecision | null;
  /** Zeitstempel letzte Aenderung */
  lastModified?: string;
  /** Zeitpunkt der letzten Evaluierung */
  lastEvaluatedAt: string | null;
  /** Sind alle Pflichtfragen beantwortet? */
  isComplete: boolean;
}

/**
 * Erstellt einen leeren ComplianceScopeState mit Default-Werten.
 */
export function createEmptyScopeState(): ComplianceScopeState {
  return {
    answers: [],
    decision: null,
    lastEvaluatedAt: null,
    isComplete: false,
  };
}
