import { ReactNode, KeyboardEvent, ComponentType, MouseEvent } from 'react';
export type TAccessibleButtonProps = {
/**
* By default the component renders a `button` element. You can pass an optional `React.ElemenType`
* in case this needs to be rendered as a different element.
*/
as?: string | ComponentType;
/**
* The ID of the element.
*/
id?: string;
/**
* The [type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button) of the `button` element.
*/
type?: 'submit' | 'reset' | 'button';
/**
* The aria-label value.
*/
label: string;
/**
* Any React node.
*/
children: ReactNode;
/**
* If `true`, indicates that this is a toggle button.
*/
isToggleButton?: boolean;
/**
* If `true`, indicates that this element is in a toggled state.
*
* This prop is only used if `isToggleButton` is `true`.
*/
isToggled?: boolean;
/**
* If `true`, indicates that the element is in a disabled state.
*/
isDisabled?: boolean;
/**
* Allow to override the styles by passing a `className` prop.
*
* Custom styles can also be passed using the [`css` prop from emotion](https://emotion.sh/docs/css-prop#style-precedence).
*/
className?: string;
/**
* Event handler when the button is clicked, or the user presses `ENTER` or `SPACE`.
*/
onClick?: (event: MouseEvent | KeyboardEvent) => void;
/**
* Any HTML attributes to be forwarded to the HTML element.
*/
buttonAttributes?: Record;
};
declare const AccessibleButton: import("react").ForwardRefExoticComponent>;
export default AccessibleButton;