/// <reference types="pcore-pconnect-typedefs" />
import { OnInit, ChangeDetectorRef, OnDestroy } from '@angular/core';
import { FormControl, FormGroup } from '@angular/forms';
import { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';
import { Observable } from 'rxjs';
import { AngularPConnectData, AngularPConnectService } from '../../../_bridge/angular-pconnect';
import { Utils } from '../../../_helpers/utils';
import { DatapageService } from '../../../_services/datapage.service';
import { PConnFieldProps } from '../../../_types/PConnProps.interface';
import * as i0 from "@angular/core";
interface AutoCompleteProps extends PConnFieldProps {
    deferDatasource?: boolean;
    datasourceMetadata?: any;
    onRecordChange?: any;
    additionalProps?: object;
    listType: string;
    parameters?: any;
    datasource: any;
    columns: any[];
}
export declare class AutoCompleteComponent implements OnInit, OnDestroy {
    private angularPConnect;
    private cdRef;
    private utils;
    private dataPageService;
    pConn$: typeof PConnect;
    formGroup$: FormGroup;
    angularPConnectData: AngularPConnectData;
    configProps$: AutoCompleteProps;
    label$: string;
    value$: string;
    bRequired$: boolean;
    bReadonly$: boolean;
    bDisabled$: boolean;
    bVisible$: boolean;
    displayMode$?: string;
    controlName$: string;
    bHasForm$: boolean;
    options$: any[];
    componentReference: string;
    testId: string;
    listType: string;
    columns: never[];
    helperText: string;
    placeholder: string;
    fieldControl: FormControl<string | null>;
    parameters: {};
    hideLabel: boolean;
    filteredOptions: Observable<any[]>;
    filterValue: string;
    constructor(angularPConnect: AngularPConnectService, cdRef: ChangeDetectorRef, utils: Utils, dataPageService: DatapageService);
    ngOnInit(): Promise<void>;
    ngOnDestroy(): void;
    private _filter;
    onStateChange(): Promise<void>;
    checkAndUpdate(): Promise<void>;
    updateSelf(): Promise<void>;
    setPropertyValuesFromProps(): void;
    generateColumnsAndDataSource(): {
        columns: any[];
        datasource: any;
    };
    fillOptions(results: any): void;
    flattenParameters(params?: {}): {};
    getDisplayFieldsMetaData(columnList: any): any;
    preProcessColumns(columnList: any): any;
    fieldOnChange(event: Event): void;
    optionChanged(event: MatAutocompleteSelectedEvent): void;
    fieldOnBlur(event: Event): void;
    getErrorMessage(): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<AutoCompleteComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AutoCompleteComponent, "app-auto-complete", never, { "pConn$": { "alias": "pConn$"; "required": false; }; "formGroup$": { "alias": "formGroup$"; "required": false; }; }, {}, never, never, true, never>;
}
export {};
