import { type CatalogItemListboxItem } from "./listboxItemBuilders.js";
import { type CatalogItemPickerType, type ICatalogItemPickerItem } from "./types.js";
export interface ICatalogItemPickerLabels {
    title: string;
    emptyNoResults: string;
    emptyNoItems: string;
    fromVisualization: string;
    addLabel?: string;
    addTooltip?: string;
    dateAsLabel?: string;
    tabLabels?: Partial<Record<CatalogItemPickerType, string>>;
    cancelLabel: string;
    backAriaLabel: string;
    closeAriaLabel: string;
    searchPlaceholder: string;
    searchAriaLabel: string;
    ungroupedTitle: string;
}
export interface IUseCatalogItemPickerListboxItemsParams {
    effectiveType: CatalogItemPickerType;
    metricInsightItems: ICatalogItemPickerItem[];
    groupedMetricCatalogItems: Array<{
        title: string;
        items: ICatalogItemPickerItem[];
    }>;
    filteredInsightItems: ICatalogItemPickerItem[];
    filteredCatalogItems: ICatalogItemPickerItem[];
    catalogItemsByDataset: Map<string, {
        title: string;
        items: ICatalogItemPickerItem[];
    }>;
    ungroupedCatalogItems: ICatalogItemPickerItem[];
    selectedIds: Set<string>;
    isLoading: boolean;
    shouldShowDateDatasetSelector: boolean;
    dateDatasetOptions: Array<{
        key: string;
        title: string;
    }>;
    effectiveSelectedDateDatasetKey: string | undefined;
    isDateDatasetDropdownOpen: boolean;
    listboxId: string;
    labels: ICatalogItemPickerLabels;
    variant: "mvf" | "addFilter";
    setSelectedDateDatasetKey: (key: string | undefined) => void;
    setIsDateDatasetDropdownOpen: (open: boolean | ((prev: boolean) => boolean)) => void;
}
export declare function useCatalogItemPickerListboxItems(params: IUseCatalogItemPickerListboxItemsParams): CatalogItemListboxItem[];
//# sourceMappingURL=useCatalogItemPickerListboxItems.d.ts.map