import { MaybeRefOrGetter, VNodeChild } from 'vue' import { GenericCtx, GenericExposed, GenericReturn, PublicProps } from '@ithinkdt/common' import { Entity } from './entity.js' export interface DesignerTool { component?: import('vue').Component icon?: import('vue').Component title?: MaybeRefOrGetter onClick?: () => void type?: import('ithinkdt-ui').ButtonProps['type'] prefix?: () => import('vue').VNodeChild suffix?: () => import('vue').VNodeChild } export interface EntityDesignerProps { readonly?: boolean | undefined entities?: Entity[] | undefined getDictTypes?: (() => Promise<{ label: string, value: string }[]>) | undefined getSerials?: (() => Promise<{ code: string, name: string }[]>) | undefined ignoreFields?: string[] | undefined appCode?: string | undefined tools?: DesignerTool[] | undefined supportLanguages?: { label: string, value: string }[] | undefined onSubmit?: ((Entities: Entity[]) => void) | undefined } export interface EntityDesignerEmits { (e: 'submit', Entities: Entity[]): void } export interface EntityDesignerInst { changed: boolean clear: () => void } export declare function EntityDesigner( props: EntityDesignerProps & PublicProps, ctx?: Pick, 'attrs' | 'emit' | 'slots'>, expose?: (exposed?: GenericExposed) => void, setup?: GenericCtx, ): GenericReturn