import { type ReactNode, type Ref } from "react";
/**
 * @internal
 */
export interface IUiControlButtonProps {
    title: string;
    titleClassName?: string;
    subtitle?: ReactNode;
    subtitleClassName?: string;
    icon?: ReactNode;
    titleExtension?: ReactNode;
    subtitleExtension?: ReactNode;
    /**
     * `"stacked"` (default): title above subtitle, chevron beside subtitle.
     * `"row"`: single full-width line, flat background, chevron pinned right.
     */
    layout?: "stacked" | "row";
    hideChevron?: boolean;
    isOpen?: boolean;
    isDraggable?: boolean;
    isDragging?: boolean;
    isError?: boolean;
    /** Warning styling only; pair with `warningTooltip` to explain it. */
    isWarning?: boolean;
    /** Already-localized warning explanation. */
    warningTooltip?: string;
    disabled?: boolean;
    /**
     * Already-localized string. When set together with `disabled`, a tooltip is wired up and
     * `aria-describedby` points at it.
     */
    disabledTooltip?: string;
    onClick?: () => void;
    className?: string;
    "data-testid"?: string;
    buttonRef?: Ref<HTMLDivElement>;
    buttonId?: string;
    dropdownId?: string;
    /**
     * Overrides the accessible name. When omitted, the name is derived from the rendered title.
     */
    ariaLabel?: string;
}
/**
 * Generic chip-shaped dropdown trigger primitive. One source of truth for filter-bar chip
 * visuals; consumed by both attribute filter chips and parameter chips.
 *
 * Owns: layout, visual states, keyboard activation, ARIA contract.
 *
 * Does NOT own: lifecycle states (loading/filtering), count display, error-icon swap, domain i18n.
 *
 * @internal
 */
export declare function UiControlButton({ title, titleClassName, subtitle, subtitleClassName, icon, titleExtension, subtitleExtension, layout, hideChevron, isOpen, isDraggable, isDragging, isError, isWarning, warningTooltip, disabled, disabledTooltip, onClick, className, "data-testid": dataTestId, buttonRef, buttonId, dropdownId, ariaLabel }: IUiControlButtonProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=UiControlButton.d.ts.map