interface CopyButtonBase { /** Empty disables the button. */ value: string; /** * The accessible name — give it whenever a row carries more than one value. On the labelled form * it is also the visible words. Defaults to the pack's verb. */ label?: string; disabled?: boolean; testID?: string; } /** * `icon` (default) rides a value where a labelled button would outgrow it. `labelled` stands in a * run of verbs where copying is the row's job; it takes the control height, so no `size`. */ export type CopyButtonProps = CopyButtonBase & ({ variant?: "icon"; /** * `sm` (default, 24px) is the `sm` line box, adding no height; `md` (28px) for a toolbar. * On an `xs` line pin the row's height to the text's leading and let this overflow * (`docs/composition.md` §"The register's own craft"). */ size?: "sm" | "md"; } | { variant: "labelled"; }); /** * THE copy control, riding the value it copies (`docs/composition.md` § A VERB GOES WHERE ITS * EFFECT LANDS). It confirms a real write with a check and "Copied" for ~2s; a refused clipboard * shows the alert mark and the pack's words, and only then changes the announced name, since the * check is invisible to a screen reader. The labelled form confirms by glyph so its words never * move. Render it unconditionally: an empty `value` disables it. Inside a pressable row it claims * its own press. */ export declare function CopyButton(props: CopyButtonProps): import("react").JSX.Element; export {};