import { Subject } from 'rxjs';
import { FormElement } from './element';
export interface DetailEvent {
    code: string;
    detail: any;
}
export interface FieldOption {
    fieldOptionValue: string;
    fieldOptionId: string;
}
export declare class FieldDescriptor extends FormElement {
    private readonly _customEvent;
    private readonly _editionFinish;
    private readonly _editionPartial;
    private readonly _detailRequest;
    private _errorType;
    private _errorCode;
    private _errorMessage;
    private _intrinsicErrorMessage;
    private _minValue;
    private _maxValue;
    private _maxLength;
    private _minLength;
    private _focus;
    private _onValidation;
    private _validateOnServer;
    private _value;
    private _visibleLabel;
    private _captureType;
    private _defaultValue;
    private _defaultEditable;
    private _externalValue;
    private _fieldAlignment;
    private _fieldInfo;
    private _fieldRequired;
    private _fieldTitle;
    private _fieldType;
    private _fieldFormat;
    private _hasChanged;
    private _outputOnly;
    private _tooltipText;
    private _placeholder;
    private _fieldCode;
    private _fieldOptions;
    constructor(inputFieldReceived: any, formConfig: any);
    get alignment(): string;
    set alignment(alignment: string);
    get backend(): boolean;
    get captureType(): string;
    set captureType(captureType: string);
    get placeholder(): string;
    set placeholder(placeholder: string);
    get code(): string;
    get defaultValue(): any;
    set defaultValue(defaultValue: any);
    get defaultEditable(): boolean;
    set defaultEditable(editable: boolean);
    get detailRequest(): Subject<DetailEvent>;
    get customEvent(): Subject<any>;
    get editionFinish(): Subject<any>;
    get editionPartial(): Subject<any>;
    get empty(): boolean;
    get error(): {
        type: string;
        code: string;
        message: string;
    };
    set error(errorObj: {
        type: string;
        code: string;
        message: string;
    });
    get errorCode(): string;
    set errorCode(code: string);
    get errorMessage(): string;
    set errorMessage(msg: string);
    get errorType(): string;
    get externalValue(): any;
    get format(): RegExp;
    set format(format: RegExp);
    get hasChanged(): boolean;
    set hasChanged(hasChanged: boolean);
    get info(): string;
    set info(newInfo: string);
    set intrinsicErrorMessage(message: string);
    get maxLength(): any;
    set maxLength(requiredMaxLength: any);
    get maxValue(): any;
    set maxValue(inputMaxValue: any);
    get minLength(): number;
    set minLength(requiredMinLength: number);
    get minValue(): any;
    set minValue(inputMinValue: any);
    get name(): string;
    get options(): FieldOption[] | null;
    set options(newOptions: FieldOption[] | null);
    get optionText(): string;
    get outputOnly(): boolean;
    set outputOnly(outputOnly: boolean);
    get required(): boolean;
    set required(required: boolean);
    get title(): string;
    set title(title: string);
    get tooltip(): string;
    set tooltip(tooltip: string);
    get type(): string;
    set type(fieldType: string);
    get onValidation(): boolean;
    get validating(): boolean;
    set validating(isValidating: boolean);
    get value(): any;
    get validateOnServer(): boolean;
    set validateOnServer(validateOnServer: boolean);
    get serverAction(): boolean;
    set serverAction(validateOnServer: boolean);
    set value(newValue: any);
    get visibleLabel(): boolean;
    set visibleLabel(visibleLabel: boolean);
    /**
     * @deprecated Use value
     */
    get fieldValue(): any;
    /**
     * @deprecated Use hasChanged
     */
    changed(hasChanged?: boolean): void;
    clean(): void;
    focus(): void;
    getErrorCode(): string;
    setErrorCode(code: any): void;
    getErrorMessage(): string;
    setErrorMessage(msg: any): void;
    getRequired(): boolean;
    hasError(): boolean;
    hideLabel(): void;
    resetError(): void;
    setEditable(editable?: boolean): void;
    setValue(newValue: any, widgetUpdate?: boolean): void;
    showLabel(): void;
    /**
     * @deprecated Use code
     */
    get fieldCode(): string;
    /**
     * @deprecated Use title
     */
    setLabel(label: any): void;
    /**
     * @deprecated Use required
     */
    setRequired(required: boolean): void;
    /**
     * @deprecated Use changed
     */
    setChanged(hasChanged: boolean): void;
    /**
     * @deprecated Use value
     */
    getValue(): any;
    /**
     * @deprecated Use empty
     */
    isEmpty(): boolean;
    /**
     * @deprecated Use error
     */
    getError(): {
        type: string;
        code: string;
        message: string;
    };
    /**
     * @deprecated Use optionText
     */
    getOptionText(): string;
    /**
     * @deprecated Use options
     */
    getFieldOptions(): FieldOption[];
    /**
     * @deprecated Use options
     */
    setFieldOptions(newOptions: any): any;
    /**
     * @deprecated Use intrinsicErrorMessage
     */
    setIntrinsicErrorMessage(message: string): void;
    /**
     * @deprecated Use maxValue
     */
    setMaxValue(inputMaxValue: any): void;
    /**
     * @deprecated Use minValue
     */
    setMinValue(inputMinValue: any): void;
    /**
     * @deprecated Use showLabel
     */
    setVisibleLabel(visibleLabel: boolean): void;
    notifyEditionPartial(): void;
    triggerCustomEvent(eventName: any, eventData: any): void;
    notifyEditionFinish(): void;
    notifyEditionDetailRequest(detail: any): void;
    setError(code: any, message: any, type?: string): void;
    updateFromServer(fld: any): void;
    private _setValue;
}
