import * as React from "react";
import * as PropTypes from "prop-types";
import Tooltip from "../Tooltip";
import { Values } from "../utils/types";
import "./Label.less";
export interface Props {
    children: React.ReactNode;
    className?: string;
    color?: Values<typeof Color>;
    tooltip?: React.ReactNode;
    tooltipPlacement?: Values<typeof Tooltip.Placement>;
    tooltipTextAlign?: Values<typeof Tooltip.Align>;
    size?: Values<typeof Size>;
}
declare const Color: {
    readonly DEFAULT: "default";
    readonly NEW_FEATURE: "new-feature";
    readonly SUCCESS: "success";
    readonly WARNING: "warning";
    readonly ERROR: "error";
    readonly CATEGORY_1: "new-feature";
    readonly CATEGORY_2: "category-2";
    readonly TAG: "tag";
    readonly BLUE: "new-feature";
    readonly AQUA: "new-feature";
    readonly PURPLE: "new-feature";
    readonly PINK: "category-2";
    readonly GRAY: "default";
};
declare const Size: {
    readonly S: "s";
    readonly M: "s";
    readonly L: "l";
};
export declare const cssClass: {
    CONTAINER: string;
    WITH_TOOLTIP: string;
    color: (c: any) => string;
    size: (s: any) => string;
};
export default class Label extends React.PureComponent<Props> {
    static propTypes: {
        children: PropTypes.Validator<PropTypes.ReactNodeLike>;
        className: PropTypes.Requireable<string>;
        color: PropTypes.Requireable<Values<{
            readonly DEFAULT: "default";
            readonly NEW_FEATURE: "new-feature";
            readonly SUCCESS: "success";
            readonly WARNING: "warning";
            readonly ERROR: "error";
            readonly CATEGORY_1: "new-feature";
            readonly CATEGORY_2: "category-2";
            readonly TAG: "tag";
            readonly BLUE: "new-feature";
            readonly AQUA: "new-feature";
            readonly PURPLE: "new-feature";
            readonly PINK: "category-2";
            readonly GRAY: "default";
        }>>;
        tooltip: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        tooltipPlacement: PropTypes.Requireable<Values<{
            readonly BOTTOM: "bottom";
            readonly LEFT: "left";
            readonly RIGHT: "right";
            readonly TOP: "top";
        }>>;
        tooltipTextAlign: PropTypes.Requireable<Values<{
            readonly CENTER: "center";
            readonly JUSTIFY: "justify";
            readonly LEFT: "left";
            readonly RIGHT: "right";
        }>>;
        size: PropTypes.Requireable<Values<{
            readonly S: "s";
            readonly M: "s";
            readonly L: "l";
        }>>;
    };
    static defaultProps: {
        color: "default";
        size: "s";
    };
    static Color: {
        readonly DEFAULT: "default";
        readonly NEW_FEATURE: "new-feature";
        readonly SUCCESS: "success";
        readonly WARNING: "warning";
        readonly ERROR: "error";
        readonly CATEGORY_1: "new-feature";
        readonly CATEGORY_2: "category-2";
        readonly TAG: "tag";
        readonly BLUE: "new-feature";
        readonly AQUA: "new-feature";
        readonly PURPLE: "new-feature";
        readonly PINK: "category-2";
        readonly GRAY: "default";
    };
    static Size: {
        readonly S: "s";
        readonly M: "s";
        readonly L: "l";
    };
    private label;
    focus(): void;
    render(): JSX.Element;
}
export {};
