import * as React from 'react';
import { ButtonProps as MuiButtonProps } from '@mui/material';
import { ComponentsOverrides } from '@mui/material/styles';
import { Path, To } from 'react-router';
/**
* A generic Button with side icon. Only the icon is displayed on small screens.
*
* The component translates the label. Pass the icon as child.
* The icon displays on the left side of the button by default. Set alignIcon prop to 'right' to inverse.
*
* @example
*
*
*
*/
export declare const Button: (inProps: ButtonProps) => React.JSX.Element;
interface Props {
alignIcon?: 'left' | 'right';
children?: React.ReactNode;
className?: string;
component?: RootComponent;
to?: LocationDescriptor | To;
disabled?: boolean;
label?: React.ReactNode;
size?: 'small' | 'medium' | 'large';
variant?: string;
}
export type ButtonProps = Props & MuiButtonProps;
export type LocationDescriptor = Partial & {
redirect?: boolean;
state?: any;
replace?: boolean;
};
declare module '@mui/material/styles' {
interface ComponentNameToClassKey {
RaButton: 'root';
}
interface ComponentsPropsList {
RaButton: Partial;
}
interface Components {
RaButton?: {
defaultProps?: ComponentsPropsList['RaButton'];
styleOverrides?: ComponentsOverrides>['RaButton'];
};
}
}
export {};
//# sourceMappingURL=Button.d.ts.map