import { ComputedRef } from 'vue'; import { PillNavItem } from '../types'; import { ControlComponentBinding, ControlComponentBindingsById, ControlComponentBindingsConfig, ControlComponentPropsByIdMap, ControlComponentPropsMap, ControlModel, ControlModelBinding, ControlSchema, ControlWorkspaceOptions } from '../composables/useControlSchema'; export interface PluginWorkspaceControlsOptions { model: () => ControlModel | ControlModelBinding | undefined; controls: () => ControlSchema | undefined; controlOptions: () => ControlWorkspaceOptions; modelValue: () => Record | undefined; values: () => Record | undefined; componentBindings: () => ControlComponentBindingsConfig | undefined; componentProps: () => ControlComponentPropsMap | undefined; componentPropsById: () => ControlComponentPropsByIdMap | undefined; emitValues: (values: Record) => void; } export interface PluginWorkspaceControls { resolvedModel: ComputedRef; resolvedControls: ComputedRef; resolvedControlOptions: ComputedRef; generatedPillNav: ComputedRef; generatedDefaultView: ComputedRef; internalControlValues: Record; resolvedComponentBindings: ComputedRef; resolvedComponentBindingsById: ComputedRef; resolvedComponentProps: ComputedRef>; resolvedComponentPropsById: ComputedRef>>; handleControlValuesUpdate: (values: Record) => void; } export declare function usePluginWorkspaceControls(options: PluginWorkspaceControlsOptions): PluginWorkspaceControls;