import { EventEmitter, OnInit } from '@angular/core';
import { ControlValueAccessor, NgControl } from '@angular/forms';
import { AbstractFormControl } from '../../models/abstract-form-control';
import { ErrorMessage } from '../../models/error-message.interface';
/**
 * TODO DOCUMENT NEED TO USE NGMODEL FOR REQUIRED TO WORK. Also test with reactive forms to see if still nec
 */
export declare class NameComponent extends AbstractFormControl implements OnInit, ControlValueAccessor {
    controlDir: NgControl;
    disabled: boolean;
    label: string;
    maxlength: string;
    labelforId: string;
    required: boolean;
    value: string;
    valueChange: EventEmitter<string>;
    blur: EventEmitter<any>;
    nameStr: string;
    _defaultErrMsg: ErrorMessage;
    constructor(controlDir: NgControl);
    ngOnInit(): void;
    onValueChange(value: any): void;
    onBlur(event: any): void;
    writeValue(value: any): void;
    readonly maxLenAsNumber: number;
    private validateSelf;
}
