import { Type } from '@angular/core'; import { Observable } from 'rxjs/internal/Observable'; import { CatFormBehavior } from '../common/cat-form-behavior'; import { FormAutocompleteFactory } from './autocomplete/form-autocomplete.factory'; import { FormCheckboxFactory } from './checkbox/form-checkbox.factory'; import { FormCnpjFactory } from './cnpj/form-cnpj.factory'; import { FormCpfFactory } from './cpf/form-cpf.factory'; import { FormCsvFactory } from './csv/form-csv.factory'; import { FormCustomFieldFactory } from './customField/form-custom-field.factory'; import { FormDatetimeFactory } from './datetime/form-datetime.factory'; import { FormFileFactory } from './file/form-file.factory'; import { CatFormConfig, CatFormCustomFieldOptions, CatFormFieldOptions, CatFormFieldTemplateGridType, CatFormItemListOptions, CatFormTextareaOptions } from './form.interface'; import { FormNumberFactory } from './number/form-number.factory'; import { FormPasswordFactory } from './password/form-password.factory'; import { FormRadioFactory } from './radio/form-radio.factory'; import { FormRangeFactory } from './range/form-range.factory'; import { FormSearchFactory } from './search/form-search.factory'; import { FormSelectFactory } from './select/form-select.factory'; import { FormTextFactory } from './text/form-text.factory'; import { FormTextareaFactory } from './textarea/form-textarea.factory'; export declare class FormFactory { private data?; private behavior?; private readonly config; constructor(data?: DataType, behavior?: CatFormBehavior); fieldset(legend: string, name: string, config: (builder: FormFactory) => CatFormConfig): this; listsItem(legend: string, name: string, config: (builder: FormFactory) => CatFormConfig, options?: CatFormItemListOptions): this; isCheckboxGroup(isCheckboxGroup?: boolean): this; grid(grid: CatFormFieldTemplateGridType): this; hidden(hidden?: boolean): this; text(label: string, name: string, field: (builder: FormTextFactory) => CatFormFieldOptions): this; search(label: string, name: string, field: (builder: FormSearchFactory) => CatFormFieldOptions): this; password(label: string, name: string, field: (builder: FormPasswordFactory) => CatFormFieldOptions): this; email(label: string, name: string, field: (builder: FormTextFactory) => CatFormFieldOptions): this; url(label: string, name: string, field: (builder: FormTextFactory) => CatFormFieldOptions): this; range(label: string, name: string, field: (builder: FormRangeFactory) => CatFormFieldOptions): this; number(label: string, name: string, field: (builder: FormNumberFactory) => CatFormFieldOptions): this; date(label: string, name: string, field: (builder: FormDatetimeFactory) => CatFormFieldOptions): this; time(label: string, name: string, field: (builder: FormDatetimeFactory) => CatFormFieldOptions): this; datetime(label: string, name: string, field: (builder: FormDatetimeFactory) => CatFormFieldOptions): this; textarea(label: string, name: string, field: (builder: FormTextareaFactory) => CatFormTextareaOptions): this; cpf(label: string, name: string, field: (builder: FormCpfFactory) => CatFormFieldOptions): this; cnpj(label: string, name: string, field: (builder: FormCnpjFactory) => CatFormFieldOptions): this; switcher(label: string, name: string, field: (builder: FormCheckboxFactory) => CatFormFieldOptions): this; checkbox(label: string, name: string, field: (builder: FormCheckboxFactory) => CatFormFieldOptions): this; radio(name: string, field: (builder: FormRadioFactory) => CatFormFieldOptions, label?: string): this; file(name: string, field: (builder: FormFileFactory) => CatFormFieldOptions): this; csv(name: string, field: (builder: FormCsvFactory) => CatFormFieldOptions): this; select(label: string, name: string, field: (builder: FormSelectFactory) => CatFormFieldOptions): this; autocomplete(label: string, name: string, field: (builder: FormAutocompleteFactory) => CatFormFieldOptions): this; customField(label: string, name: string, component: Type, field: (builder: FormCustomFieldFactory) => CatFormCustomFieldOptions, props?: PropsType): this; onChange(callback: (data: DataType) => void): this; onSubmit(callback: (data: DataType) => Observable): this; generate(): CatFormConfig; private field; private getFieldBuilder; }