import { ChangeDetectorRef, EventEmitter, OnChanges, OnDestroy, SimpleChanges, TemplateRef } from '@angular/core';
import { MatAutocomplete } from '@angular/material/autocomplete';
import { FloatLabelType, SubscriptSizing } from '@angular/material/form-field';
import { FormControl } from '@ngneat/reactive-forms';
import { Subscription } from 'rxjs';
import * as i0 from "@angular/core";
export declare abstract class ValueEdit implements OnChanges, OnDestroy {
    protected _changeDetector: ChangeDetectorRef;
    form: FormControl<string | number | Date | undefined>;
    name?: string;
    label?: string;
    floatLabel: FloatLabelType;
    placeholder: string;
    icon?: string;
    hint?: string;
    autofocus: boolean;
    required: boolean;
    autocompleteAttr?: string;
    matAutocomplete?: MatAutocomplete;
    errorsTemplate?: TemplateRef<unknown>;
    prefix?: string;
    postfix?: string;
    published: boolean;
    readonly: boolean;
    enableValidation: boolean;
    subscriptSizing: SubscriptSizing;
    focused: EventEmitter<void>;
    get showIconClass(): string | undefined;
    protected uniqueId: number;
    protected _subscriptions: Subscription;
    private _formSubscription;
    constructor(_changeDetector: ChangeDetectorRef);
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    clearValue(): void;
    getName(): string;
    get hasValue(): boolean;
    get autocomplete(): MatAutocomplete;
    static ɵfac: i0.ɵɵFactoryDeclaration<ValueEdit, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ValueEdit, never, never, { "form": { "alias": "form"; "required": false; }; "name": { "alias": "name"; "required": false; }; "label": { "alias": "label"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "required": { "alias": "required"; "required": false; }; "autocompleteAttr": { "alias": "autocompleteAttr"; "required": false; }; "matAutocomplete": { "alias": "matAutocomplete"; "required": false; }; "errorsTemplate": { "alias": "errorsTemplate"; "required": false; }; "prefix": { "alias": "prefix"; "required": false; }; "postfix": { "alias": "postfix"; "required": false; }; "published": { "alias": "published"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "enableValidation": { "alias": "enableValidation"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; }, { "focused": "focused"; }, never, never, false, never>;
}
