export type StandardScreenState =
  | 'READY' | 'LOADING' | 'EMPTY' | 'WARN' | 'ERROR'
  | 'UNAUTHORIZED' | 'FORBIDDEN' | 'PARTIAL' | 'DIRTY'
  | 'CONFLICT' | 'EXPIRED' | 'READONLY' | 'PROCESSING'

export interface ScreenEvidenceContext {
  asOf?: string
  version?: string
  datasetId?: string
  modelVersion?: string
  configVersion?: string
  codeSha?: string
  contractVersion?: string
  evidenceHash?: string
  projectionVersion?: string
  watermark?: string
  stale?: boolean
  correlationId?: string
  permission?: string
  capabilityStatus?: string
}

export interface StandardScreenProps {
  title: string
  subtitle?: string
  state?: StandardScreenState
  evidence?: ScreenEvidenceContext
  warning?: string
  error?: Error | null
}
