import { Injector, Type } from '@angular/core'; import { AsyncValidatorFn, ValidatorFn } from '@angular/forms'; import { Observable } from 'rxjs'; import { O } from 'ts-toolbelt'; import { Prop, PropCallback, PropContributorCallback, PropContributorCallbacks, PropData, PropList, PropPredicate, Props, PropsFactory } from './props'; import { Option } from './typeahead-options'; export declare class FormPropList extends PropList> { } export declare class FormProps extends Props> { protected _ctor: Type>; } export declare class CreateFormPropsFactory extends PropsFactory> { protected _ctor: Type>; } export declare class EditFormPropsFactory extends PropsFactory> { protected _ctor: Type>; } export declare class FormProp extends Prop { readonly validators: PropCallback | undefined; readonly asyncValidators: PropCallback | undefined; readonly disabled: PropPredicate | undefined; readonly readonly: PropPredicate | undefined; readonly autocomplete: string | undefined; readonly defaultValue: boolean | number | string | Date | undefined; readonly options: PropCallback[]>> | undefined; readonly optionSelected: PropCallback | undefined; readonly valueChanges: PropCallback | undefined; readonly id: string | undefined; constructor(options: FormPropOptions); static create(options: FormPropOptions): FormProp; static createMany(arrayOfOptions: FormPropOptions[]): FormProp[]; } export declare class FormPropData extends PropData { readonly record: R; getInjected: PropData['getInjected']; constructor(injector: Injector, record: R); } export declare type FormPropOptions = O.Optional>, 'permission' | 'visible' | 'displayName' | 'isExtra' | 'validators' | 'asyncValidators' | 'disabled' | 'readonly' | 'autocomplete' | 'defaultValue' | 'options' | 'optionSelected' | 'valueChanges' | 'id'>; export declare type CreateFormPropDefaults = Record[]>; export declare type CreateFormPropContributorCallback = PropContributorCallback>; export declare type CreateFormPropContributorCallbacks = PropContributorCallbacks>; export declare type EditFormPropDefaults = Record[]>; export declare type EditFormPropContributorCallback = PropContributorCallback>; export declare type EditFormPropContributorCallbacks = PropContributorCallbacks>;