/// <reference types="react" />
/**
 * @description DIcon 컴포넌트의 인터페이스. 아이콘의 다양한 속성과 동작을 정의합니다.
 */
export interface DIconInterface {
    /**
     * @description Bootstrap에서 사용하는 텍스트 색상 클래스. `text-${variant}` 형태의 값입니다.
     */
    variant?: string;
    /**
     * @description 아이콘의 CSS 클래스 이름입니다.
     */
    className?: string;
    /**
     * @description 아이콘의 크기 비율을 `em` 단위로 설정합니다. 기본값은 1입니다.
     */
    sizeRatio?: number;
    /**
     * @description 아이콘의 경로를 지정합니다.
     * `DRegisterGlobal.setDIconDefaultRootPath` 또는 `/assets/icons/` 경로에 위치한 `${icon}.svg` 파일을 사용하거나,
     * 직접적인 경로를 제공할 수 있습니다 (예: `/abc/efg/your.svg`).
     */
    icon?: string;
    /**
     * @description WCAG 웹 접근성 표준을 준수하기 위한 음성 레이블입니다. 아이콘에 대한 설명을 제공하여 스크린 리더 등에서 읽을 수 있게 합니다.
     */
    voiceLabel?: string;
    /**
     * @description 아이콘 클릭 시 발생하는 이벤트 핸들러입니다. `ReactSVG`의 `onClick` 이벤트를 상속합니다.
     */
    onClick?: React.MouseEventHandler & React.MouseEventHandler<SVGSVGElement>;
    /**
     * @description 아이콘 로드 중 오류가 발생할 경우 호출되는 이벤트 핸들러입니다. `ReactSVG`의 `onError` 이벤트를 상속합니다.
     */
    onError?: (props: unknown) => void;
}
/**
 * @version 1.0
 * @author wang hee june
 * @description 주어진 경로에서 아이콘을 쉽게 로드하고, 브라우저 내에서 SVG의 특성을 활용할 수 있도록 돕는 컴포넌트입니다.
 * @interface {@link DIconInterface}
 * @example
 * ```tsx
 * <DIcon icon="plus" />
 * ```
 */
export declare const DIcon: ({ icon, onError, className, sizeRatio, onClick, voiceLabel, variant, }: DIconInterface) => import("react").JSX.Element;
export default DIcon;
