import { ReactNode } from 'react';
import { ButtonProps } from '../../../components/Button';
/**
 * Props that drive the visual identity of a filter's bar trigger — shared by
 * any popover/menu primitive that wants the standard filter-trigger styling.
 *
 * All other Button props (ref, onClick, onKeyDown, aria-*, data-state, …) are
 * accepted via spread, which lets this component slot underneath any menu
 * primitive's trigger render-prop (`SelectMenu`, `MultiSelectMenu`,
 * `FilterDateSingle` / `FilterDateRange`'s popover shell) or, for `custom`,
 * `FilterPopoverButton`'s `Popover.Button`.
 */
export type FilterTriggerButtonProps = Omit<ButtonProps, "children" | "icon"> & {
    /** Filter id — emitted as `data-id` for test selectors and analytics. */
    filterId: string;
    /** Label content rendered inside the button. */
    label: ReactNode;
    /** Whether the filter has a committed selection (drives the selected-state class). */
    isSelected: boolean;
    /**
     * Trigger icon.
     * - `calendar` → leading Event icon (used by date-shaped filters)
     * - `dropdown` → trailing chevron (default)
     * @default "dropdown"
     */
    icon?: "calendar" | "dropdown";
};
/**
 * FilterTriggerButton is the styled trigger primitive used by every popover-
 * or menu-based filter type. It owns the visual identity (ghost appearance,
 * toolbar-sized, selected-state, dropdown/calendar icon, data-id) and nothing
 * else — open state and popover wiring belong to whatever component composes
 * it (a menu's trigger render-prop, the date popover shells, or
 * `FilterPopoverButton` for `custom`).
 */
export declare const FilterTriggerButton: import('react').ForwardRefExoticComponent<Omit<ButtonProps, "children" | "icon"> & {
    /** Filter id — emitted as `data-id` for test selectors and analytics. */
    filterId: string;
    /** Label content rendered inside the button. */
    label: ReactNode;
    /** Whether the filter has a committed selection (drives the selected-state class). */
    isSelected: boolean;
    /**
     * Trigger icon.
     * - `calendar` → leading Event icon (used by date-shaped filters)
     * - `dropdown` → trailing chevron (default)
     * @default "dropdown"
     */
    icon?: "calendar" | "dropdown";
} & import('react').RefAttributes<HTMLButtonElement>>;
