import "./comments_button.css"; import type * as React from "react"; import { Button as Base } from "@base-ui/react/button"; import { type StyleProps, type TriggerProps } from "./style_props"; export interface CommentsButtonProps extends StyleProps, TriggerProps { /** Render only where there are some. */ count: number; /** * Reaches only the accessible label: "3 comments on Northwind Packaging" is a destination; "3 * comments" on row forty is not. */ subject?: string; /** A count the reader cannot act on leaves them to find the thread. */ onPress?: (event: React.MouseEvent) => void; /** Matches `CopyButton`'s scale. */ size?: "sm" | "md"; /** `withSubject` builds the whole phrase, so an override changes word order too. */ labels?: { comments?: string; comment?: string; withSubject?: (counted: string, subject: string) => string; }; disabled?: boolean; testID?: string; ref?: React.Ref; render?: Base.Props["render"]; } /** * A row's discussion — count, bubble and the way in, the peer of `CopyButton` on its surface and * scale. One control: the number is what the reader aims at. Full ink: it is the one thing on a row * that can be unread. Render it only when `count > 0`, or a column of zeros trains the eye to skip * it. */ export declare function CommentsButton(props: CommentsButtonProps): React.JSX.Element;