import type { WellPlateFormat } from '../types' import type { BioTemplateEnvelope } from './types' export type QpcrChemistry = 'sybr' | 'taqman' | 'probe' | 'evagreen' | 'other' export type QpcrControlKind = 'sample' | 'no-template' | 'no-rt' | 'positive' | 'standard' | 'calibrator' export interface QpcrSample { sampleId: string name?: string group?: string metadata?: Record } export interface QpcrTarget { id: string name: string assayId?: string reporter?: string quencher?: string ampliconBp?: number metadata?: Record } export interface QpcrReaction { id: string wellId: string sampleId?: string targetId: string replicate: number controlKind: QpcrControlKind cq?: number | null quantity?: number | null flags: string[] metadata?: Record } export interface QpcrPlateTemplateData { plateId: string format: WellPlateFormat samples: QpcrSample[] targets: QpcrTarget[] reactions: QpcrReaction[] instrument?: string chemistry: QpcrChemistry metadata: Record } export type QpcrPlateTemplate = BioTemplateEnvelope