import { Ref, ComputedRef } from 'vue'; import { ProtocolStep, ProtocolStepType } from '../types'; import { ParameterDefinition, StepTemplate } from './protocolTemplateCatalog'; export type { ParameterDefinition, StepTemplate } from './protocolTemplateCatalog'; export interface ValidationResult { valid: boolean; errors: Record; } export interface UseProtocolTemplatesReturn { builtInTemplates: StepTemplate[]; customTemplates: Ref; allTemplates: ComputedRef; getTemplateByType: (type: ProtocolStepType) => StepTemplate | undefined; getTemplateById: (id: string) => StepTemplate | undefined; saveCustomTemplate: (template: StepTemplate) => void; deleteCustomTemplate: (templateId: string) => void; validateStep: (step: ProtocolStep, template: StepTemplate) => ValidationResult; createStepFromTemplate: (template: StepTemplate, overrides?: Partial) => ProtocolStep; formatParameterValue: (value: unknown, param: ParameterDefinition) => string; } /** Provides built-in and custom protocol step templates with validation and step creation helpers. */ export declare function useProtocolTemplates(): UseProtocolTemplatesReturn;