import React from 'react';

type IconVariant = "solid" | "line";
interface BaseIconProps {
    /** Icon variant style. Default: 'line' */
    variant?: IconVariant;
    /** Size in pixels or CSS value (e.g., "100%" to fill container). Default: 24 */
    size?: number | string;
    /** Icon color. Default: 'currentColor' */
    color?: string;
    /** Additional CSS class */
    className?: string;
    /** Inline styles */
    style?: React.CSSProperties;
    /** Test ID for testing frameworks (web) */
    "data-testid"?: string;
    /** Test ID for testing frameworks (React Native) */
    testID?: string;
    /** Accessible label for screen readers */
    "aria-label"?: string;
    /** Hide from screen readers (default: true if no aria-label) */
    "aria-hidden"?: boolean;
}
type BaseIconComponent = React.FC<BaseIconProps>;
interface BaseIconInternalProps extends BaseIconProps {
    solidContent: string;
    lineContent: string;
    /** Test ID for testing frameworks */
    testID?: string;
}

declare const BaseIcon: React.FC<BaseIconInternalProps>;

export { BaseIcon as B, type IconVariant as I, type BaseIconComponent as a, type BaseIconProps as b };
