/**
 * @jsxRuntime classic
 * @jsx jsx
 */
import React from 'react';
import { jsx, type SerializedStyles } from '@emotion/react';
import { CellMeasurerCache } from 'react-virtualized/dist/commonjs/CellMeasurer';
import type { WithAnalyticsEventsProps } from '@atlaskit/analytics-next';
import type { QuickInsertItem } from '../../../provider-factory';
import type { EmptyStateHandler } from '../../../types';
import type { SelectedItemProps } from '../../types';
import { Modes } from '../../types';
export declare const ICON_HEIGHT = 40;
export declare const ICON_WIDTH = 40;
export declare const itemIcon: SerializedStyles;
export interface Props {
    cache?: CellMeasurerCache;
    columnCount: number;
    emptyStateHandler?: EmptyStateHandler;
    focusOnEmptyStateButton?: boolean;
    hasTabListContext?: boolean;
    items: QuickInsertItem[];
    mode: keyof typeof Modes;
    onInsertItem: (item: QuickInsertItem) => void;
    searchTerm?: string;
    selectedCategory?: string;
    selectedCategoryIndex?: number;
    setColumnCount: (columnCount: number) => void;
    setFocusedCategoryIndex?: (index: number) => void;
    setFocusedItemIndex: (index: number) => void;
}
type ElementItemType = {
    focus: boolean;
    index: number;
    inlineMode: boolean;
    item: QuickInsertItem;
    onInsertItem: (item: QuickInsertItem) => void;
    role?: string;
    selected: boolean;
    setFocusedItemIndex: (index: number) => void;
};
export declare function ElementItem({ inlineMode, selected, item, index, onInsertItem, focus, setFocusedItemIndex, role, }: ElementItemType): jsx.JSX.Element;
declare const MemoizedElementListWithAnalytics: React.MemoExoticComponent<React.ForwardRefExoticComponent<Omit<Props & SelectedItemProps & WithAnalyticsEventsProps & import("@atlaskit/analytics-next").WithContextProps, "ref"> & React.RefAttributes<any>>>;
export default MemoizedElementListWithAnalytics;
