import React, { PureComponent } from 'react'; import type { StyleProp, ViewStyle } from 'react-native'; import { FormLabelPosition } from './Templates'; export interface FormProps { fieldsTypes: any; fieldsOptions?: any; fieldsStyleConfig?: any; labelPosition?: FormLabelPosition; style?: StyleProp; value?: T; onChange?: (value: T) => void; templates?: FormTemplates; activeColor?: string; errorColor?: string; inactiveColor?: string; validateOnBlur?: boolean; } export interface FormTemplates { checkbox?: (locals: unknown) => React.ReactNode; datepicker?: (locals: unknown) => React.ReactNode; list?: (locals: unknown) => React.ReactNode; select?: (locals: unknown) => React.ReactNode; struct?: (locals: unknown) => React.ReactNode; textbox?: (locals: unknown) => React.ReactNode; } declare type CalculateStylesType = (activeColor: string, errorColor: string, inactiveColor: string) => Record; declare type CalculateBlursType = (fieldsOptions: Record) => void; export declare class Form extends PureComponent> { static defaultProps: Partial>; private readonly form; calculateStyles: CalculateStylesType; calculateBlurs: CalculateBlursType; componentDidMount(): void; getValue: () => any; validate: () => any; validateField: (path: unknown) => any; getComponent: (...args: unknown[]) => any; render(): JSX.Element; } export {};