import type { UnknownRecord } from 'type-fest'; import type { VNode } from 'vue'; import { nextTick } from 'vue'; import type { TableData } from '../table'; import type { BasicCrudTableModalFormProps, BasicCrudTableModalProps, BasicCrudTableModalSubmitContext, MaybePromise } from './types'; type __VLS_Slots = { [name: string]: ((props: UnknownRecord) => VNode[]) | undefined; }; type __VLS_Props = { modalProps?: BasicCrudTableModalProps; modalFormProps?: BasicCrudTableModalFormProps; createApi?: (data: UnknownRecord) => MaybePromise; updateApi?: (data: UnknownRecord) => MaybePromise; detailApi?: (row: TableData) => MaybePromise; valueTransformer?: (data: UnknownRecord) => UnknownRecord; beforeSubmit?: (context: BasicCrudTableModalSubmitContext) => MaybePromise; }; declare function open(row?: TableData): Promise; type __VLS_ModelProps = { 'visible'?: boolean; 'model'?: UnknownRecord; }; type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps; declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, { open: typeof open; type: import("vue").ComputedRef<"create" | "edit">; formRef: import("vue").ShallowRef<({ $: import("vue").ComponentInternalInstance; $data: {}; $props: { readonly schemas: import("..").JsonFormA2UI_0_9_1ComponentNode[] | import("..").JsonFormSchema, {}>[]; readonly adapter?: import("..").JsonFormAdapter | undefined; readonly model?: import("..").JsonFormModel | undefined; readonly hideLabel?: boolean | undefined; readonly hideAsterisk?: boolean | undefined; readonly showColon?: boolean | undefined; readonly component?: (string | import("vue").Component) | undefined; readonly modelValue?: import("..").JsonFormModel | undefined; readonly "onUpdate:modelValue"?: ((value: import("..").JsonFormModel | undefined) => any) | undefined; } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps; $attrs: import("vue").Attrs; $refs: { [x: string]: unknown; }; $slots: Readonly<{ [name: string]: import("vue").Slot | undefined; }>; $root: import("vue").ComponentPublicInstance | null; $parent: import("vue").ComponentPublicInstance | null; $host: Element | null; $emit: (event: "update:modelValue", value: import("..").JsonFormModel | undefined) => void; $el: any; $options: import("vue").ComponentOptionsBase, {}>[]; adapter?: import("..").JsonFormAdapter; model?: import("..").JsonFormModel; hideLabel?: boolean; hideAsterisk?: boolean; showColon?: boolean; component?: string | import("vue").Component; } & { modelValue?: import("..").JsonFormModel | undefined; }> & Readonly<{ "onUpdate:modelValue"?: ((value: import("..").JsonFormModel | undefined) => any) | undefined; }>, { validate: (callback?: ((errors: undefined | Record) => void) | undefined) => Promise | undefined> | undefined; validateField: (field: string | string[], callback?: ((errors: undefined | Record) => void) | undefined) => Promise | undefined> | undefined; resetFields: (field?: string | string[] | undefined) => void | undefined; clearValidate: (field?: string | string[] | undefined) => void | undefined; setFields: (data: Record) => void | undefined; scrollToField: (field: string) => void | undefined; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { "update:modelValue": (value: import("..").JsonFormModel | undefined) => any; }, string, { component: string | import("vue").Component; showColon: boolean; hideLabel: boolean; hideAsterisk: boolean; model: import("..").JsonFormModel; adapter: import("..").JsonFormAdapter; }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & { beforeCreate?: (() => void) | (() => void)[]; created?: (() => void) | (() => void)[]; beforeMount?: (() => void) | (() => void)[]; mounted?: (() => void) | (() => void)[]; beforeUpdate?: (() => void) | (() => void)[]; updated?: (() => void) | (() => void)[]; activated?: (() => void) | (() => void)[]; deactivated?: (() => void) | (() => void)[]; beforeDestroy?: (() => void) | (() => void)[]; beforeUnmount?: (() => void) | (() => void)[]; destroyed?: (() => void) | (() => void)[]; unmounted?: (() => void) | (() => void)[]; renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]; renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]; errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[]; }; $forceUpdate: () => void; $nextTick: typeof nextTick; $watch any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle; } & Readonly<{ component: string | import("vue").Component; showColon: boolean; hideLabel: boolean; hideAsterisk: boolean; model: import("..").JsonFormModel; adapter: import("..").JsonFormAdapter; }> & Omit, {}>[]; adapter?: import("..").JsonFormAdapter; model?: import("..").JsonFormModel; hideLabel?: boolean; hideAsterisk?: boolean; showColon?: boolean; component?: string | import("vue").Component; } & { modelValue?: import("..").JsonFormModel | undefined; }> & Readonly<{ "onUpdate:modelValue"?: ((value: import("..").JsonFormModel | undefined) => any) | undefined; }>, "validate" | "validateField" | "resetFields" | "clearValidate" | "setFields" | "scrollToField" | ("component" | "showColon" | "hideLabel" | "hideAsterisk" | "model" | "adapter")> & { validate: (callback?: ((errors: undefined | Record) => void) | undefined) => Promise | undefined> | undefined; validateField: (field: string | string[], callback?: ((errors: undefined | Record) => void) | undefined) => Promise | undefined> | undefined; resetFields: (field?: string | string[] | undefined) => void | undefined; clearValidate: (field?: string | string[] | undefined) => void | undefined; setFields: (data: Record) => void | undefined; scrollToField: (field: string) => void | undefined; } & {} & import("vue").ComponentCustomProperties & {} & { $slots: { [x: string]: ((props: { [x: string]: unknown; }) => any) | undefined; } & { default?: (props: {}) => any; }; }) | undefined, ({ $: import("vue").ComponentInternalInstance; $data: {}; $props: { readonly schemas: import("..").JsonFormA2UI_0_9_1ComponentNode[] | import("..").JsonFormSchema, {}>[]; readonly adapter?: import("..").JsonFormAdapter | undefined; readonly model?: import("..").JsonFormModel | undefined; readonly hideLabel?: boolean | undefined; readonly hideAsterisk?: boolean | undefined; readonly showColon?: boolean | undefined; readonly component?: (string | import("vue").Component) | undefined; readonly modelValue?: import("..").JsonFormModel | undefined; readonly "onUpdate:modelValue"?: ((value: import("..").JsonFormModel | undefined) => any) | undefined; } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps; $attrs: import("vue").Attrs; $refs: { [x: string]: unknown; }; $slots: Readonly<{ [name: string]: import("vue").Slot | undefined; }>; $root: import("vue").ComponentPublicInstance | null; $parent: import("vue").ComponentPublicInstance | null; $host: Element | null; $emit: (event: "update:modelValue", value: import("..").JsonFormModel | undefined) => void; $el: any; $options: import("vue").ComponentOptionsBase, {}>[]; adapter?: import("..").JsonFormAdapter; model?: import("..").JsonFormModel; hideLabel?: boolean; hideAsterisk?: boolean; showColon?: boolean; component?: string | import("vue").Component; } & { modelValue?: import("..").JsonFormModel | undefined; }> & Readonly<{ "onUpdate:modelValue"?: ((value: import("..").JsonFormModel | undefined) => any) | undefined; }>, { validate: (callback?: ((errors: undefined | Record) => void) | undefined) => Promise | undefined> | undefined; validateField: (field: string | string[], callback?: ((errors: undefined | Record) => void) | undefined) => Promise | undefined> | undefined; resetFields: (field?: string | string[] | undefined) => void | undefined; clearValidate: (field?: string | string[] | undefined) => void | undefined; setFields: (data: Record) => void | undefined; scrollToField: (field: string) => void | undefined; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { "update:modelValue": (value: import("..").JsonFormModel | undefined) => any; }, string, { component: string | import("vue").Component; showColon: boolean; hideLabel: boolean; hideAsterisk: boolean; model: import("..").JsonFormModel; adapter: import("..").JsonFormAdapter; }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & { beforeCreate?: (() => void) | (() => void)[]; created?: (() => void) | (() => void)[]; beforeMount?: (() => void) | (() => void)[]; mounted?: (() => void) | (() => void)[]; beforeUpdate?: (() => void) | (() => void)[]; updated?: (() => void) | (() => void)[]; activated?: (() => void) | (() => void)[]; deactivated?: (() => void) | (() => void)[]; beforeDestroy?: (() => void) | (() => void)[]; beforeUnmount?: (() => void) | (() => void)[]; destroyed?: (() => void) | (() => void)[]; unmounted?: (() => void) | (() => void)[]; renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]; renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]; errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[]; }; $forceUpdate: () => void; $nextTick: typeof nextTick; $watch any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle; } & Readonly<{ component: string | import("vue").Component; showColon: boolean; hideLabel: boolean; hideAsterisk: boolean; model: import("..").JsonFormModel; adapter: import("..").JsonFormAdapter; }> & Omit, {}>[]; adapter?: import("..").JsonFormAdapter; model?: import("..").JsonFormModel; hideLabel?: boolean; hideAsterisk?: boolean; showColon?: boolean; component?: string | import("vue").Component; } & { modelValue?: import("..").JsonFormModel | undefined; }> & Readonly<{ "onUpdate:modelValue"?: ((value: import("..").JsonFormModel | undefined) => any) | undefined; }>, "validate" | "validateField" | "resetFields" | "clearValidate" | "setFields" | "scrollToField" | ("component" | "showColon" | "hideLabel" | "hideAsterisk" | "model" | "adapter")> & { validate: (callback?: ((errors: undefined | Record) => void) | undefined) => Promise | undefined> | undefined; validateField: (field: string | string[], callback?: ((errors: undefined | Record) => void) | undefined) => Promise | undefined> | undefined; resetFields: (field?: string | string[] | undefined) => void | undefined; clearValidate: (field?: string | string[] | undefined) => void | undefined; setFields: (data: Record) => void | undefined; scrollToField: (field: string) => void | undefined; } & {} & import("vue").ComponentCustomProperties & {} & { $slots: { [x: string]: ((props: { [x: string]: unknown; }) => any) | undefined; } & { default?: (props: {}) => any; }; }) | undefined>; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { success: (result: unknown, context: BasicCrudTableModalSubmitContext) => any; error: (error: unknown) => any; close: () => any; "update:visible": (value: boolean) => any; "update:model": (value: UnknownRecord) => any; }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{ onSuccess?: ((result: unknown, context: BasicCrudTableModalSubmitContext) => any) | undefined; onError?: ((error: unknown) => any) | undefined; onClose?: (() => any) | undefined; "onUpdate:visible"?: ((value: boolean) => any) | undefined; "onUpdate:model"?: ((value: UnknownRecord) => any) | undefined; }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>; declare const __VLS_export: __VLS_WithSlots; declare const _default: typeof __VLS_export; export default _default; type __VLS_WithSlots = T & { new (): { $slots: S; }; };