import type { MessageDescriptor } from 'react-intl';
import type { Prettify } from '@atlaskit/linking-common';
import { token } from '@atlaskit/tokens';
import type { MessageProps } from '../../../types';
import { type ElementProps } from '../../index';
export type BaseTextElementProps = ElementProps & {
    /**
     * Text color to override the default text color.
     */
    color?: string;
    /**
     * The raw text content to display.
     */
    content?: string;
    /**
     * Override the default font size.
     */
    fontSize?: Prettify<Extract<Parameters<typeof token>[0], 'font.body' | 'font.body.large' | 'font.body.small'>>;
    /**
     * Determines whether the text formatting should be hidden when both message and content are provided.
     * If true, content will be displayed instead of the formatted message.
     */
    hideFormat?: boolean;
    /**
     * The maximum number of lines the text should span over. Maximum is 2 unless its an error message.
     */
    maxLines?: number;
    /**
     * Determines the formatted message (i18n) to display.
     * If this is provided and hideFormat is false, the content prop will not be displayed.
     */
    message?: MessageProps;
};
/**
 * A base element that displays some Text.
 * @internal
 * @param {TextProps} TextProps - The props necessary for the Text element.
 * @see Title
 */
export declare const BaseTextElement: ({ content, maxLines, message, name, className, testId, hideFormat, color, fontSize, }: BaseTextElementProps) => JSX.Element | null;
export default BaseTextElement;
export declare const toFormattedTextProps: (descriptor: MessageDescriptor, context?: string) => Partial<BaseTextElementProps> | undefined;
export declare const toTextProps: (content?: string) => Partial<BaseTextElementProps> | undefined;
