export type KbxTestScenarioKind = 'e2e' | 'integration' | 'contract'
export type KbxTestIsolation = 'database-reset' | 'tenant-reset' | 'ui-only'

export interface KbxTestScenarioDefinition {
  id: string
  title: string
  screenId: string
  kind: KbxTestScenarioKind
  tags: ReadonlyArray<string>
  fixtureSets: ReadonlyArray<string>
  requiredPermissions: ReadonlyArray<string>
  apiOperations: ReadonlyArray<string>
  isolation: KbxTestIsolation
  steps: ReadonlyArray<Record<string, unknown>>
  assertions: ReadonlyArray<string>
  evidence: ReadonlyArray<string>
}

export interface KbxTestFixtureSetDefinition {
  id: string
  description: string
  refs: ReadonlyArray<string>
}


export interface KbxGeneratedScreenTestPlan {
  screenId: string
  templateCode: 'T01'|'T02'|'T03'|'T04'|'T05'|'T06'|'T07'|'T08'|'T09'
  canonicalScenarioIds: ReadonlyArray<string>
  requiredChecks: ReadonlyArray<string>
  requiredEvidence: ReadonlyArray<string>
}
