import type { WellPlateFormat } from '../types' import type { AssayFeature, AssaySample, CalibrationAcceptanceInput, CalibrationModel, CalibrationPointInput, CompoundDoseSeries, ControlDefinition, FlowPanelControl, FlowPanelMarker, InstrumentMethodInput, InstrumentRunItemInput, PlateMapTemplate, PlateMapTemplateData, ProtocolStepRecord, ReagentTemplateInput, SampleColumn, SampleGroupDefinition, SamplePrepStepInput, SamplePrepStepType, SampleRecord, TemplateSample, TimeCourseCondition, TimePoint, TimeUnit, } from './types' import type { QpcrChemistry, QpcrSample, QpcrTarget, } from './templateQpcrTypes' export interface CreateBioTemplatePackCollectionOptions { metadata?: Record } export interface CreatePlateMapTemplateOptions { name?: string id?: string format?: WellPlateFormat samples?: Array metadata?: Record } export interface CreateSampleSheetTemplateOptions { samples: SampleRecord[] columns?: SampleColumn[] groups?: SampleGroupDefinition[] metadata?: Record } export interface CreateSamplePrepTemplateOptions { samples: Array prepType?: SamplePrepStepType protocolName?: string volumeUnit?: string inputVolume?: number outputVolume?: number metadata?: Record } export interface CreateDoseResponseTemplateOptions { compounds: Record | CompoundDoseSeries[] unit: string replicates?: number controls?: ControlDefinition[] layout?: PlateMapTemplate | PlateMapTemplateData metadata?: Record } export interface CreateCalibrationCurveTemplateOptions { concentrations: Array analyte?: string unit?: string responseUnit?: string model?: CalibrationModel includeBlank?: boolean includeQc?: boolean acceptance?: CalibrationAcceptanceInput metadata?: Record } export interface CreateTimeCourseTemplateOptions { timepoints: Array unit: TimeUnit conditions: Array replicates?: number metadata?: Record } export interface CreateAssayMatrixTemplateOptions { samples: Array features: Array values?: Record> metadata?: Record } export interface CreateProtocolStepsTemplateOptions { steps: Array & { name: string })> metadata?: Record } export interface CreateReagentListTemplateOptions { reagents: Array metadata?: Record } export interface CreateFlowCytometryPanelTemplateOptions { markers: Array & { marker: string })> controls?: Array & { name: string })> instrument?: string includeDefaultControls?: boolean metadata?: Record } export interface CreateInstrumentRunTemplateOptions { items: Array method?: string | InstrumentMethodInput instrument?: string includeBlanks?: boolean includeQc?: boolean metadata?: Record } export interface CreateQpcrPlateTemplateOptions { samples: Array targets: Array format?: WellPlateFormat replicates?: number includeNoTemplateControls?: boolean instrument?: string chemistry?: QpcrChemistry metadata?: Record } export interface CreateWellPlateScreenCollectionOptions { samples?: Array compounds?: Record | CompoundDoseSeries[] unit?: string replicates?: number plateName?: string plateFormat?: WellPlateFormat metadata?: Record } export interface CreateQpcrExpressionCollectionOptions { samples?: Array targets?: Array chemistry?: QpcrChemistry includeNoTemplateControls?: boolean format?: WellPlateFormat replicates?: number instrument?: string metadata?: Record } export interface CreateLcmsBatchCollectionOptions { samples?: Array features?: Array instrument?: string method?: string | InstrumentMethodInput includeQc?: boolean metadata?: Record } export interface CreateTargetedMetabolomicsCollectionOptions { samples?: Array metabolites?: Array internalStandards?: Array standardConcentrations?: number[] concentrationUnit?: string responseUnit?: string calibrationAnalyte?: string instrument?: string method?: string | InstrumentMethodInput prepType?: SamplePrepStepType outputVolume?: number includeQc?: boolean metadata?: Record } export interface CreateElisaAssayCollectionOptions { samples?: Array analyte?: string standardConcentrations?: number[] unit?: string responseUnit?: string plateName?: string plateFormat?: WellPlateFormat metadata?: Record } export interface CreateFlowCytometryAssayCollectionOptions { samples?: Array markers?: CreateFlowCytometryPanelTemplateOptions['markers'] features?: Array instrument?: string includeDefaultControls?: boolean metadata?: Record } export interface CreateWesternBlotAssayCollectionOptions { samples?: Array targets?: Array loadingControl?: string metadata?: Record }