import type { ElementType, HTMLAttributes, ReactNode } from "react";
/**
* ActionBar — page-top action strip primitive.
*
* A horizontal flexbox row with three optional slots:
* - Search input (flex-1, grows to fill)
* - Filter icon button (next to search)
* - Primary action button (right-aligned)
*
* Returns `null` when no props are provided — don't render an empty
* bar. Used standalone or composed inside `` (Brief #5).
*
* @example
*
*/
export interface ActionBarProps extends Omit, "children"> {
search?: {
placeholder: string;
/** Accessible name; defaults to the placeholder with trailing ellipsis stripped (issue #8). */
"aria-label"?: string;
value: string;
onChange: (value: string) => void;
};
primaryAction?: {
label: ReactNode;
icon?: ElementType;
onClick: () => void;
loading?: boolean;
};
onFilterClick?: () => void;
}
declare const ActionBar: import("react").ForwardRefExoticComponent>;
export { ActionBar };