/** @module @airtable/blocks/ui: Text */ /** */
import * as React from 'react';
import * as PropTypes from 'prop-types';
import { EnumType } from '../private_utils';
import { AllStylesProps } from './system/index';
import { ResponsiveProp } from './system/utils/types';
import { AriaProps } from './types/aria_props';
import { DataAttributesProp } from './types/data_attributes_prop';
/**
 * Variants for the {@link Text} component:
 *
 * • **default**
 *
 * Single-line text.
 *
 * • **paragraph**
 *
 * Multi-line text such as body copy.
 */
export declare type TextVariant = EnumType<typeof TextVariant>;
export declare const TextVariant: {
    default: "default";
    paragraph: "paragraph";
};
export declare const textVariantPropType: PropTypes.Requireable<"default" | "paragraph">;
/**
 * Sizes for the {@link Text} component.
 */
export declare type TextSize = EnumType<typeof TextSize>;
export declare const TextSize: {
    small: "small";
    default: "default";
    large: "large";
    xlarge: "xlarge";
};
/** */
export declare type TextSizeProp = ResponsiveProp<TextSize>;
export declare const textSizePropType: PropTypes.Validator<any>;
/** @internal */
export declare function useTextStyle(textSizeProp: TextSizeProp, variant?: TextVariant): string;
/**
 * Props for the {@link Text} component. Also supports:
 * * {@link AriaProps}
 * * {@link AllStylesProps}
 *
 * @noInheritDoc
 * @docsPath UI/components/Text
 */
interface TextProps extends AriaProps, AllStylesProps {
    /** The element that is rendered. Defaults to `p`. */
    as?: 'p' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'span' | 'li' | 'em' | 'strong' | 'kbd' | 'mark' | 'q' | 's' | 'samp' | 'small' | 'sub' | 'sup' | 'time' | 'var' | 'blockquote';
    /** The variant of the text. Defaults to `default`. */
    variant?: TextVariant;
    /** The contents of the text. */
    children?: React.ReactNode | string;
    /** The `id` attribute. */
    id?: string;
    /** The size of the text. Defaults to `default`. Can be a responsive prop object. */
    size?: TextSizeProp;
    /** Data attributes that are spread onto the element, e.g. `dataAttributes={{'data-*': '...'}}`. */
    dataAttributes?: DataAttributesProp;
    /** Additional class names to apply, separated by spaces. */
    className?: string;
    /** Additional styles. */
    style?: React.CSSProperties;
    /** The `role` attribute. */
    role?: string;
}
declare const ForwardedRefText: React.ForwardRefExoticComponent<TextProps & React.RefAttributes<HTMLElement>>;
export default ForwardedRefText;
