import * as React from 'react'; import { VPage } from 'tonva-tools'; import { Entity, Field } from '../entities'; import { CUq } from './uq/cUq'; import { VForm, FieldCall, FormMode } from './form'; import { CQuerySelect } from './query'; import { FormUI, FieldTuidUI } from './formUI'; import { ControllerUq } from './ControllerUq'; export interface EntityUI { form?: FormUI; } export declare abstract class CEntity extends ControllerUq { constructor(cUq: CUq, entity: T, ui: UI, res: any); readonly entity: T; readonly ui: UI; protected beforeStart(): Promise; createForm(onSubmit: () => Promise, values?: any, mode?: FormMode): VForm; private buildFormOptions; private buildInputs; private buildFieldsInputs; protected buildSelect(field: Field, arr: string, fieldUI: FieldTuidUI): FieldCall; protected buildContent(field: Field, arr: string): React.StatelessComponent; cQuerySelect(queryName: string): CQuerySelect; } export declare abstract class VEntity> extends VPage { protected readonly entity: T; protected readonly ui: UI; constructor(controller: C); readonly label: string; protected createForm(onSubmit: () => Promise, values?: any, mode?: FormMode): VForm; }