/** A safety protocol rendered from a `policy_documents` row (safety_protocol). */
export interface SafetyProtocolViewModel {
  readonly id: string;
  readonly title: string;
  /** Sub-category tag → drives the static card icon. */
  readonly tag: string | null;
  readonly steps: readonly string[];
  readonly autismConsiderations: readonly string[];
  readonly version: number;
  readonly lastUpdated: string;
  readonly author: string;
}

export interface SafetyProtocolFormInput {
  readonly title: string;
  readonly tag: string;
  readonly steps: readonly string[];
  readonly autismConsiderations: readonly string[];
}

/**
 * Mutable authoring draft. `steps` / `autismConsiderations` grow and shrink
 * dynamically — each protocol can carry a different number of either.
 */
export interface SafetyProtocolDraft {
  title: string;
  tag: string;
  steps: string[];
  autismConsiderations: string[];
}

/** The two dynamic string-list fields on the draft. */
export type SafetyProtocolListKey = 'steps' | 'autismConsiderations';
