import React from 'react';
export interface SvgIconProps {
    /**
     * 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 declare type IconCommonProps = Partial<Omit<SvgIconProps, 'children'>>;
declare type OmitProps = 'className' | 'children' | 'id' | 'title' | 'viewBox';
declare function SvgIcon({ ariaHidden, className, children, description, id, inversed, title, viewBox, ...otherProps }: Omit<React.SVGProps<SVGSVGElement>, OmitProps> & SvgIconProps): React.ReactElement;
declare namespace SvgIcon {
    var defaultProps: {
        ariaHidden: boolean;
        inversed: boolean;
    };
}
export default SvgIcon;
