import React from 'react'; import { type ToggletipPlacement, type ToggletipSize } from './Toggletip.js'; export interface AILabelLabels { /** The mark itself. "AI". */ mark?: string; /** Shown beside the mark once a person has changed the content. "Edited". */ edited?: string; /** The explanation's heading. "Generated by AI". */ title?: string; /** The heading once a person has changed it. "Generated by AI, edited by a person". */ editedTitle?: string; } export interface AILabelProps { /** * What the label is for — "About this summary", "About this reply". The * button is named with the mark first, so it reads "AI: About this * summary", and what is seen is what is heard (WCAG 2.5.3). */ 'aria-label': string; /** * The explanation, and required: what was generated, from what, and what * to check before relying on it. A label that says only "this is AI" * tells the reader nothing they can act on. */ children: React.ReactNode; /** * A person has changed the content since it was generated. The mark then * says so, and so does the explanation: the content is no longer only * the model's, and it is no longer only the person's either. */ isEdited?: boolean; /** Where the explanation sits. Flips when there is no room. */ placement?: ToggletipPlacement; /** `sm` beside body-sm text and in a table; `md` beside body text. */ size?: ToggletipSize; /** Every string the label renders, for translation. English by default. */ labels?: AILabelLabels; isOpen?: boolean; defaultOpen?: boolean; onOpenChange?: (isOpen: boolean) => void; className?: string; } /** * AILabel — marks content as generated by AI, and opens what that means. * * It is a Toggletip whose button is the mark: opened on purpose, it stays * open, it is part of the page, and it never traps focus. The explanation is * a required prop for the same reason ConfidenceIndicator's `basis` is — a * mark with nothing behind it is a claim the system cannot back. * * It labels; it does not detect. Whether content is generated is the * caller's knowledge, and so is whether a person has edited it since. */ export declare function AILabel({ 'aria-label': ariaLabel, children, isEdited, labels, className, ...rest }: AILabelProps): React.JSX.Element; export declare namespace AILabel { var displayName: string; } //# sourceMappingURL=AILabel.d.ts.map