import React, { ReactElement } from 'react'; import type { Icon } from '@primer/octicons-react'; import type { BaseProps } from '../component-helpers'; import '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/button/colors-with-modes.css'; export declare const ButtonVariants: readonly ["primary", "secondary", "subtle", "accent"]; export declare const ButtonSizes: readonly ["small", "medium", "large"]; export declare const defaultButtonVariant: "secondary"; export declare const defaultButtonSize: "medium"; type ButtonVariant = (typeof ButtonVariants)[number]; export type ButtonBaseProps = { /** * The leading visual appears before the button content */ leadingVisual?: ReactElement | Icon; /** * The trailing visual appears after the button content */ trailingVisual?: ReactElement | Icon; /** * The styling variations available in Button */ variant?: ButtonVariant; /** * The size variations available in Button */ size?: (typeof ButtonSizes)[number]; /** * A flag to show/hide the arrow icon */ hasArrow?: boolean; /** * The Button spans the full width */ block?: boolean; }; export type ButtonProps = BaseProps & { as?: C; } & ButtonBaseProps & React.ComponentPropsWithoutRef; export declare const _Button: React.ForwardRefExoticComponent>, "ref"> & React.RefAttributes>; export declare const Button: React.ForwardRefExoticComponent>, "ref"> & React.RefAttributes> & { testIds: { root: string; readonly leadingVisual: string; readonly trailingVisual: string; readonly expandableArrow: string; }; }; export {};