import { TopBarVariant } from '../types'; import { FormEnhancements } from '../types/form-builder'; import { ControlModel, ControlModelBinding, ControlSchema, ControlWorkspaceOptions, DoseDesignControlModelOptions, UseControlWorkspaceReturn } from '../composables/useControlSchema'; type DoseDesignSidebarVariant = 'default' | 'analysis'; type ComponentProps = Record; type ComponentPropsById = Record; type ComponentBinding = { id: string; component: string; props: ComponentProps; }; type ComponentBindingsById = Record; type ResolvedControlWorkspace = UseControlWorkspaceReturn; interface DoseDesignWorkspaceSlotProps { workspace: ResolvedControlWorkspace; bindings: ResolvedControlWorkspace['bindings']; values: ResolvedControlWorkspace['values']; componentBindings: ComponentBinding[]; componentBindingsById: ComponentBindingsById; componentPropsById: ComponentPropsById; wellPlateProps: ComponentProps; doseCalculatorProps: ComponentProps; } interface Props { /** Model returned by defineDoseDesignControlModel(), or a custom compatible ControlWorkspace model. */ model?: ControlModel | ControlModelBinding; /** Workspace returned by useControlWorkspace(). Use for full manual control. */ workspace?: UseControlWorkspaceReturn; /** Options used when this view creates the default dose-design model internally. */ doseDesignOptions?: DoseDesignControlModelOptions; /** Options passed to the internally generated ControlWorkspaceView workspace. */ controlOptions?: ControlWorkspaceOptions; /** Initial values for the internally generated workspace. */ initialValues?: Record; /** External values for the internally generated workspace. Supports default v-model. */ modelValue?: Record; /** External values for the internally generated workspace. Supports v-model:values. */ values?: Record; /** Named component props id for the generated WellPlate binding. */ plateId?: string; /** Named component props id for the generated DoseCalculator binding. */ doseId?: string; /** Extra props merged into the generated WellPlate binding. */ wellPlateProps?: ComponentProps; /** Extra props merged into the generated DoseCalculator binding. */ doseCalculatorProps?: ComponentProps; /** AppTopBar title. */ title?: string; /** AppTopBar subtitle. */ subtitle?: string; /** AppTopBar visual variant. */ topBarVariant?: TopBarVariant; /** AppSidebar/AppLayout sidebar width. */ sidebarWidth?: string; /** @deprecated No-op, removed in MINT 1.4. AppSidebar has one look now; the former `analysis` preset is the default. */ sidebarVariant?: DoseDesignSidebarVariant; /** Convert the sidebar into an SDK-owned mobile overlay below the AppLayout breakpoint. */ responsiveSidebar?: boolean; /** Sidebar position in AppLayout. */ sidebarPosition?: 'left' | 'right'; /** Optional AppSidebar chrome title for LEAF-style plugin workbenches. */ sidebarTitle?: string; /** Optional AppSidebar chrome subtitle for active experiment/run context. */ sidebarSubtitle?: string; /** Optional compact badge/count rendered in the AppSidebar chrome header. */ sidebarBadge?: string | number; /** Floating AppLayout style. */ floating?: boolean; /** Compact AppSidebar density. */ dense?: boolean; /** Whether AppTopBar should show generated settings. */ showSettings?: boolean; /** Render FormBuilder actions in the default generated forms. */ showFormActions?: boolean; /** Runtime FormBuilder enhancements passed to generated forms. */ formEnhancements?: FormEnhancements>; /** Loading/saving state passed to generated forms. */ formLoading?: boolean; /** Disabled state passed to generated forms. */ formDisabled?: boolean; /** Readonly state passed to generated forms. */ formReadonly?: boolean; /** FormBuilder size in generated forms. */ formSize?: 'sm' | 'md' | 'lg'; } type __VLS_Slots = { default?: (props: DoseDesignWorkspaceSlotProps) => unknown; plate?: (props: DoseDesignWorkspaceSlotProps) => unknown; dose?: (props: DoseDesignWorkspaceSlotProps) => unknown; }; declare const __VLS_base: import('vue').DefineComponent) => any; submit: (values: Record) => any; cancel: () => any; "update:values": (values: Record) => any; }, string, import('vue').PublicProps, Readonly & Readonly<{ "onUpdate:modelValue"?: ((values: Record) => any) | undefined; onSubmit?: ((values: Record) => any) | undefined; onCancel?: (() => any) | undefined; "onUpdate:values"?: ((values: Record) => any) | undefined; }>, { values: Record; modelValue: Record; title: string; floating: boolean; subtitle: string; initialValues: Record; controlOptions: ControlWorkspaceOptions; model: ControlModel | ControlModelBinding; dense: boolean; showSettings: boolean; formEnhancements: FormEnhancements>; showFormActions: boolean; formLoading: boolean; formDisabled: boolean; formReadonly: boolean; formSize: "sm" | "md" | "lg"; sidebarPosition: "left" | "right"; sidebarWidth: string; responsiveSidebar: boolean; topBarVariant: TopBarVariant; sidebarTitle: string; sidebarSubtitle: string; sidebarBadge: string | number; sidebarVariant: DoseDesignSidebarVariant; plateId: string; workspace: UseControlWorkspaceReturn; doseDesignOptions: DoseDesignControlModelOptions; doseId: string; wellPlateProps: ComponentProps; doseCalculatorProps: ComponentProps; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>; declare const __VLS_export: __VLS_WithSlots; declare const _default: typeof __VLS_export; export default _default; type __VLS_WithSlots = T & { new (): { $slots: S; }; };