import { IFormInputValidator } from '../interface/forminput/FormInputValidator.interface';
import { IFormInputAvailableValue } from '../interface/forminput/FormInputAvailableValue.interface';
import { IFormInputProperties } from '../interface/forminput/FormInputProperties.interface';
import { IStateInputs } from '../interface/form/StateInptus.interface';
import { IKeyAny } from '../interface/common/KeyAny.interface';
export declare class FormInputPropertiesBuilder implements IFormInputProperties {
    id?: string;
    name: string;
    value: any;
    label: string;
    isValid: boolean;
    errors: string[];
    disabled: boolean;
    classNames: string[];
    validators: IFormInputValidator[];
    availableValues: IFormInputAvailableValue[];
    customProps: IKeyAny;
    originalDisabledValue: boolean;
    updateId: string;
    originalValue: any;
    isTouched: boolean;
    isPristine: boolean;
    constructor(name: string);
    addId(id: string): FormInputPropertiesBuilder;
    addValue(value: any): FormInputPropertiesBuilder;
    addDisabled(disabled: boolean): FormInputPropertiesBuilder;
    addClassNames(classNames: string[]): FormInputPropertiesBuilder;
    addValidators(validators: IFormInputValidator[]): FormInputPropertiesBuilder;
    addAvailableValue({ value, label }: IFormInputAvailableValue): FormInputPropertiesBuilder;
    addAvailableValueList(valueList: IFormInputAvailableValue[]): FormInputPropertiesBuilder;
    addLabel(label: any): FormInputPropertiesBuilder;
    addProperty(inputPropertiesIn: IKeyAny): this;
    removeProperty(propertyName: any): FormInputPropertiesBuilder;
    build(): IStateInputs;
}
