import { OnInit, OnDestroy } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { DynamicFormFieldConfig } from '../models/dynamic-form.models';
import { TranslationService } from '../../../services/translation.service';
import { LookupColumn } from '../../../models/entity-list.config';
import * as i0 from "@angular/core";
export declare class DynamicFieldLookupComponent implements OnInit, OnDestroy {
    private translationService;
    field: DynamicFormFieldConfig;
    form: FormGroup;
    formGroup: FormGroup;
    mode: 'form' | 'filter';
    displayValue: string;
    showLookupDialog: boolean;
    loading: boolean;
    searchTerm: string;
    data: any[];
    filteredData: any[];
    totalRecords: number;
    currentPage: number;
    pageSize: number;
    selectedItem: any;
    columns: LookupColumn[];
    displayField: string;
    valueField: string;
    searchFields: string[];
    autocompleteText: string;
    suggestions: any[];
    showSuggestions: boolean;
    autocompleteLoading: boolean;
    private autocompleteSubject;
    private autocompleteSub?;
    get isAutocomplete(): boolean;
    private get minLength();
    constructor(translationService: TranslationService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    private setupAutocomplete;
    onAutocompleteInput(event: Event): void;
    onAutocompleteFocus(): void;
    onAutocompleteBlur(): void;
    selectSuggestion(item: any): void;
    private searchSuggestions;
    private watchValueChanges;
    /**
     * Obtém o FormControl, lidando com campos aninhados (com ponto no nome)
     */
    private getFormControl;
    private get value();
    get currentValue(): any;
    private setValue;
    private setupLookupConfig;
    private handleValueDisplay;
    formatDisplayValue(item: any): string;
    isFieldInvalid(): boolean;
    isFieldDisabled(): boolean;
    getPlaceholder(): string;
    openLookup(): void;
    onDialogHide(): void;
    onPageChange(event: any): void;
    private loadData;
    private updateSelectedItem;
    onSearch(): void;
    clearSearch(): void;
    selectItem(item: any): void;
    onRowSelect(event: any): void;
    clearValue(): void;
    getFieldValue(item: any, field: string): any;
    static ɵfac: i0.ɵɵFactoryDeclaration<DynamicFieldLookupComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DynamicFieldLookupComponent, "sia-dynamic-field-lookup", never, { "field": { "alias": "field"; "required": false; }; "form": { "alias": "form"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; }, {}, never, never, true, never>;
}
