import React, { CSSProperties } from 'react';
import PropTypes from 'prop-types';
export declare const DEFAULT_PRESET = "m";
export declare const ICON_LUMINOSITY = 32;
export declare const DEFAULT_WRAPPER_SIZE = 40;
export declare const ICON_PADDING = 8;
export declare const DEFAULT_ICON_COLOR = "hsl(0, 0%, 32%)";
export interface IconSize {
    faSize: number;
    wrapperSize: number;
}
export interface IconProps {
    iconName: string;
    iconColor?: string;
    backgroundColor?: string;
    gradientBackground?: boolean;
    borderRadius?: string;
    preset?: string;
    size?: IconSize;
    customStyle?: CSSProperties;
}
export declare function getForegroundColor(backgroundColor: string): string;
declare const Icon: React.FC<IconProps>;
export declare const propTypes: {
    iconName: PropTypes.Validator<string>;
    iconColor: PropTypes.Requireable<string>;
    backgroundColor: PropTypes.Requireable<string>;
    gradientBackground: PropTypes.Requireable<boolean>;
    borderRadius: PropTypes.Requireable<string>;
    preset: PropTypes.Requireable<string>;
    size: PropTypes.Requireable<PropTypes.InferProps<{
        faSize: PropTypes.Validator<number>;
        wrapperSize: PropTypes.Validator<number>;
    }>>;
    customStyle: PropTypes.Requireable<{
        [x: string]: NonNullable<string | number | null | undefined> | null | undefined;
    }>;
};
export default Icon;
//# sourceMappingURL=index.d.ts.map