import { ControlModel, ControlModelBinding, ControlSchema, ControlWorkspaceOptions } from '../composables/useControlSchema'; import { SettingsTabInput, SettingsModalLayout, SettingsModalSchema, SettingsUserType, FormEnhancements, FormFieldSchema } from '../types'; interface Props { modelValue: boolean; title?: string; /** Manual tab descriptors. Ignored when `schema` is set (groups become tabs). */ tabs?: SettingsTabInput[]; showAppearance?: boolean; /** List Appearance before the other tabs and open on it. */ appearanceFirst?: boolean; size?: 'md' | 'lg' | 'xl'; layout?: SettingsModalLayout; /** Declarative schema — fields auto-render via SDK form components. */ schema?: SettingsModalSchema; /** Model returned by defineControlModel(), or a raw nested ControlModel for one-step settings generation. */ model?: ControlModel | ControlModelBinding; /** Compact controls model — converted to `schema` when `schema` is not set. */ controls?: ControlSchema; /** Conversion options for `controls`, such as section labels, columns, and shared initialValues. */ controlOptions?: ControlWorkspaceOptions; /** Two-way bound values when `schema`, `model`, or `controls` is set. */ values?: Record; /** Optional dynamic enhancements (validators, dynamic options, callbacks). */ enhancements?: FormEnhancements>; /** Optional user type override for permission-filtered settings content. Defaults to SDK auth/platform context. */ userType?: SettingsUserType; } declare function handleClose(): void; declare var __VLS_47: `field:${string}`, __VLS_48: { field: FormFieldSchema; form: import('..').UseFormReturn>; fieldProps: { modelValue: unknown; 'onUpdate:modelValue': (value: unknown) => void; onBlur: () => void; error: string | null; }; }, __VLS_61: `tab-${string}`, __VLS_62: {}, __VLS_76: {}, __VLS_79: { values: Record; close: typeof handleClose; }; type __VLS_Slots = {} & { [K in NonNullable]?: (props: typeof __VLS_48) => any; } & { [K in NonNullable]?: (props: typeof __VLS_62) => any; } & { appearance?: (props: typeof __VLS_76) => any; } & { footer?: (props: typeof __VLS_79) => any; }; declare const __VLS_base: import('vue').DefineComponent any; close: () => any; "update:values": (data: Record) => any; }, string, import('vue').PublicProps, Readonly & Readonly<{ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined; onClose?: (() => any) | undefined; "onUpdate:values"?: ((data: Record) => any) | undefined; }>, { size: "md" | "lg" | "xl"; title: string; showAppearance: boolean; tabs: SettingsTabInput[]; layout: SettingsModalLayout; model: ControlModel | ControlModelBinding; }, {}, {}, {}, 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; }; };