import { EventEmitter, OnInit } from '@angular/core';
import { Person } from '../../models/person.model';
import { Base } from '../../models/base';
import { ControlValueAccessor } from '@angular/forms';
export interface FullNameErrorMsg {
    required?: string;
    pattern?: string;
}
/**
 * FullNameComponent includes a first, middle, and last name field.  If you only
 * need an individual field, @see NameComponent.
 *
 * **Note** This component is in dev, there are issues around "required"
 * TODO - Properly handle "required"
 *
 * @example
 *          <common-full-name [(person)]='person'></common-full-name>
 *
 * @export
 */
export declare class FullNameComponent extends Base implements ControlValueAccessor, OnInit {
    person: Person;
    personChange: EventEmitter<Person>;
    showError: boolean;
    firstNamelabel: string;
    middleNamelabel: string;
    lastNamelabel: string;
    disabled: boolean;
    firstName: string;
    middleName: string;
    lastName: string;
    NameRegEx: string;
    errMsg: FullNameErrorMsg;
    private requiredMsgSeg;
    private pattern;
    _onChange: (_: any) => void;
    _onTouched: () => void;
    constructor();
    ngOnInit(): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    writeValue(value: any): void;
}
