import React, { ReactNode } from "react";
import { ReadingColorVariant } from "../theme/colors";
/**
 * Types
 */
export declare const IconKeyVariants: readonly ["arrowRight", "arrowLeft", "attention", "check", "checkCircle", "chevronLeft", "chevronRight", "closeCircle", "infoCircle", "errorCircle", "link", "triangleRight", "triangleLeft", "triangleUp", "triangleDown", "copy", "close", "search", "instagram", "linkedIn", "medium", "reddit", "telegram", "twitter", "youTube", "fail", "plus", "minus", "helpCircle", "help", "lock", "delete", "download", "key", "edit", "expand", "collapse", "success", "loading", "sort", "update", "facebook", "cart", "menu", "verify", "showPassword", "hidePassword", "sprout", "collection", "user", "closeSmall", "dropdown", "minusSmall", "plusSmall", "convert", "deposit", "send", "receive", "to", "withdraw", "clock", "play"];
export declare type IconKeyVariant = typeof IconKeyVariants[number];
export declare const IconSizeVariants: readonly ["xs1", "xs", "sm", "md", "lg"];
export declare type IconSizeVariant = typeof IconSizeVariants[number];
export interface IconProps {
    iconKey: IconKeyVariant;
    className?: string;
    size?: IconSizeVariant;
    color?: ReadingColorVariant;
    rotate?: number;
}
export interface IconStyleProps {
    size?: IconSizeVariant;
    color?: ReadingColorVariant;
    rotate?: number;
}
/**
 * Constants
 */
export declare const iconMap: Record<IconKeyVariant, ReactNode>;
export declare const iconSizeMap: Record<IconSizeVariant, number>;
export declare const iconMobileSizeMap: Record<IconSizeVariant, number>;
/**
 * Main
 */
declare const Icon: React.FC<IconProps>;
export default Icon;
