import React, { PropsWithChildren } from 'react';
import { BaseProps } from '../component-helpers';
export declare const TextSizes: readonly ["1000", "900", "800", "700", "600", "500", "400", "350", "300", "200", "100"];
export declare const TextTags: readonly ["p", "span", "div", "strong", "em"];
export declare const TextVariants: readonly ["default", "muted"];
export declare const TextWeights: readonly ["heavy", "extrabold", "bold", "semibold", "medium", "normal", "light", "extralight"];
export declare const TextFontVariants: readonly ["mona-sans", "hubot-sans", "monospace"];
export declare const defaultTextTag: "span";
export declare const defaultTextSize: "200";
export declare const defaultTextVariant: "default";
export declare const defaultFontVariant: "mona-sans";
export type TextWeightVariants = (typeof TextWeights)[number];
export type TextFontVariants = (typeof TextFontVariants)[number];
export type ResponsiveWeightMap = {
    narrow?: TextWeightVariants;
    regular?: TextWeightVariants;
    wide?: TextWeightVariants;
};
type RestrictedPolymorphism = (React.HTMLAttributes<HTMLParagraphElement> & BaseProps<HTMLParagraphElement> & {
    as?: 'p';
}) | (React.HTMLAttributes<HTMLSpanElement> & BaseProps<HTMLSpanElement> & {
    as?: 'span';
}) | (React.HTMLAttributes<HTMLDivElement> & BaseProps<HTMLDivElement> & {
    as?: 'div';
}) | (React.HTMLAttributes<HTMLElement> & BaseProps<HTMLElement> & {
    as?: 'strong';
}) | (React.HTMLAttributes<HTMLElement> & BaseProps<HTMLElement> & {
    as?: 'em';
});
type TextTags = {
    /**
     * Applies the underlying HTML element
     */
    as?: (typeof TextTags)[number];
} & RestrictedPolymorphism;
export type TextProps = {
    font?: TextFontVariants;
    /**
     * Specify the text size
     */
    size?: (typeof TextSizes)[number];
    /**
     * Specify alternative text appearance
     */
    variant?: (typeof TextVariants)[number];
    /**
     * Specify the text weight
     */
    weight?: TextWeightVariants | ResponsiveWeightMap;
    /**
     * Specify the text alignment.
     * Corresponds to the CSS `text-align` property.
     * Note: Only applies to block elements.
     */
    align?: 'start' | 'center' | 'end';
    /**
     * Toggle antialiasing on or off
     */
    hasAntiAliasing?: boolean;
} & TextTags;
export declare function Text({ align, animate, as, className, children, font, size, variant, weight, style, hasAntiAliasing, ...rest }: PropsWithChildren<TextProps>): import("react/jsx-runtime").JSX.Element;
export {};
