import type { Component, HighlightTooltipEventType, RichSelectParams } from 'ag-grid-community';
import { VirtualList } from './virtualList';
export type AgRichSelectListEvent = 'fieldPickerValueSelected' | 'richSelectListRowSelected';
export declare class AgRichSelectList<TValue, TEventType extends string = AgRichSelectListEvent> extends VirtualList<Component<TEventType | AgRichSelectListEvent | HighlightTooltipEventType>, TValue, TEventType | AgRichSelectListEvent> {
    private readonly params;
    private readonly richSelectWrapper;
    private readonly getSearchString;
    private eStateComp;
    private lastRowHovered;
    private currentList;
    private readonly selectedItems;
    private loadingLabel;
    private noMatchesLabel;
    private loadingState;
    private eStateCompLabel;
    private eLoadingIcon;
    constructor(params: RichSelectParams, richSelectWrapper: HTMLElement, getSearchString: () => string);
    postConstruct(): void;
    setIsLoading(): void;
    private setLoadingState;
    private toggleStateComp;
    private shouldBeVisible;
    toggleVisibility(forceVisible?: boolean): void;
    navigateToPage(key: 'PageUp' | 'PageDown' | 'Home' | 'End'): number | null;
    protected drawVirtualRows(softRefresh?: boolean | undefined): void;
    highlightFilterMatch(searchString: string): void;
    onNavigationKeyDown(key: string, announceItem: () => void): void;
    selectValue(value?: TValue[] | TValue): boolean;
    private selectListItems;
    getCurrentList(): TValue[] | undefined;
    setCurrentList(list: TValue[] | undefined): void;
    getSelectedItems(): Set<TValue>;
    getLastItemHovered(): TValue | undefined;
    highlightIndex(index: number, preventUnnecessaryScroll?: boolean): void;
    getIndicesForValues(values?: TValue[] | TValue): number[];
    toggleListItemSelection(value: TValue): void;
    private refreshSelectedItems;
    private findItemInSelected;
    private createRowComponent;
    private getRowForMouseEvent;
    private onMouseMove;
    private onMouseDown;
    private onMouseOut;
    private onClick;
    private dispatchValueSelected;
    destroy(): void;
}
