import { default as React } from 'react';
import { SxProps, Theme } from '@mui/material/styles';
import { SemanticColor, Emphasis, ComponentSize, Shape } from '../types';
export interface ButtonProps {
    children: React.ReactNode;
    color?: SemanticColor;
    emphasis?: Emphasis;
    size?: ComponentSize;
    shape?: Shape;
    loading?: boolean;
    loadingPosition?: 'start' | 'center' | 'end';
    disabled?: boolean;
    startIcon?: React.ReactNode;
    /** Alias for startIcon */
    startAdornment?: React.ReactNode;
    /** Alias for startIcon (single icon shorthand) */
    icon?: React.ReactNode;
    endIcon?: React.ReactNode;
    /** Alias for endIcon */
    endAdornment?: React.ReactNode;
    fullWidth?: boolean;
    onClick?: React.MouseEventHandler<HTMLButtonElement>;
    type?: 'button' | 'submit' | 'reset';
    href?: string;
    sx?: SxProps<Theme>;
}
declare function Button({ children, color, emphasis, size, shape, loading, loadingPosition, disabled, startIcon, startAdornment, icon, endIcon, endAdornment, fullWidth, onClick, type, href, sx, }: ButtonProps): import("react/jsx-runtime").JSX.Element;
declare namespace Button {
    var displayName: string;
}
export default Button;
