import type { AppConfig } from '@nuxt/schema'; import type { FormData, FormSchema, FormSubmitEvent } from '@nuxt/ui'; import type { RouteLocationRaw } from 'vue-router'; import type { ComponentConfig } from '../types'; import theme from '#build/cms/form-panel'; type FormPanel = ComponentConfig; export interface FormPanelProps = FormData> { title?: string; toBack?: RouteLocationRaw; formId?: string; schema: S; state: Partial; loading?: boolean; handler: (event: FormSubmitEvent) => Promise; asideDivide?: boolean; bodyFit?: boolean; showReset?: boolean; class?: any; ui?: FormPanel['slots']; } export interface FormPanelEmits = FormData> { 'update:state': [value: T]; } export interface FormPanelSlots { default?: () => any; sidebar?: () => any; actions?: () => any; } declare const _default: typeof __VLS_export; export default _default; declare const __VLS_export: = FormData>(__VLS_props: NonNullable>["props"], __VLS_ctx?: __VLS_PrettifyLocal>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable>["expose"], __VLS_setup?: Promise<{ props: import("vue").PublicProps & __VLS_PrettifyLocal & { "onUpdate:state"?: ((value: T) => any) | undefined; }> & (typeof globalThis extends { __VLS_PROPS_FALLBACK: infer P; } ? P : {}); expose: (exposed: {}) => void; attrs: any; slots: FormPanelSlots; emit: (evt: "update:state", value: T) => void; }>) => import("vue").VNode & { __ctx?: Awaited; }; type __VLS_PrettifyLocal = (T extends any ? { [K in keyof T]: T[K]; } : { [K in keyof T as K]: T[K]; }) & {};