import { EnableAction } from '../actions' ; import { AbstractControlState , FormArrayState , FormControlState , FormControlValueTypes , FormGroupState , FormState } from '../state' ; import { abstractControlReducer } from './util' ; /**
 * This update function takes a form control state and enables it.
 */ export function enable < TValue extends FormControlValueTypes > ( state ) ; /**
 * This update function takes a form array state and enables it and all of its children.
 */ export function enable < TValue > ( state ) ; /**
 * This update function takes a form group state and enables it and all of its children.
 */ export function enable < TValue > ( state ) ; /**
 * This update function takes a form state and enables it. For groups and arrays also
 * enables all children.
 */ export function enable < TValue > ( state ) ; export function enable < TValue > ( state ) { return abstractControlReducer ( state , new EnableAction ( state . id ) ) ; }