import type { ReactNode } from "react";
import type { ColorName } from "@metabase/embedding-sdk-react/dist/frontend/src/metabase/lib/colors/types";
import * as Lib from "@metabase/embedding-sdk-react/dist/frontend/src/metabase-lib";
export declare const INITIALLY_VISIBLE_ITEMS_COUNT = 7;
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;
    checkBucketIsSelected: (item: BucketListItem) => boolean;
    renderTriggerContent: (bucket?: Lib.BucketDisplayInfo) => ReactNode;
    onSelect: (column: Lib.Bucket | NoBucket) => void;
}
declare function _BaseBucketPickerPopover({ query, stageIndex, items, selectedBucket, isEditing, triggerLabel, hasArrowIcon, color, checkBucketIsSelected, renderTriggerContent, onSelect, hasChevronDown, }: 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: import("@emotion/styled").StyledComponent<{
        theme?: import("@emotion/react").Theme | undefined;
        as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
    }, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {}>;
};
export {};
