import { getBioTemplateComponentBindings, getBioTemplateComponentProps as getTemplateComponentProps, toBioTemplateComponentImports, toBioTemplateComponentBindings, toBioTemplateComponentBindingsById, toBioTemplateComponentProps, toBioTemplateComponentPropsByComponent as toTemplateComponentPropsByComponent, toBioTemplateComponentPropsById, toBioTemplateComponentSnippets, toBioTemplateComponentUsage, type BioTemplateComponentBinding, type BioTemplateComponentBindingsById, type BioTemplateComponentImport, type BioTemplateComponentPropsByComponent, type BioTemplateComponentPropsBinding, type BioTemplateComponentPropsById, type BioTemplateComponentPropsLookupOptions, type BioTemplateResolvedComponentBinding, type BioTemplateComponentSnippet, type BioTemplateComponentTarget, type BioTemplateComponentUsage, } from '../templates/componentBindings' import type { BioTemplateEnvelope, TemplateCollectionEnvelope, } from '../templates/types' export { getBioTemplateComponentBindings, toBioTemplateComponentBindings, toBioTemplateComponentBindingsById, toBioTemplateComponentImports, toBioTemplateComponentProps, toBioTemplateComponentPropsById, toBioTemplateComponentSnippets, toBioTemplateComponentUsage, } export type { BioTemplateComponentBinding, BioTemplateComponentBindingsById, BioTemplateComponentImport, BioTemplateComponentPropsByComponent, BioTemplateComponentPropsBinding, BioTemplateComponentPropsById, BioTemplateComponentPropsLookupOptions, BioTemplateResolvedComponentBinding, BioTemplateComponentSnippet, BioTemplateComponentTarget, BioTemplateComponentUsage, } export interface UseBioTemplateComponentsReturn { bindings: BioTemplateComponentBinding[] imports: BioTemplateComponentImport[] componentBindings: BioTemplateResolvedComponentBinding[] componentBindingsById: BioTemplateComponentBindingsById componentProps: BioTemplateComponentPropsBinding[] componentPropsById: BioTemplateComponentPropsById componentPropsByComponent: BioTemplateComponentPropsByComponent snippets: BioTemplateComponentSnippet[] usage: BioTemplateComponentUsage | null getComponentProps: ( component: string, options?: BioTemplateComponentPropsLookupOptions, ) => Record | undefined } /** * Return component props grouped by SDK component name for direct WellPlate/DoseCalculator binding. * * @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */ export function toBioTemplateComponentPropsByComponent( target: BioTemplateEnvelope | TemplateCollectionEnvelope, ): BioTemplateComponentPropsByComponent { return toTemplateComponentPropsByComponent(target) } /** * Return the first props object for an SDK component, optionally restricted by template id or binding id. * * @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */ export function getBioTemplateComponentProps( target: BioTemplateEnvelope | TemplateCollectionEnvelope, component: string, options: BioTemplateComponentPropsLookupOptions = {}, ): Record | undefined { return getTemplateComponentProps(target, component, options) } /** * Map built-in biology templates to SDK components such as WellPlate, DataFrame, DoseCalculator, and PlateEditor. * * @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */ export function useBioTemplateComponents( target: BioTemplateComponentTarget ): UseBioTemplateComponentsReturn { return { bindings: getBioTemplateComponentBindings(target), imports: toBioTemplateComponentImports(target), componentBindings: typeof target === 'string' ? [] : toBioTemplateComponentBindings(target), componentBindingsById: typeof target === 'string' ? {} : toBioTemplateComponentBindingsById(target), componentProps: typeof target === 'string' ? [] : toBioTemplateComponentProps(target), componentPropsById: typeof target === 'string' ? {} : toBioTemplateComponentPropsById(target), componentPropsByComponent: typeof target === 'string' ? {} : toBioTemplateComponentPropsByComponent(target), snippets: typeof target === 'string' ? [] : toBioTemplateComponentSnippets(target), usage: typeof target === 'string' ? null : toBioTemplateComponentUsage(target), getComponentProps: (component, options) => typeof target === 'string' ? undefined : getBioTemplateComponentProps(target, component, options), } }