import { BioTemplateEnvelope, TemplateCollectionEnvelope, TemplatePackId } from '../templates'; import { UseBioTemplatePackWorkspaceOptions, UseBioTemplatePackWorkspaceReturn } from '../composables/useBioTemplatePackWorkspace'; interface BioTemplatePackWorkspaceSlotProps { workspace: UseBioTemplatePackWorkspaceReturn; bindings: UseBioTemplatePackWorkspaceReturn['bindings']['value']; pack: UseBioTemplatePackWorkspaceReturn['pack']; target: BioTemplateEnvelope | TemplateCollectionEnvelope; componentBindingsById: UseBioTemplatePackWorkspaceReturn['componentBindingsById']['value']; componentProps: UseBioTemplatePackWorkspaceReturn['componentProps']['value']; componentPropsById: UseBioTemplatePackWorkspaceReturn['componentPropsById']['value']; componentPropsByComponent: UseBioTemplatePackWorkspaceReturn['componentPropsByComponent']['value']; getComponentProps: UseBioTemplatePackWorkspaceReturn['getComponentProps']; form: UseBioTemplatePackWorkspaceReturn['form']['value']; sidebar: UseBioTemplatePackWorkspaceReturn['sidebar']['value']; topBar: UseBioTemplatePackWorkspaceReturn['topBar']['value']; pillNav: UseBioTemplatePackWorkspaceReturn['pillNav']['value']; topBarSettings: UseBioTemplatePackWorkspaceReturn['topBarSettings']['value']; } interface PackWorkspaceStatus { loading?: boolean; saving?: boolean; error?: string | null; hasExperiment?: boolean; currentExperimentId?: number; lastLoadedAt?: Date | null; lastSavedAt?: Date | null; } interface PackWorkspaceActions { load?: () => unknown; reset?: () => unknown; save?: () => unknown; } interface Props { /** Workspace returned by useBioTemplatePackWorkspace(). Use for full manual control. */ workspace?: UseBioTemplatePackWorkspaceReturn; /** Built-in template pack id or alias used when workspace is not provided. */ pack?: TemplatePackId | string; /** Options passed to the internally generated useBioTemplatePackWorkspace() call. */ workspaceOptions?: UseBioTemplatePackWorkspaceOptions; /** External request state when plugin endpoints handle pack persistence. */ status?: PackWorkspaceStatus; /** External load/reset/save handlers when plugin endpoints handle pack persistence. */ actions?: PackWorkspaceActions; /** Human-readable workspace label. Defaults to the pack catalog label. */ label?: string; /** Copy shown in the status banner. */ message?: string; /** Compact preview layout. */ dense?: boolean; /** Render preview components in read-only mode. */ readonly?: boolean; /** Show load/save timestamps. */ showStatus?: boolean; /** Show template id/version cards for the generated collection. */ showTemplateSummary?: boolean; loadLabel?: string; resetLabel?: string; saveLabel?: string; } type __VLS_Slots = { default?: (props: BioTemplatePackWorkspaceSlotProps) => unknown; }; declare const __VLS_base: import('vue').DefineComponent & Readonly<{}>, { status: PackWorkspaceStatus; message: string; label: string; readonly: boolean; actions: PackWorkspaceActions; dense: boolean; workspace: UseBioTemplatePackWorkspaceReturn; pack: TemplatePackId | string; showStatus: boolean; showTemplateSummary: boolean; loadLabel: string; resetLabel: string; saveLabel: string; workspaceOptions: UseBioTemplatePackWorkspaceOptions; }, {}, {}, {}, 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; }; };