import React from "react"; import { ISectionError } from "../../constants/common-interface"; import { IField, IMeta, ISchema } from "../../constants/model-interfaces"; import { TCallback } from "../../constants/types"; import FormContext from "../form-context"; interface IState { error: ISectionError; activeIndex: number; tabFields: Array; } /** * Displays a grouped form (Form with many sections like tabs) * * @category To be implemented */ export default abstract class BaseFormGroup extends React.Component { static contextType: React.Context; context: React.ContextType; state: IState; tabFields: Array; sectionFields: Array<{ name: string; fields: Array | undefined; meta: IMeta; }>; constructor(props: ISchema); componentDidMount(): void; componentWillUnmount(): void; render(): React.JSX.Element; setActiveIndex(index: number, callback?: TCallback): void; getNextAvailableIndex(index: number): number; getPreviousAvailableIndex(index: number): number; abstract tabs(): JSX.Element; abstract panels(): JSX.Element; } export {};