import { default as React } from 'react';
/**
 * A compact chrome button for toolbars, close affordances, table-row
 * actions, and other dense surfaces. Sibling to `Button` — use
 * `ActionButton` when a labelled `Button` would be too loud.
 *
 * Composes via `children` — works for icon-only, icon + text, or
 * text-only buttons:
 *
 * ```tsx
 * <ActionButton ariaLabel="Close" onClick={onClose}>
 *   <XIcon />
 * </ActionButton>
 *
 * <ActionButton onClick={onPause}>
 *   <PauseIcon />
 *   Pause
 * </ActionButton>
 *
 * <ActionButton onClick={onPublish} variant="solid">
 *   Publish
 * </ActionButton>
 * ```
 *
 * Colors and radius come from CSS tokens (`--action-button-bg`,
 * `--action-button-fg`, `--action-button-border`,
 * `--action-button-radius`, hover variants), so themed containers
 * (e.g. `Console`) can re-skin locally without forking.
 *
 * ## Accessibility
 *
 * If the button has no visible text (icon-only), pass `ariaLabel` so
 * screen readers can announce its purpose. The label is the only way
 * an icon-only button is identifiable — without it the button has no
 * accessible name and AT-users can't tell what it does. Linters and
 * AT will flag the omission; we don't enforce at the type level since
 * TypeScript can't inspect `children` for textual content.
 *
 * @beta This component is experimental — prop shape may change before release.
 */
export type ActionButtonVariant = 'subtle' | 'solid';
export type ActionButtonSize = 'sm' | 'md' | 'lg';
export interface ActionButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'aria-label'> {
    /**
     * Required when there is no visible text inside (e.g. icon-only). Read by
     * screen readers as the button's accessible name. Optional when `children`
     * contains a text label.
     */
    ariaLabel?: string;
    /**
     * Visual treatment. Default (no variant) is a transparent, bordered chrome
     * button that hovers in — quiet enough for dense toolbars.
     *
     * - `'subtle'` — bg-card baseline, more chrome, for standalone actions
     * - `'solid'` — primary-tinted, for the one prominent action per toolbar
     */
    variant?: ActionButtonVariant;
    /** Frame height — sm (24) / md (28, default) / lg (36). Width auto-fits content. */
    size?: ActionButtonSize;
    className?: string;
    testId?: string;
}
export declare const ActionButton: React.ForwardRefExoticComponent<ActionButtonProps & React.RefAttributes<HTMLButtonElement>>;
//# sourceMappingURL=ActionButton.d.ts.map