import * as _mui_material from '@mui/material';
export * from '@mui/material';
import * as _emotion_styled from '@emotion/styled';
import * as _mui_system from '@mui/system';
import * as _mui_material_OverridableComponent from '@mui/material/OverridableComponent';
import * as _mui_material_ButtonBase_TouchRipple from '@mui/material/ButtonBase/TouchRipple';
import * as _mui_types from '@mui/types';
import * as React from 'react';
import React__default from 'react';
import { Theme } from '@emotion/react';

declare const StyledButton: _emotion_styled.StyledComponent<{
    children?: React.ReactNode;
    classes?: Partial<_mui_material.ButtonClasses> | undefined;
    color?: _mui_types.OverridableStringUnion<"inherit" | "primary" | "secondary" | "success" | "error" | "info" | "warning", _mui_material.ButtonPropsColorOverrides> | undefined;
    disabled?: boolean | undefined;
    disableElevation?: boolean | undefined;
    disableFocusRipple?: boolean | undefined;
    endIcon?: React.ReactNode;
    fullWidth?: boolean | undefined;
    href?: string | undefined;
    size?: _mui_types.OverridableStringUnion<"small" | "large" | "medium", _mui_material.ButtonPropsSizeOverrides> | undefined;
    startIcon?: React.ReactNode;
    sx?: _mui_material.SxProps<_mui_material.Theme> | undefined;
    variant?: _mui_types.OverridableStringUnion<"text" | "outlined" | "contained", _mui_material.ButtonPropsVariantOverrides> | undefined;
} & Omit<{
    action?: React.Ref<_mui_material.ButtonBaseActions> | undefined;
    centerRipple?: boolean | undefined;
    children?: React.ReactNode;
    classes?: Partial<_mui_material.ButtonBaseClasses> | undefined;
    disabled?: boolean | undefined;
    disableRipple?: boolean | undefined;
    disableTouchRipple?: boolean | undefined;
    focusRipple?: boolean | undefined;
    focusVisibleClassName?: string | undefined;
    LinkComponent?: React.ElementType<any> | undefined;
    onFocusVisible?: React.FocusEventHandler<any> | undefined;
    sx?: _mui_material.SxProps<_mui_material.Theme> | undefined;
    tabIndex?: number | undefined;
    TouchRippleProps?: Partial<_mui_material_ButtonBase_TouchRipple.TouchRippleProps> | undefined;
    touchRippleRef?: React.Ref<_mui_material_ButtonBase_TouchRipple.TouchRippleActions> | undefined;
}, "classes"> & _mui_material_OverridableComponent.CommonProps & Omit<Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
    ref?: ((instance: HTMLButtonElement | null) => void) | React.RefObject<HTMLButtonElement> | null | undefined;
}, keyof _mui_material_OverridableComponent.CommonProps | "tabIndex" | "color" | "children" | "action" | "centerRipple" | "disabled" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "sx" | "TouchRippleProps" | "touchRippleRef" | "href" | "disableElevation" | "disableFocusRipple" | "endIcon" | "fullWidth" | "size" | "startIcon" | "variant"> & _mui_system.MUIStyledCommonProps<_mui_material.Theme> & {
    component?: "button" | undefined;
}, {}, {}>;

declare module "@mui/material/styles" {
    interface TypographyVariants {
        "button-small": React__default.CSSProperties;
        "button-medium": React__default.CSSProperties;
        "button-large": React__default.CSSProperties;
    }
    interface TypographyVariantsOptions {
        "button-small"?: React__default.CSSProperties;
        "button-medium"?: React__default.CSSProperties;
        "button-large"?: React__default.CSSProperties;
    }
}
declare module "@mui/material/Button" {
    interface ButtonPropsVariantOverrides {
        tonal: true;
    }
}
interface Props {
    children: React__default.ReactNode;
    theme?: Theme;
}
declare const SalesProTheme: React__default.FC<Props>;

export { StyledButton as Button, SalesProTheme as ThemeProvider };
