import { ProtocolStep } from '../types'; import { ParameterDefinition, StepTemplate } from '../composables/useProtocolTemplates'; export interface ProtocolStepEditorFields { name: string; description: string; duration?: number; parameters: Record; } export interface InitializedProtocolStepEditorState { selectedTemplateId: string | null; fields: ProtocolStepEditorFields; } export type ProtocolParameterFormatter = (value: unknown, parameter: ParameterDefinition) => string; export declare function buildProtocolTemplateDefaults(template: StepTemplate): ProtocolStepEditorFields; export declare function buildProtocolStepEditorState(step: ProtocolStep, getTemplateByType: (type: ProtocolStep['type']) => StepTemplate | undefined): InitializedProtocolStepEditorState; export declare function buildProtocolStepPreview(template: StepTemplate, fields: ProtocolStepEditorFields, sourceStep?: ProtocolStep): ProtocolStep; export declare function buildProtocolPreviewParams(template: StepTemplate, parameters: Record, formatParameterValue: ProtocolParameterFormatter): string; export declare function buildCustomProtocolTemplate(template: StepTemplate, fields: ProtocolStepEditorFields, templateId?: string): StepTemplate;