import { type ListItem } from './ListView';
import { type ToolboxQuickAction } from './QuickActionsRow';
export type ToolboxEmptyStateRenderer<T = any> = (ctx: {
    currentCategory?: ListItem<T>;
}) => React.ReactElement | null;
export type ToolboxSearchHandler<T = any> = (query: string, isTopLevelSearch: boolean, { currentItems, category }: {
    currentItems?: ListItem<T>[];
    category?: string;
}) => Promise<ListItem<T>[]>;
export interface ToolboxProps<T> {
    title: string;
    initialItems: ListItem<T>[];
    loading?: boolean;
    fullWidth?: boolean;
    fullHeight?: boolean;
    onClose: () => void;
    onItemSelect: (item: ListItem<T>) => Promise<void> | void;
    onItemHover?: (item: ListItem<T>) => void;
    onBack?: () => void;
    onSearch?: ToolboxSearchHandler<T>;
    quickActions?: ToolboxQuickAction[];
    renderEmptyState?: ToolboxEmptyStateRenderer<T>;
}
export declare function Toolbox<T>({ onClose, onBack, onItemSelect, onSearch, onItemHover, title, initialItems, loading, fullWidth, fullHeight, quickActions, renderEmptyState, }: ToolboxProps<T>): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=Toolbox.d.ts.map