import "./selection_bar.css";
import type * as React from "react";
import { useRender } from "@base-ui/react/use-render";
import { type ConfirmRequest } from "./alert";
import { type StyleProps } from "./style_props";
export interface SelectionBarProps extends StyleProps {
/** The bar shows only while > 0. */
count: number;
/** The whole phrase, a function because word order differs between languages. */
label: (count: number) => string;
onClear: () => void;
clearLabel?: string;
/** Render each through `Toolbar.Button` (`} />`) to join the arrow-key
* group; a plain control stays its own tab stop. */
children?: React.ReactNode;
/** First in the acts group and confirming by construction; the bar's count is handed to `confirm` so the
* dialog cannot name a different number. */
danger?: {
label: string;
confirm: (count: number) => ConfirmRequest;
};
testID?: string;
ref?: React.Ref;
render?: useRender.RenderProp;
}
/** Pinned bottom-centre while a row is selected: Clear at the left, the destructive act opening the acts
* group, so the rightmost commit slot is never the delete. Presentation only; the host owns the
* selection. A `toolbar`, so a screen reader announces one group. */
export declare function SelectionBar(props: SelectionBarProps): React.ReactElement> | null;