import { ActionIconCssVariables, ActionIconStylesNames, ActionIconVariant, Factory, type ActionIconGroup, type ActionIconProps as MantineActionIconProps } from '@mantine/core'; import { ClickHandler } from '../../hooks/useClickWithLoading.js'; import { ButtonWithDisabledTooltipProps } from '../Button/ButtonWithDisabledTooltip.js'; export interface ActionIconProps extends MantineActionIconProps, ButtonWithDisabledTooltipProps { /** * Handler executed on click. * Supports async handlers - the button will show a loading state while the promise resolves. */ onClick?: ClickHandler; } type ActionIconOverloadFactory = Factory<{ props: ActionIconProps; defaultRef: HTMLButtonElement; defaultComponent: 'button'; stylesNames: ActionIconStylesNames; vars: ActionIconCssVariables; variant: ActionIconVariant; staticComponents: { Group: typeof ActionIconGroup; Primary: typeof ActionIconPrimary; Secondary: typeof ActionIconSecondary; Tertiary: typeof ActionIconTertiary; Quaternary: typeof ActionIconQuaternary; DestructivePrimary: typeof ActionIconDestructive; DestructiveSecondary: typeof ActionIconDestructiveSecondary; DestructiveTertiary: typeof ActionIconDestructiveTertiary; DestructiveQuaternary: typeof ActionIconDestructiveQuaternary; }; }>; export declare const ActionIcon: ((props: import("@mantine/core").PolymorphicComponentProps) => React.ReactElement) & Omit) => any; }) | (ActionIconProps & { component?: any; } & Omit & { ref?: any; renderRoot?: (props: any) => any; })>, never> & import("@mantine/core").ThemeExtend<{ props: ActionIconProps; defaultRef: HTMLButtonElement; defaultComponent: 'button'; stylesNames: ActionIconStylesNames; vars: ActionIconCssVariables; variant: ActionIconVariant; staticComponents: { Group: typeof ActionIconGroup; Primary: typeof ActionIconPrimary; Secondary: typeof ActionIconSecondary; Tertiary: typeof ActionIconTertiary; Quaternary: typeof ActionIconQuaternary; DestructivePrimary: typeof ActionIconDestructive; DestructiveSecondary: typeof ActionIconDestructiveSecondary; DestructiveTertiary: typeof ActionIconDestructiveTertiary; DestructiveQuaternary: typeof ActionIconDestructiveQuaternary; }; }> & import("@mantine/core").ComponentClasses<{ props: ActionIconProps; defaultRef: HTMLButtonElement; defaultComponent: 'button'; stylesNames: ActionIconStylesNames; vars: ActionIconCssVariables; variant: ActionIconVariant; staticComponents: { Group: typeof ActionIconGroup; Primary: typeof ActionIconPrimary; Secondary: typeof ActionIconSecondary; Tertiary: typeof ActionIconTertiary; Quaternary: typeof ActionIconQuaternary; DestructivePrimary: typeof ActionIconDestructive; DestructiveSecondary: typeof ActionIconDestructiveSecondary; DestructiveTertiary: typeof ActionIconDestructiveTertiary; DestructiveQuaternary: typeof ActionIconDestructiveQuaternary; }; }> & { varsResolver: import("@mantine/core").VarsResolver<{ props: ActionIconProps; defaultRef: HTMLButtonElement; defaultComponent: 'button'; stylesNames: ActionIconStylesNames; vars: ActionIconCssVariables; variant: ActionIconVariant; staticComponents: { Group: typeof ActionIconGroup; Primary: typeof ActionIconPrimary; Secondary: typeof ActionIconSecondary; Tertiary: typeof ActionIconTertiary; Quaternary: typeof ActionIconQuaternary; DestructivePrimary: typeof ActionIconDestructive; DestructiveSecondary: typeof ActionIconDestructiveSecondary; DestructiveTertiary: typeof ActionIconDestructiveTertiary; DestructiveQuaternary: typeof ActionIconDestructiveQuaternary; }; }>; } & import("@mantine/core").PolymorphicComponentWithProps<{ props: ActionIconProps; defaultRef: HTMLButtonElement; defaultComponent: 'button'; stylesNames: ActionIconStylesNames; vars: ActionIconCssVariables; variant: ActionIconVariant; staticComponents: { Group: typeof ActionIconGroup; Primary: typeof ActionIconPrimary; Secondary: typeof ActionIconSecondary; Tertiary: typeof ActionIconTertiary; Quaternary: typeof ActionIconQuaternary; DestructivePrimary: typeof ActionIconDestructive; DestructiveSecondary: typeof ActionIconDestructiveSecondary; DestructiveTertiary: typeof ActionIconDestructiveTertiary; DestructiveQuaternary: typeof ActionIconDestructiveQuaternary; }; }> & { Group: typeof ActionIconGroup; Primary: typeof ActionIconPrimary; Secondary: typeof ActionIconSecondary; Tertiary: typeof ActionIconTertiary; Quaternary: typeof ActionIconQuaternary; DestructivePrimary: typeof ActionIconDestructive; DestructiveSecondary: typeof ActionIconDestructiveSecondary; DestructiveTertiary: typeof ActionIconDestructiveTertiary; DestructiveQuaternary: typeof ActionIconDestructiveQuaternary; }; declare const ActionIconPrimary: (props: import("@mantine/core").PolymorphicComponentProps) => React.ReactElement; declare const ActionIconSecondary: (props: import("@mantine/core").PolymorphicComponentProps) => React.ReactElement; declare const ActionIconTertiary: (props: import("@mantine/core").PolymorphicComponentProps) => React.ReactElement; declare const ActionIconQuaternary: (props: import("@mantine/core").PolymorphicComponentProps) => React.ReactElement; declare const ActionIconDestructive: (props: import("@mantine/core").PolymorphicComponentProps) => React.ReactElement; declare const ActionIconDestructiveSecondary: (props: import("@mantine/core").PolymorphicComponentProps) => React.ReactElement; declare const ActionIconDestructiveTertiary: (props: import("@mantine/core").PolymorphicComponentProps) => React.ReactElement; declare const ActionIconDestructiveQuaternary: (props: import("@mantine/core").PolymorphicComponentProps) => React.ReactElement; export declare namespace ActionIcon { type Props = ActionIconProps; type StylesNames = ActionIconStylesNames; type CssVariables = ActionIconCssVariables; type Factory = ActionIconOverloadFactory; namespace Primary { type Props = ActionIconProps; } namespace Secondary { type Props = ActionIconProps; } namespace Tertiary { type Props = ActionIconProps; } namespace Quaternary { type Props = ActionIconProps; } namespace DestructivePrimary { type Props = ActionIconProps; } namespace DestructiveSecondary { type Props = ActionIconProps; } namespace DestructiveTertiary { type Props = ActionIconProps; } namespace DestructiveQuaternary { type Props = ActionIconProps; } } export {}; //# sourceMappingURL=ActionIcon.d.ts.map