import { Observable } from 'rxjs';
import { InlineEditField, InlineEditFieldOptions } from './inline-edit-field';
import { DefaultFilter } from '@seniorsistemas/angular-components/dynamic-form';
export interface InlineEditLookupFieldOptions extends InlineEditFieldOptions {
    multiple?: boolean;
    showSearch?: boolean;
    searchFields: any[];
    searchGridFields: any[];
    lookupSuggestions?: any[];
    suggestionsObservable?: Observable<any[]>;
    searchObservable: Observable<{
        gridData: any[];
        totalRecords: number;
        searchTotalRecordsLabel?: string;
    }>;
    dataKey: string;
    lookupDisplayField: string;
    searchTitle?: string;
    searchEmptyTitle?: string;
    filterTitle?: string;
    emptyMessage?: string;
    appendTo?: string;
    autocompleteForceSelection?: boolean;
    maxlength?: number | null;
    showAddOption?: boolean;
    showEditOption?: boolean;
    showRemoveOption?: boolean;
    placeholder?: string;
    onLookupRequest: (query: string) => void;
    onSearchRequest: (event: any) => void;
    onSelect?: (event: any) => void;
    onUnselect?: (event: any) => void;
    onClear?: (event: any) => void;
    onBlur?: (event: FocusEvent) => void;
    onAdd?: () => void;
    onEdit?: (selectedItem: unknown) => void;
    onRemove?: (selectedItems: unknown[]) => void;
}
export declare class InlineEditLookupField extends InlineEditField {
    multiple: boolean;
    showSearch: boolean;
    searchFields: any[];
    searchGridFields: any[];
    lookupSuggestions: any[];
    suggestionsObservable?: Observable<any[]> | null;
    searchObservable: Observable<{
        gridData: any[];
        totalRecords: number;
        searchTotalRecordsLabel?: string;
    }> | null;
    dataKey: string;
    lookupDisplayField: string;
    searchTitle: string;
    searchEmptyTitle: string;
    filterTitle: string;
    emptyMessage: string;
    appendTo?: string;
    autocompleteForceSelection: boolean;
    maxlength: number | null;
    showAddOption: boolean;
    showEditOption: boolean;
    showRemoveOption: boolean;
    defaultFilter: DefaultFilter[];
    onLookupRequest?: (query: string) => void;
    onSearchRequest?: (event: any) => void;
    onClear?: (event: any) => void;
    onBlur?: (event: FocusEvent) => void;
    onAdd?: () => void;
    onEdit?: (selectedItem: unknown) => void;
    onRemove?: (selectedItems: unknown[]) => void;
    placeholder?: string;
    private _gridData;
    private _searchTotalRecords;
    private _searchTotalRecordsLabel;
    onSelect: (event: any) => void;
    onUnselect: (event: any) => void;
    get gridData(): any[];
    get searchTotalRecords(): number;
    get searchTotalRecordsLabel(): string;
    constructor(options: InlineEditLookupFieldOptions);
}
