import * as React from "react";
import type { ActionsCopyProp, ActionsFeedbackProp, ActionsItemProp, ActionsProp } from "../../props/components/general.prop.js";
export type { ActionsProp, ActionsProp as ActionsProps, ActionsItemsProp, ActionsItemProp, ActionsItemProp as ActionsItemProps, ActionsCopyProp, ActionsCopyProp as ActionsCopyProps, ActionsFeedbackProp, ActionsFeedbackProp as ActionsFeedbackProps, ActionsVariantProp, ActionsStatusProp, ActionsFeedbackValueProp, } from "../../props/components/general.prop.js";
/**
* Actions — the strip of actions under an assistant message (Ant Design X `Actions`).
*
* ## What Ant X ships, measured
*
* `@ant-design/x@2.9.0`, `es/actions/Item.js`: each action is
* `
` wrapping `
{item.icon}
`, with
* the label supplied only as a `Tooltip` title. Three consequences, all of them defects rather
* than choices: the strip cannot be reached by keyboard at all, the actions have no accessible
* name, and on a touch device — where `useMobile()` drops the Tooltip entirely — they have no
* visible name either.
*
* ## What this port does about it, while keeping the API
*
* `items`, `onClick({ item, key, keyPath, domEvent })`, `onItemClick` winning over `onClick`,
* `danger`, `subItems`, `actionRender`, `variant`, `fadeIn` / `fadeInLeft` — all Ant's, with Ant's
* semantics. What changes is what they render onto: a real `Button` per action carrying `label` as
* its accessible name AND its tooltip, inside a WAI-ARIA APG **Toolbar** — one tab stop for the
* whole strip, the logical arrows moving between the actions, `Home` / `End` at its ends. That is
* the same trade `Conversations` makes and for the same reason: a strip of eight actions under
* every message would otherwise be eight tab stops between the reader and the next message.
*/
export declare const Actions: React.ForwardRefExoticComponent
>;
/**
* ActionsItem — one status-aware action (Ant Design X `Actions.Item`).
*
* It is a NAMED export rather than `Actions.Item`, because this library has no compound-static
* convention: `CardHeader`, `TabsList` and `DropdownMenuItem` are all separate exports, and one
* component attaching statics would be the only one of its kind.
*
* The status table is Ant's, from `es/actions/ActionsItem.js`: `loading` and `error` bring their
* own glyph, `running` takes `runningIcon`, anything else takes `defaultIcon`. What is added is
* that the status is ANNOUNCED — `aria-busy` while loading, and the state in the accessible name —
* because a glyph swap is a colour-and-shape-only signal (WCAG 1.4.1).
*/
export declare const ActionsItem: React.ForwardRefExoticComponent>;
/**
* ActionsCopy — copy the message to the clipboard (Ant Design X `Actions.Copy`).
*
* Ant X hands this to antd's `Typography copyable`, which swaps the glyph to a tick for 3s. The
* tick is reproduced at the same 3s, and the change is also SPOKEN through a polite status region:
* a glyph that only changes shape tells a screen-reader user nothing about whether the copy
* worked, which is the one thing this control exists to report.
*/
export declare const ActionsCopy: React.ForwardRefExoticComponent>;
/**
* ActionsFeedback — the like / dislike pair (Ant Design X `Actions.Feedback`).
*
* `value` / `onChange` and the clear-on-second-click behaviour are Ant's, byte for byte. ONE
* rendering difference, and it is deliberate: Ant hides the opposite button once an opinion is
* recorded (`[default, like].includes(value) && likeNode`), so a reader who mis-clicked "dislike"
* finds no "like" button on the screen at all and has to guess that clicking dislike again brings
* it back. Both buttons stay here, and the recorded opinion is carried by `aria-pressed` — the APG
* toggle-button pattern, which states the value instead of removing its alternative.
*/
export declare const ActionsFeedback: React.ForwardRefExoticComponent>;