import * as React from 'react';
import type { ListItemData, ListProps } from "./types.js";
import "./List.css";
type ListState<T> = {
    items: ListProps<T>['items'];
    filter: string;
    activeItem?: number;
    pageSize?: number;
    sorting?: boolean;
};
export declare const listDefaultProps: Partial<ListProps<ListItemData<unknown>>>;
export declare class List<T = unknown> extends React.Component<ListProps<T>, ListState<T>> {
    static defaultProps: Partial<ListProps<ListItemData<unknown>>>;
    static moveListElement<T = unknown>(list: ListItemData<T>[], oldIndex: number, newIndex: number): ListItemData<T>[];
    static findNextIndex<T = unknown>(list: ListItemData<T>[], index: number, step: number): number | undefined;
    state: ListState<T>;
    refFilter: React.RefObject<HTMLInputElement>;
    refContainer: React.RefObject<any>;
    blurTimer: ReturnType<typeof setTimeout> | null;
    loadingItem: ListItemData<T & {
        value: string;
    }>;
    uniqId: string;
    componentDidMount(): void;
    componentDidUpdate(prevProps: ListProps<T>, prevState: ListState<T>): void;
    componentWillUnmount(): void;
    render(): import("react/jsx-runtime").JSX.Element;
    getItems(): ListItemData<T>[];
    getItemsWithLoading(): ListItemData<T>[];
    getActiveItem(): number | null;
    activateItem(index?: number, scrollTo?: boolean): void;
    onKeyDown: React.KeyboardEventHandler<HTMLElement>;
    private renderItemContent;
    private renderItem;
    private renderVirtualizedItem;
    private renderFilter;
    private renderSimpleContainer;
    private renderVirtualizedContainer;
    private renderItems;
    private filterItem;
    private getFilter;
    private getItemsStyle;
    private scrollToIndex;
    private deactivate;
    private handleKeyMove;
    private handleFocus;
    private handleBlur;
    private onUpdateFilterInternal;
    private onFilterUpdate;
    private onItemsRendered;
    private onItemActivate;
    private onMouseLeave;
    private onSortStart;
    private onSortEnd;
    private getItemHeight;
    private getVirtualizedItemHeight;
}
export {};
