import type * as React from 'react';
export interface BaseSvgIconProps {
    /**
     * Describes the value of the `aria-hidden` attribute on the SVG. Defaulted to true with the assumption that most icons are decorative.
     * If the icon does not have any associated label text, set this to `false` and ensure a `title` is provided for improved accessibility.
     */
    ariaHidden?: boolean;
    /**
     * Additional CSS classes to be added to the svg element
     */
    className?: string;
    /**
     * The elements that make up the SVG
     */
    children: React.ReactNode;
    /**
     * Long-text description of any SVG. Use for complex icons, otherwise `title` prop will suffice.
     */
    description?: string;
    /**
     * A custom `id` attribute for the SVG
     */
    id?: string;
    /**
     * If `true` sets inverse fill color.
     */
    inversed?: boolean;
    /**
     * The descriptive name for the SVG icon
     */
    title?: string;
    /**
     * A string describing the viewbox of the SVG.
     *
     * It is recommended that the icon is centered and fill up the default viewport size.
     * See [this blog post](https://webdesign.tutsplus.com/tutorials/svg-viewport-and-viewbox-for-beginners--cms-30844) for further explanation on viewBox and how to use it.
     */
    viewBox?: string;
}
export type SvgIconProps = BaseSvgIconProps & Omit<React.SVGProps<SVGSVGElement>, keyof BaseSvgIconProps>;
export type IconCommonProps = Partial<Omit<SvgIconProps, 'children'>>;
export declare const SvgIcon: {
    ({ ariaHidden, className, children, description, id, inversed, title, viewBox, ...otherProps }: SvgIconProps): import("react/jsx-runtime").JSX.Element;
    defaultProps: {
        ariaHidden: boolean;
        inversed: boolean;
    };
};
