import { AbstractControlState, FormState } from '../state'; import { ProjectFn2 } from './util'; /** * This update function takes a form array state and one or more update * functions applies all update functions one after another to the state * recursively, i.e. the function is applied to the state's children, * their children etc. * * The following example uses this function to validate all controls in a * group or array as required. * * ```typescript * const updatedState = updateRecursive( * state, * validate(required), * ); * ``` */ export declare function updateRecursive(state: AbstractControlState, updateFn: ProjectFn2, AbstractControlState>, ...updateFnArr: ProjectFn2, AbstractControlState>[]): FormState; /** * This update function takes a form array state and an array of * update functions applies all update functions one after another to the * state recursively, i.e. the function is applied to the state's children, * their children etc. * * The following example uses this function to validate all controls in a * group or array as required. * * ```typescript * const updatedState = updateRecursive( * state, * [validate(required)], * ); * ``` */ export declare function updateRecursive(state: AbstractControlState, updateFnArr: ProjectFn2, AbstractControlState>[]): FormState; /** * This update function takes one or more update functions and returns a * projection function that applies all update functions one after another to * a form state. * * The following example uses this function to validate all controls in a * group as required. * * ```typescript * const updateFn = updateRecursive(validate(required)); * const updatedState = updateFn(state); * ``` */ export declare function updateRecursive(updateFn: ProjectFn2, AbstractControlState>, ...updateFnArr: ProjectFn2, AbstractControlState>[]): (state: AbstractControlState) => FormState; /** * This update function takes an array of update functions and returns * a projection function that applies all update functions one after another to * a form state. * * The following example uses this function to validate all controls in a * group as required. * * ```typescript * const updateFn = updateRecursive([validate(required)]); * const updatedState = updateFn(state); * ``` */ export declare function updateRecursive(updateFnArr: ProjectFn2, AbstractControlState>[]): (state: AbstractControlState) => FormState;