import React from "react"; import { JsonSchemaParser } from "../../services"; import { Field } from "../../services/field"; import { FormSchema } from "../../services/formSchema"; export type BaseFormProps = { schema?: JsonSchemaParser; onSubmit: (form: FormSchema) => void; onSave?: (form: FormSchema) => void; children: any; }; export type BaseFormState = { changed: boolean; formSchema?: FormSchema; submitted: boolean; submitting: boolean; saving: boolean; lastSaved?: Date; }; export declare const FormContext: React.Context; export default class BaseForm extends React.Component { constructor(props: BaseFormProps); componentDidMount(): void; onSave(): Promise; onSubmit(e: any): Promise; onChanges(key: string, value: any, error?: string): void; onFieldBlur(key: string, error?: string): void; setField(key: string, field: Field): void; renderSaveButton(): React.JSX.Element | null; render(): React.ReactNode; }