import React from 'react';
import { States } from '../../core/types';
import './BaseIcon.scss';
import { Sizes } from '../../core/types';
export type BaseIconProps = {
    size?: Sizes | string;
    visible?: boolean;
    indicatorIconCount?: number;
    icon?: React.ReactNode;
    state?: States;
    className?: string;
    onClick?: () => void;
    hasHoverEffect?: boolean;
    rounded?: boolean;
    style?: React.CSSProperties;
    color?: string;
    bgColor?: string;
};
/**
 * Base Icon Component
 *
 * @param props
 * @param {Sizes} param0.size - string, optional, determines the size of the icon (e.g., 'large', 'medium', 'small', 'xsmall')
 * @param {States} [param0.state=States.DARK] - string, required, determines the state of the icon (e.g., 'dark', 'light', 'disabled', 'active', 'alert', 'warning', 'success', 'discovery') default to dark
 * @param {boolean} param0.visible -  boolean, optional, determines if the icon is visible
 * @param {boolean} param0.hasHoverEffect - if true, the svg will turn purple when being hovered
 * @param {number} param0.indicatorIconCount - optional, if provided determines if an Indicator Icon is present and passes the value to Notification Indicator's count param
 * @param {string} param0.className - optional
 * @param {React.ReactNode} param0.icon - optional, if not provided, PiArrowClockwiseBold is used
 * @param {string} param0.color - optional, if provided, the color of the icon is set to the value of the color prop
 * @param {string} param0.bgColor - optional, if provided, the background color of the icon is set to the value of the bgColor prop
 * @returns {*}
 */
declare const BaseIcon: ({ size, state, visible, hasHoverEffect, indicatorIconCount, icon, className, style, rounded, color, bgColor, ...rest }: BaseIconProps) => import("react/jsx-runtime").JSX.Element;
export default BaseIcon;
