import { AfterViewInit } from '@angular/core';
import { OverlayOptions } from 'primeng/api';
import { AutoComplete, AutoCompleteCompleteEvent, AutoCompleteDropdownClickEvent, AutoCompleteSelectEvent } from 'primeng/autocomplete';
import { RecordService } from '../record.service';
import { SanitizePipe } from '../../pipe/sanitize.pipe';
import * as i0 from "@angular/core";
export interface IRecordType {
    field: string;
    groupLabel?: string;
    index: string;
    maxSuggestions?: number;
    processSuggestions: Function;
    preFilters?: any;
    queryParams?: Object;
    sort?: string;
}
export interface IAutoComplete {
    iconClass?: string;
    index: string;
    label: string;
    originalLabel?: string;
    value?: string;
    [key: string]: string;
}
export declare class SearchAutocompleteComponent implements AfterViewInit {
    protected recordService: RecordService;
    protected sanitizePipe: SanitizePipe;
    delay: import("@angular/core").InputSignal<number>;
    groupClass: import("@angular/core").InputSignal<string>;
    inputStyleClass: import("@angular/core").InputSignal<string>;
    minLength: import("@angular/core").InputSignal<number>;
    placeholder: import("@angular/core").InputSignal<any>;
    recordTypes: import("@angular/core").InputSignal<IRecordType[]>;
    scrollHeight: import("@angular/core").InputSignal<string>;
    styleClass: import("@angular/core").InputSignal<string>;
    value: import("@angular/core").InputSignal<string>;
    onSearch: import("@angular/core").OutputEmitterRef<string>;
    currentValue: string;
    group: boolean;
    overlayOptions: OverlayOptions;
    autoComplete: AutoComplete;
    private query;
    buttonClick(event: AutoCompleteDropdownClickEvent): void;
    suggestions: import("@angular/core").Signal<unknown>;
    setSuggestionQuery(event: AutoCompleteCompleteEvent): void;
    onSelectValue(event: AutoCompleteSelectEvent): void;
    search(event: KeyboardEvent): void;
    calculateWidth(): void;
    onResize(): void;
    ngAfterViewInit(): void;
    sanitize(value: string): string;
    private getSuggestions;
    private prepareQuery;
    static ɵfac: i0.ɵɵFactoryDeclaration<SearchAutocompleteComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SearchAutocompleteComponent, "ng-core-search-autocomplete", never, { "delay": { "alias": "delay"; "required": false; "isSignal": true; }; "groupClass": { "alias": "groupClass"; "required": false; "isSignal": true; }; "inputStyleClass": { "alias": "inputStyleClass"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "recordTypes": { "alias": "recordTypes"; "required": true; "isSignal": true; }; "scrollHeight": { "alias": "scrollHeight"; "required": false; "isSignal": true; }; "styleClass": { "alias": "styleClass"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "onSearch": "onSearch"; }, never, never, false, never>;
}
