import { AllHTMLAttributes, ElementType, ReactNode } from 'react';
export interface ButtonProps extends Omit, 'size'> {
/** Inserts a component before the button text, typically an icon. */
before?: ReactNode;
/** Inserts a component after the button text, such as a badge or indicator. */
after?: ReactNode;
/** Controls the size of the button, influencing padding and font size. */
size?: 's' | 'm' | 'l';
/** If true, stretches the button to fill the width with its container. */
stretched?: boolean;
/** Defines the button's visual style, affecting its background and text color. */
mode?: 'filled' | 'bezeled' | 'plain' | 'gray' | 'outline' | 'white';
/** Displays a loading indicator in place of the button content when true. */
loading?: boolean;
/** Disables the button, preventing user interactions, when true. */
disabled?: boolean;
/** Specifies the root element type for the button, allowing for semantic customization or integration with routing libraries. */
Component?: ElementType;
}
/**
* Renders a button or a button-like element with customizable properties, such as size, mode, and loading state. Supports adding icons or other elements before and after the text.
*/
export declare const Button: import("react").ForwardRefExoticComponent>;
//# sourceMappingURL=Button.d.ts.map