import { ButtonCssVariables, type ButtonGroup, ButtonProps as MantineButtonProps, ButtonStylesNames, ButtonVariant } from '@mantine/core';
import { MouseEventHandler } from 'react';
import { ButtonWithDisabledTooltipProps } from './ButtonWithDisabledTooltip';
export interface ButtonProps extends MantineButtonProps, ButtonWithDisabledTooltipProps {
    onClick?: MouseEventHandler<HTMLButtonElement>;
}
export declare const Button: (<C = "button">(props: import("@mantine/core").PolymorphicComponentProps<C, ButtonProps>) => React.ReactElement) & Omit<import("react").FunctionComponent<(ButtonProps & {
    component?: any;
} & Omit<Omit<any, "ref">, "component" | keyof ButtonProps> & {
    ref?: any;
    renderRoot?: (props: any) => any;
}) | (ButtonProps & {
    component: React.ElementType;
    renderRoot?: (props: Record<string, any>) => any;
})>, never> & import("@mantine/core/lib/core/factory/factory").ThemeExtend<{
    props: ButtonProps;
    defaultRef: HTMLButtonElement;
    defaultComponent: "button";
    stylesNames: ButtonStylesNames;
    vars: ButtonCssVariables;
    variant: ButtonVariant;
    staticComponents: {
        Group: typeof ButtonGroup;
    };
}> & import("@mantine/core/lib/core/factory/factory").ComponentClasses<{
    props: ButtonProps;
    defaultRef: HTMLButtonElement;
    defaultComponent: "button";
    stylesNames: ButtonStylesNames;
    vars: ButtonCssVariables;
    variant: ButtonVariant;
    staticComponents: {
        Group: typeof ButtonGroup;
    };
}> & import("@mantine/core/lib/core/factory/polymorphic-factory").PolymorphicComponentWithProps<{
    props: ButtonProps;
    defaultRef: HTMLButtonElement;
    defaultComponent: "button";
    stylesNames: ButtonStylesNames;
    vars: ButtonCssVariables;
    variant: ButtonVariant;
    staticComponents: {
        Group: typeof ButtonGroup;
    };
}> & {
    Group: typeof ButtonGroup;
};
//# sourceMappingURL=Button.d.ts.map