import type { ButtonProps } from '@mui/material';
import type { FocusEventHandler, KeyboardEventHandler, MouseEventHandler, ReactNode } from 'react';
export type ButtonVariants = 'primary' | 'secondary' | 'tertiary' | 'destructive' | 'text' | 'text-foreground';
export type ButtonTypes = 'button' | 'submit' | 'reset';
export type ButtonSizes = 'tall' | 'small';
export type ButtonWidthModes = 'default' | 'fit-content';
export interface ApButtonProps extends Omit<ButtonProps, 'size' | 'variant' | 'type'> {
    label: string;
    id?: string;
    type?: ButtonTypes;
    disabled?: boolean;
    loading?: boolean;
    variant?: ButtonVariants;
    size?: ButtonSizes;
    widthMode?: ButtonWidthModes;
    startIcon?: ReactNode;
    endIcon?: ReactNode;
    customContent?: ReactNode;
    onClick?: MouseEventHandler;
    href?: string;
    tabIndex?: number;
    expanded?: boolean;
    title?: string;
    onMouseEnter?: MouseEventHandler;
    onMouseLeave?: MouseEventHandler;
    onMouseDown?: MouseEventHandler;
    onMouseUp?: MouseEventHandler;
    onFocus?: FocusEventHandler;
    onBlur?: FocusEventHandler;
    onKeyDown?: KeyboardEventHandler;
}
//# sourceMappingURL=ApButton.types.d.ts.map