import { ButtonProps, ButtonRenderProps } from 'react-aria-components/Button';
import { ContextValue } from 'react-aria-components/slots';
import { StyleProps } from './style-utils';
import { ReactNode } from 'react';
import { FocusableRefValue, GlobalDOMAttributes } from '@react-types/shared';
export interface ActionButtonStyleProps {
    /**
     * The size of the ActionButton.
     *
     * @default 'M'
     */
    size?: 'XS' | 'S' | 'M' | 'L' | 'XL';
    /** The static color style to apply. Useful when the ActionButton appears over a color background. */
    staticColor?: 'black' | 'white' | 'auto';
    /** Whether the button should be displayed with a [quiet style](https://spectrum.adobe.com/page/action-button/#Quiet). */
    isQuiet?: boolean;
}
interface ToggleButtonStyleProps {
    /** Whether the ActionButton should be selected (controlled). */
    isSelected?: boolean;
    /** Whether the button should be displayed with an [emphasized style](https://spectrum.adobe.com/page/action-button/#Emphasis). */
    isEmphasized?: boolean;
}
interface ActionGroupItemStyleProps {
    density?: 'regular' | 'compact';
    orientation?: 'horizontal' | 'vertical';
    isJustified?: boolean;
}
export interface ActionButtonProps extends Omit<ButtonProps, 'className' | 'style' | 'render' | 'children' | 'onHover' | 'onHoverStart' | 'onHoverEnd' | 'onHoverChange' | 'onClick' | keyof GlobalDOMAttributes>, StyleProps, ActionButtonStyleProps {
    /** The content to display in the ActionButton. */
    children: ReactNode;
}
export declare const btnStyles: (props: ButtonRenderProps & ActionButtonStyleProps & ToggleButtonStyleProps & ActionGroupItemStyleProps & {
    isInGroup: boolean;
    isStaticColor: boolean;
}, overrides?: import("../style/types").StyleString<string> | null | undefined) => import("../style/types").StyleString<"alignContent" | "alignItems" | "alignSelf" | "animation" | "animationDelay" | "animationDirection" | "animationDuration" | "animationFillMode" | "animationIterationCount" | "animationPlayState" | "animationTimingFunction" | "appearance" | "aspectRatio" | "backgroundAttachment" | "backgroundBlendMode" | "backgroundClip" | "backgroundColor" | "backgroundImage" | "backgroundOrigin" | "backgroundPosition" | "backgroundRepeat" | "backgroundSize" | "borderBottomEndRadius" | "borderBottomRadius" | "borderBottomStartRadius" | "borderBottomWidth" | "borderCollapse" | "borderColor" | "borderEndRadius" | "borderEndWidth" | "borderRadius" | "borderSpacing" | "borderStartRadius" | "borderStartWidth" | "borderStyle" | "borderTopEndRadius" | "borderTopRadius" | "borderTopStartRadius" | "borderTopWidth" | "borderWidth" | "borderXWidth" | "borderYWidth" | "bottom" | "boxDecorationBreak" | "boxShadow" | "boxSizing" | "breakAfter" | "breakBefore" | "breakInside" | "captionSide" | "caretColor" | "clear" | "color" | "colorScheme" | "columnGap" | "contain" | "containIntrinsicHeight" | "containIntrinsicWidth" | "containerName" | "containerType" | "cursor" | "disableTapHighlight" | "display" | "fill" | "filter" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "float" | "font" | "fontFamily" | "fontSize" | "fontWeight" | "forcedColorAdjust" | "gap" | "gridArea" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridColumnEnd" | "gridColumnStart" | "gridRowEnd" | "gridRowStart" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "height" | "hyphens" | "inset" | "insetEnd" | "insetStart" | "insetX" | "insetY" | "isolation" | "justifyContent" | "justifyItems" | "justifySelf" | "left" | "lineClamp" | "lineHeight" | "listStylePosition" | "listStyleType" | "margin" | "marginBottom" | "marginEnd" | "marginStart" | "marginTop" | "marginX" | "marginY" | "maxHeight" | "maxSize" | "maxWidth" | "minHeight" | "minSize" | "minWidth" | "mixBlendMode" | "objectFit" | "objectPosition" | "opacity" | "order" | "outlineColor" | "outlineOffset" | "outlineStyle" | "outlineWidth" | "overflow" | "overflowWrap" | "overflowX" | "overflowY" | "overscrollBehavior" | "overscrollBehaviorX" | "overscrollBehaviorY" | "padding" | "paddingBottom" | "paddingEnd" | "paddingStart" | "paddingTop" | "paddingX" | "paddingY" | "placeContent" | "placeItems" | "placeSelf" | "pointerEvents" | "position" | "resize" | "right" | "rotate" | "rowGap" | "scale" | "scaleX" | "scaleY" | "scrollBehavior" | "scrollMargin" | "scrollMarginBottom" | "scrollMarginEnd" | "scrollMarginStart" | "scrollMarginTop" | "scrollMarginX" | "scrollMarginY" | "scrollPadding" | "scrollPaddingBottom" | "scrollPaddingEnd" | "scrollPaddingStart" | "scrollPaddingTop" | "scrollPaddingX" | "scrollPaddingY" | "scrollSnapAlign" | "scrollSnapStop" | "scrollSnapType" | "scrollbarWidth" | "size" | "stroke" | "strokeWidth" | "tableLayout" | "textAlign" | "textDecoration" | "textIndent" | "textOverflow" | "textTransform" | "textWrap" | "top" | "touchAction" | "transform" | "transformOrigin" | "transition" | "transitionDelay" | "transitionDuration" | "transitionTimingFunction" | "translate" | "translateX" | "translateY" | "truncate" | "unicodeBidi" | "userSelect" | "verticalAlign" | "visibility" | "whiteSpace" | "width" | "willChange" | "wordBreak" | "zIndex" | `--${string}`>;
export declare const ActionButtonContext: import("react").Context<ContextValue<Partial<ActionButtonProps>, FocusableRefValue<HTMLButtonElement, HTMLButtonElement>>>;
/**
 * ActionButtons allow users to perform an action.
 * They're used for similar, task-based options within a workflow, and are ideal for interfaces where buttons aren't meant to draw a lot of attention.
 */
export declare const ActionButton: import("react").ForwardRefExoticComponent<ActionButtonProps & import("react").RefAttributes<FocusableRefValue<HTMLButtonElement, HTMLButtonElement>>>;
export {};
