import { ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, SimpleChanges, TemplateRef } from '@angular/core';
import { MatAutocomplete } from '@angular/material/autocomplete';
import { FloatLabelType } 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<any>;
    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;
    focused: EventEmitter<void>;
    hintElement: ElementRef;
    get showIconClass(): string;
    overflowing: boolean;
    collapsed: boolean;
    protected uniqueId: number;
    protected _subscriptions: Subscription;
    private _formSubscription;
    constructor(_changeDetector: ChangeDetectorRef);
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    clearValue(): void;
    getName(): string;
    get hasValue(): boolean;
    isOverflowing(): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<ValueEdit, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ValueEdit, never, never, { "form": "form"; "name": "name"; "label": "label"; "floatLabel": "floatLabel"; "placeholder": "placeholder"; "icon": "icon"; "hint": "hint"; "autofocus": "autofocus"; "required": "required"; "autocompleteAttr": "autocompleteAttr"; "matAutocomplete": "matAutocomplete"; "errorsTemplate": "errorsTemplate"; "prefix": "prefix"; "postfix": "postfix"; "published": "published"; "readonly": "readonly"; }, { "focused": "focused"; }, never, never, false, never>;
}
