import { ReactNode } from 'react';
/** A single selectable value within a filter category */
export type SelectDataFilterValue = {
    value: string;
    label: string;
};
/** Selection mode for a filter category */
export type SelectDataFilterMode = 'single' | 'multi';
/** A filter category that appears in the filter dropdown */
export type SelectDataFilterCategory = {
    /** Unique identifier */
    id: string;
    /** Display label */
    label: string;
    /** Optional group header (categories with the same group are nested under it) */
    group?: string;
    /** Available values to pick from */
    values: SelectDataFilterValue[];
    /** 'single' = radio, 'multi' = checkboxes. Defaults to 'multi'. */
    mode?: SelectDataFilterMode;
};
/** Current selected state: category id -> selected value(s) */
export type SelectDataFilterState = Record<string, string[]>;
export type SelectDataFilterProps = {
    /** Filter categories to display */
    categories: SelectDataFilterCategory[];
    /** Current filter selections */
    value: SelectDataFilterState;
    /** Called when selections change */
    onChange: (next: SelectDataFilterState) => void;
    /** Disable the trigger button */
    disabled?: boolean;
    /** Override the trigger label */
    label?: ReactNode;
    /** Content alignment */
    align?: 'start' | 'center' | 'end';
    /** Minimum items before showing search in a submenu */
    searchThreshold?: number;
};
export declare function SelectDataFilter({ categories, value, onChange, disabled, label, align, searchThreshold, }: SelectDataFilterProps): import("react/jsx-runtime").JSX.Element;
