import * as React from "react";
import type { CSSProperties } from "aphrodite";
export type IconType = {
    height: number;
    path: string;
    width: number;
};
type Props = {
    className?: string;
    style?: CSSProperties;
    title?: string;
    color: string;
    focusable?: boolean;
    icon: // If you pass in a string then it's assumed to be just an SVG
    IconType | string;
    pathClassName?: string;
    size?: number;
    alt?: string;
};
/**
 * An SVG Icon
 *
 * This component is designed to take in SVG paths and render icons based upon
 * them. If you are looking for an icon that we've used before you should look
 * in `icon-paths.js` which is a reference file for all the SVG paths that
 * we've used. You'll need to copy the object from that file into whichever
 * file you're using the icon and explicitly pass it in to the <Icon/> React
 * component.
 *
 * Sample usage:
 *
 * ```
 * const dropdownIcon = `M5,6L0,0L10,0`;
 * <Icon icon={dropdownIcon} />
 * ```
 *
 * Or:
 *
 * ```
 *   const dropdownIcon = {
 *       path: `M5,6L0,0L10,0`,
 *       height: 10,
 *       width: 10,
 *   };
 *   <Icon icon={dropdownIcon} size={20} />
 * ```
 *
 * If you want to add an entirely new icon please read the note inside
 * the `icon-paths.ts` file.
 */
declare class Icon extends React.Component<Props> {
    static defaultProps: {
        color: string;
    };
    render(): React.ReactNode;
}
export default Icon;
