import * as React from "react";
import { type IIconDetails, type TIconType, iconList } from "./svgObjects";
export { iconList };
/**
 * Icon component for ADP icons
 *
 * @example
 * ```tsx
 * <ADPIcon icon="overview" size="md" />
 * ```
 */
export interface IADPIconProps extends Omit<React.SVGAttributes<SVGSVGElement>, "size"> {
    /**
     * Icon name from the list of available icons
     * @default undefined
     */
    icon?: TIconType;
    /**
     * Size of the icon. The size is proportional to the initial size of the icon.
     * @default "sm"
     */
    size?: "xxs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl";
    /**
     * Adds a spinning animation to the icon
     */
    spin?: boolean;
    /**
     * adds padding and rounded corners to the icon
     */
    padded?: boolean;
    /**
     * Title attribute for the icon element
     * @default undefined
     */
    title?: string;
    /**
     * Data attribute for icon-name, override the icon name attribute
     */
    data_icon_name?: string;
    /**
     * Makes the icon of fixed width and center aligned
     * @default false
     */
    fixedWidth?: boolean;
    /**
     * Custom SVG object to be used instead of one of the default icons.
     * The custom SVG object should have the following properties:
     * - SVGPath: ReactElement (required) (SVG path element)
     * - xOffset: number (optional)
     * - yOffset: number (optional)
     * - initialHeight: number (optional)
     * - initialWidth: number (optional)
     * @default undefined
     */
    customSVG?: IIconDetails;
}
/**
 * Astral UI Icon component
 *
 * This component renders an SVG icon from the set of predefined icons or a custom SVG object.
 */
export declare const ADPIcon: React.ForwardRefExoticComponent<IADPIconProps & React.RefAttributes<SVGSVGElement>>;
