import { type BoxProps } from "@mantine/core";
import type { MouseEvent, ReactNode, SVGAttributes } from "react";
import type { IconName } from "./icons";
export type IconProps = SVGAttributes<SVGSVGElement> & BoxProps & {
    name: IconName;
    size?: string | number;
    tooltip?: ReactNode;
    onClick?: (event: MouseEvent<HTMLImageElement | SVGElement>) => void;
    className?: string;
};
export declare const Icon: (props: SVGAttributes<SVGSVGElement> & BoxProps & {
    name: IconName;
    size?: string | number | undefined;
    tooltip?: ReactNode;
    onClick?: ((event: MouseEvent<HTMLImageElement | SVGElement>) => void) | undefined;
    className?: string | undefined;
} & import("react").RefAttributes<SVGSVGElement>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | null;
/** An icon that does not shrink when its container is too narrow **/
export declare const FixedSizeIcon: import("@emotion/styled").StyledComponent<SVGAttributes<SVGSVGElement> & BoxProps & {
    name: IconName;
    size?: string | number | undefined;
    tooltip?: ReactNode;
    onClick?: ((event: MouseEvent<HTMLImageElement | SVGElement>) => void) | undefined;
    className?: string | undefined;
} & import("react").RefAttributes<SVGSVGElement> & {
    theme?: import("@emotion/react").Theme | undefined;
}, {}, {}>;
