A form can have several different statuses. Each possible status is returned as a string literal.
type FormControlStatus = 'VALID' | 'INVALID' | 'PENDING' | 'DISABLED';
VALID: Reports that a control is valid, meaning that no errors exist in the input value.
INVALID: Reports that a control is invalid, meaning that an error exists in the input value.
PENDING: Reports that a control is pending, meaning that that async validation is occurring and errors are not yet available for the input value.
DISABLED: Reports that a control is disabled, meaning that the control is exempt from ancestor calculations of validity or value.