import type { ReactNode } from "react";
import type { ColorName } from "../../../../lib/colors/types";
import * as Lib from "../../../../../metabase-lib";
type NoBucket = null;
export type BucketListItem = {
    displayName: string;
    bucket: Lib.Bucket | NoBucket;
    default?: boolean;
    selected?: boolean;
};
export interface BaseBucketPickerPopoverProps {
    query: Lib.Query;
    stageIndex: number;
    items: BucketListItem[];
    selectedBucket: Lib.Bucket | NoBucket;
    isEditing: boolean;
    triggerLabel?: string;
    hasArrowIcon?: boolean;
    hasChevronDown?: boolean;
    color?: ColorName;
    initiallyVisibleItemsCount: number;
    checkBucketIsSelected: (item: BucketListItem) => boolean;
    renderTriggerContent: (bucket?: Lib.BucketDisplayInfo) => ReactNode;
    onSelect: (column: Lib.Bucket | NoBucket) => void;
    className?: string;
    classNames?: {
        root?: string;
        chevronDown?: string;
    };
}
declare function _BaseBucketPickerPopover({ query, stageIndex, items, selectedBucket, isEditing, triggerLabel, hasArrowIcon, color, initiallyVisibleItemsCount, checkBucketIsSelected, renderTriggerContent, onSelect, hasChevronDown, className, classNames, }: BaseBucketPickerPopoverProps): import("react/jsx-runtime").JSX.Element;
export declare function getBucketListItem(query: Lib.Query, stageIndex: number, bucket: Lib.Bucket): BucketListItem;
export declare const BaseBucketPickerPopover: typeof _BaseBucketPickerPopover & {
    displayName: string;
    TriggerButton: (props: import("@mantine/core").ButtonProps & import("../../../../ui").ExtraButtonProps & import("react").HTMLAttributes<HTMLButtonElement> & import("react").RefAttributes<HTMLButtonElement>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | null;
};
export {};
