import React, { ReactNode } from "react";
import { ReadingColorVariant } from "../theme/colors";
/**
 * Types
 */
export declare const IconKeyVariants: readonly ["arrowRight", "arrowLeft", "attention", "check", "checkCircle", "chevronLeft", "chevronRight", "closeCircle", "dollarSign", "globe", "infoCircle", "errorCircle", "link", "triangleRight", "triangleLeft", "triangleUp", "triangleDown", "copy", "close", "search", "range", "instagram", "linkedIn", "medium", "reddit", "telegram", "twitter", "youTube", "eth", "fail", "plus", "minus", "helpCircle", "document", "documentText", "lock", "delete", "users", "stakefish", "sound", "beacon", "sent", "download", "faster", "slower", "usb", "key", "edit", "expand", "collapse", "success", "successCircle", "desktop", "mobile", "loading", "upload", "chrome", "cloudConnect", "sort", "update", "menu", "settings"];
export declare type IconKeyVariant = typeof IconKeyVariants[number];
export declare const IconSizeVariants: readonly ["xs2", "xs1", "sm", "md", "lg", "xl1", "xl2", "xl3"];
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 iconPaddingMap: Record<IconSizeVariant, number>;
/**
 * Main
 */
declare const Icon: React.FC<IconProps>;
export default Icon;
