import "./styles.scss";
import { IconSizes } from "../Icon/Icon";
export declare const ButtonModes: readonly ["filled", "tonal", "outlined", "ghost"];
export type ButtonDSModes = (typeof ButtonModes)[number];
export declare const ButtonSizes: readonly ["large", "medium", "small", "x-small"];
export type ButtonDSSizes = (typeof ButtonSizes)[number];
export declare const ButtonColors: readonly ["accent", "danger", "white"];
export type ButtonDSColors = (typeof ButtonColors)[number];
export declare const ButtonIconPositions: readonly ["left", "right"];
export type ButtonDSPositions = (typeof ButtonIconPositions)[number];
export type Props = JSX.IntrinsicElements["button"] & {
    text: string;
    color?: ButtonDSColors;
    size?: ButtonDSSizes;
    mode?: ButtonDSModes;
    active?: boolean;
    icon?: string;
    /** When set, shown in the icon slot instead of `icon`. Same dimensions as the icon for the current size. */
    iconImage?: string;
    iconPosition?: ButtonDSPositions;
    iconSize?: IconSizes;
    iconFilled?: boolean;
    spin?: boolean;
};
export default function Button({ text, className, disabled, active, color, size, mode, icon, iconImage, iconPosition, iconSize, iconFilled, spin, onClick, ...buttonProps }: Props): import("react").JSX.Element;
