import * as React from "react"; import "moment/locale/pt-br"; interface Row { row: { grouped?: boolean; groupedCopy?: boolean; removed?: boolean; groupName?: string; fields: Field[]; }; } interface Field { label: string; name: string; type: string; value?: string; placeholder?: string; maxLength?: number; mask?: string; maskChar?: string; required?: boolean; disabled?: boolean; validations?: object; validationErrors?: object; width: number; data?: any[]; multiple?: boolean; defaultChecked?: boolean; position?: number; grouped?: boolean; handleChange?: any; } interface Props { /** Título fdo formulário */ title?: string; /** Objeto de retorno com todos valores do formulário no submit */ onSubmit?: ((data: {}) => void) | any; /** Objeto de retorno com todos valores do formulário no onChange */ onChange?: ((data: {}) => void) | any; /** Objeto de retorno com todos valores do formulário no onChange */ onBlur?: ((data: {}) => void) | any; /** Coleção da definição dos campos do formulário */ formTemplate: Row[]; /** Tipo de borda do formulário */ border?: "attached" | "segment"; /** Loading do formulário */ loading?: boolean; /** Referência do formulário */ refForm?: string; /** Formulário em com modo accordion */ accordion?: boolean; /** Estado inicial do accordion do formulário */ accordionOpened?: boolean; /** Estado atual do accordion do formulário */ accordionStatusOpened?: any; /** Componente superior a direita do form */ actionRightTop?: any; /** Add children no final do Segment */ children?: any; } interface State { formState: any; multiSelect: any[]; formTemplate: Row[]; count: number; activeAccordion: boolean | undefined; } export default class MagaForm extends React.Component { private form; static defaultProps: { title: string; formTemplate: never[]; border: null; loading: boolean; refForm: string; accordion: boolean; accordionOpened: boolean; accordionStatusOpened: () => boolean; onChange: () => boolean; onBlur: () => boolean; }; constructor(props: Props); componentDidMount(): void; UNSAFE_componentWillReceiveProps(props: any): void; resetForm(): void; getInitialFormState: () => any; resetCompNotNative(formTemplate: any): any; resetUpdate(obj: any): void; handleChangeMultSelectArea(values: any): void; addRows(rows: any): void; createRows(rows: any): void; keepRows(upTo: number): void; handleChange: (e: any, { name, value }: any) => void; handleChangeSelect: (name: any, handleChange: any, indexRow: number, indexField: number, e: any, data: any) => void; handleChangeMultSelect: (name: any, value: any, e: any) => void; handleChangeDateChange: (name: any, value: any, e: any) => void; handleCheckboxChange: (name: any, e: any, input: any) => void; handleChangeDropdown: (name: any, e: any, input: any) => void; handleChangeInput: (name: any, e: any) => void; handleBlurInput: ({ target: { value, name } }: any) => void; handleChangeInputMask: ({ target: { value, name } }: any) => void; updateField: ({ name, value }: any) => void; onValidSubmit: (formData: any) => void; mountFormData(formData: any): any; addGrouping: (indexRow: number, indexField: number) => void; removeGrouping: (indexRow: number, indexField: number) => void; addGroupingSelect: (indexRow: number, indexField: number, handleChange?: any) => void; removeGroupingSelect: (indexRow: number, indexField: number, handleChange?: any) => void; addGroupingRow(indexRow: number): void; removeGroupingRow(indexRow: any): void; goBackList(indexRow: any): void; handleAccordion: (e: any, titleProps: any) => void; mountValue(formState: any, itemInput: any): any; mountActionGrouping: (label: string, indexRow: number, indexField: number, onChange?: any) => (string | JSX.Element | null)[]; mountActionGroupingSelect: (label: string, indexRow: number, indexField: number, onChange?: any) => (string | JSX.Element | null)[]; mountActionGroupingRow: (itemRow: any, indexRow: number) => JSX.Element; mountForm(itemInput: any, indexRow: number, indexField: number, itemRow: any): JSX.Element; canRenderMultiProgress: (data: any) => any; render(): JSX.Element; } export {};