import React from 'react'; import { OverrideProps, Simplify } from 'mui-ultra/types'; import { UseButtonParameters, UseButtonRootSlotProps } from './useButton.types'; import { SlotComponentProps } from '../utils'; export interface ButtonUnstyledActions { focusVisible(): void; } export interface ButtonUnstyledComponentsPropsOverrides { } export interface ButtonUnstyledOwnProps extends Omit { /** * A ref for imperative actions. It currently only supports `focusVisible()` action. */ action?: React.Ref; children?: React.ReactNode; className?: string; /** * The components used for each slot inside the Button. * Either a string to use a HTML element or a component. * @default {} */ components?: { Root?: React.ElementType; }; /** * The props used for each slot inside the Button. * @default {} */ componentsProps?: { root?: SlotComponentProps<'button', ButtonUnstyledComponentsPropsOverrides, ButtonUnstyledOwnerState>; }; } export declare type ButtonUnstyledProps = OverrideProps, D> & { component?: D; }; export interface ButtonUnstyledTypeMap

{ props: P & ButtonUnstyledOwnProps; defaultComponent: D; } export declare type ButtonUnstyledOwnerState = ButtonUnstyledOwnProps & { active: boolean; focusVisible: boolean; }; export declare type ButtonUnstyledRootSlotProps = Simplify;