import { bioTemplatePresetControlValuesToOptions } from './builderPresetControls' import type { BioTemplateControlValues } from './builderPresetControls' import { createElisaAssayCollection } from './elisaAssayCollectionBuilder' import { createFlowCytometryAssayCollection } from './flowCytometryAssayCollectionBuilder' import { createLcmsBatchCollection } from './lcmsBatchCollectionBuilder' import { getBioTemplatePresetInfo } from './presets' import { createQpcrExpressionCollection } from './qpcrExpressionCollectionBuilder' import { createTargetedMetabolomicsCollection } from './targetedMetabolomicsCollectionBuilder' import { createWellPlateScreenCollection } from './wellPlateScreenCollectionBuilder' import { createWesternBlotAssayCollection } from './westernBlotAssayCollectionBuilder' import type { CreateElisaAssayCollectionOptions, CreateFlowCytometryAssayCollectionOptions, CreateLcmsBatchCollectionOptions, CreateQpcrExpressionCollectionOptions, CreateTargetedMetabolomicsCollectionOptions, CreateWellPlateScreenCollectionOptions, CreateWesternBlotAssayCollectionOptions, TemplateCollectionEnvelope, TemplatePresetId, } from './types' /** @deprecated Scheduled for removal from the core SDK in MINT 1.4; the biology templates move to a dedicated package or the owning plugins. */ export function createBioTemplatePresetCollection( name: 'wellplate-screen', options?: CreateWellPlateScreenCollectionOptions ): TemplateCollectionEnvelope export function createBioTemplatePresetCollection( name: 'qpcr-expression', options?: CreateQpcrExpressionCollectionOptions ): TemplateCollectionEnvelope export function createBioTemplatePresetCollection( name: 'lcms-batch', options?: CreateLcmsBatchCollectionOptions ): TemplateCollectionEnvelope export function createBioTemplatePresetCollection( name: 'targeted-metabolomics', options?: CreateTargetedMetabolomicsCollectionOptions ): TemplateCollectionEnvelope export function createBioTemplatePresetCollection( name: 'elisa-assay', options?: CreateElisaAssayCollectionOptions ): TemplateCollectionEnvelope export function createBioTemplatePresetCollection( name: 'flow-cytometry-assay', options?: CreateFlowCytometryAssayCollectionOptions ): TemplateCollectionEnvelope export function createBioTemplatePresetCollection( name: 'western-blot-assay', options?: CreateWesternBlotAssayCollectionOptions ): TemplateCollectionEnvelope export function createBioTemplatePresetCollection( name: string, options?: | CreateWellPlateScreenCollectionOptions | CreateQpcrExpressionCollectionOptions | CreateLcmsBatchCollectionOptions | CreateTargetedMetabolomicsCollectionOptions | CreateElisaAssayCollectionOptions | CreateFlowCytometryAssayCollectionOptions | CreateWesternBlotAssayCollectionOptions ): TemplateCollectionEnvelope export function createBioTemplatePresetCollection( name: TemplatePresetId | string, options: | CreateWellPlateScreenCollectionOptions | CreateQpcrExpressionCollectionOptions | CreateLcmsBatchCollectionOptions | CreateTargetedMetabolomicsCollectionOptions | CreateElisaAssayCollectionOptions | CreateFlowCytometryAssayCollectionOptions | CreateWesternBlotAssayCollectionOptions = {} ): TemplateCollectionEnvelope { const preset = getBioTemplatePresetInfo(name) if (!preset) { throw new Error(`Unknown template preset '${name}'.`) } if (preset.name === 'wellplate-screen') { return createWellPlateScreenCollection(options as CreateWellPlateScreenCollectionOptions) } if (preset.name === 'qpcr-expression') { return createQpcrExpressionCollection(options as CreateQpcrExpressionCollectionOptions) } if (preset.name === 'lcms-batch') { return createLcmsBatchCollection(options as CreateLcmsBatchCollectionOptions) } if (preset.name === 'targeted-metabolomics') { return createTargetedMetabolomicsCollection(options as CreateTargetedMetabolomicsCollectionOptions) } if (preset.name === 'elisa-assay') { return createElisaAssayCollection(options as CreateElisaAssayCollectionOptions) } if (preset.name === 'flow-cytometry-assay') { return createFlowCytometryAssayCollection(options as CreateFlowCytometryAssayCollectionOptions) } if (preset.name === 'western-blot-assay') { return createWesternBlotAssayCollection(options as CreateWesternBlotAssayCollectionOptions) } throw new Error(`Unknown template preset '${name}'.`) } /** @deprecated Scheduled for removal from the core SDK in MINT 1.4; the biology templates move to a dedicated package or the owning plugins. */ export function createBioTemplatePresetCollectionFromControls( name: 'wellplate-screen', values: BioTemplateControlValues ): TemplateCollectionEnvelope export function createBioTemplatePresetCollectionFromControls( name: 'qpcr-expression', values: BioTemplateControlValues ): TemplateCollectionEnvelope export function createBioTemplatePresetCollectionFromControls( name: 'lcms-batch', values: BioTemplateControlValues ): TemplateCollectionEnvelope export function createBioTemplatePresetCollectionFromControls( name: 'targeted-metabolomics', values: BioTemplateControlValues ): TemplateCollectionEnvelope export function createBioTemplatePresetCollectionFromControls( name: 'elisa-assay', values: BioTemplateControlValues ): TemplateCollectionEnvelope export function createBioTemplatePresetCollectionFromControls( name: 'flow-cytometry-assay', values: BioTemplateControlValues ): TemplateCollectionEnvelope export function createBioTemplatePresetCollectionFromControls( name: 'western-blot-assay', values: BioTemplateControlValues ): TemplateCollectionEnvelope export function createBioTemplatePresetCollectionFromControls( name: TemplatePresetId | string, values: BioTemplateControlValues ): TemplateCollectionEnvelope export function createBioTemplatePresetCollectionFromControls( name: TemplatePresetId | string, values: BioTemplateControlValues ): TemplateCollectionEnvelope { const options = bioTemplatePresetControlValuesToOptions(name, values) return createBioTemplatePresetCollection(name, options) }