import * as React from 'react';
import type { Override } from '../helpers/overrides';
import type { ReactNode } from 'react';
export declare const TagKind: Readonly<{
    readonly custom: "custom";
    readonly neutral: "neutral";
    readonly primary: "primary";
    readonly accent: "accent";
    readonly positive: "positive";
    readonly warning: "warning";
    readonly negative: "negative";
    readonly black: "black";
    readonly blue: "blue";
    readonly green: "green";
    readonly red: "red";
    readonly yellow: "yellow";
    readonly orange: "orange";
    readonly purple: "purple";
    readonly brown: "brown";
}>;
export declare const TagVariant: Readonly<Readonly<{
    readonly solid: "solid";
    readonly light: "light";
    readonly outlined: "outlined";
}>>;
export declare const TagSize: Readonly<{
    readonly small: "small";
    readonly medium: "medium";
    readonly large: "large";
}>;
export declare type TagKind = keyof typeof TagKind;
export declare type TagVariant = typeof TagVariant[keyof typeof TagVariant];
export declare type TagSize = keyof typeof TagSize;
export declare type TagOverrides = {
    Root?: Override;
    Action?: Override;
    ActionIcon?: Override;
    StartEnhancerContainer?: Override;
    Text?: Override;
};
export declare type TagProps = {
    overrides?: TagOverrides;
    /** Include or exclude the "x" button and click action. */
    closeable?: boolean;
    /** Disable control from being changed. */
    disabled?: boolean;
    /** Deprecated. Will be removed in the next major version. */
    isFocused?: boolean;
    /** Deprecated. Will be removed in the next major version. */
    isHovered?: boolean;
    /** Defines tags look by purpose. Set it to one of KIND[key] values. Defaults to KIND.primary */
    kind?: TagKind;
    /** Defines tags look. Set it to one of VARIANT[key] values. Defaults to VARIANT.light */
    variant?: TagVariant;
    /** Component or String value for label of tag. Default is empty string. */
    children?: ReactNode;
    /** The color theme to be applied to a Tag. Default is `KIND.primary`. */
    color?: string;
    /** Text to display in native OS tooltip on long hover. */
    title?: string;
    /** onClick handler for the action button element. */
    onActionClick?: (e: Event, children?: ReactNode) => unknown;
    /** keydown handler for the action button element. */
    onActionKeyDown?: (e: Event, children?: ReactNode) => unknown;
    /** onClick handler for the tag. Passing an onClick handler also makes the tag clickable. */
    onClick?: null | ((event: Event) => unknown);
    /** onkeydown handler for the tag. */
    onKeyDown?: null | ((event: Event) => unknown);
    /** Determines the size of the Tag. */
    size?: TagSize;
    startEnhancer?: React.ComponentType<{}>;
};
export declare type SharedPropsArg = {
    $clickable?: boolean;
    $closeable?: boolean;
    $color?: string;
    $disabled?: boolean;
    $isActive?: boolean;
    $isFocused?: boolean;
    $isHovered?: boolean;
    $kind?: string;
    $variant?: string;
    $isFocusVisible?: boolean;
    $size?: string;
};
