import React, { HTMLAttributes, AriaAttributes, CSSProperties } from "react";
import { SpaceProps } from "styled-system";
import { TagProps } from "../../../../__internal__/utils/helpers/tags";
export declare const VARIANT_TYPES: readonly ["h1", "h2", "h3", "h4", "h5", "section-heading", "section-subheading", "ul", "ol", "sup", "sub", "strong", "b", "p"];
type VariantTypes = (typeof VARIANT_TYPES)[number];
export declare const ALLOWED_CSS_TEXT_OVERRIDE_KEYS: ["textTransform", "textDecoration", "display", "whiteSpace", "wordBreak", "wordWrap", "textAlign", "textOverflow", "overflow"];
export type AllowedCSSTextOverrides = Pick;
export interface TypographyProps extends SpaceProps, TagProps, Pick, "role">, Pick, AllowedCSSTextOverrides {
/** Adds element and creates a visual style associated with said element. */
variant?: VariantTypes;
/** Override the underlying HTML element rendered by the component. */
as?: React.ElementType;
/** Content to be rendered inside the Typography component. */
children?: React.ReactNode;
/** Set the ID attribute of the Typography component. */
id?: string;
/** When set to `true`, uses fluid typography with CSS clamp() values for responsive sizing. */
fluid?: boolean;
/** When set to `true`, inverts the font color for use on darker backgrounds. */
inverse?: boolean;
/** When set to `true`, the component will apply visually hidden styling, hiding the component visually but ensuring the component is still in the accessibility tree. */
screenReaderOnly?: boolean;
/** The size to apply to text. Only available for non-heading variants. */
size?: "M" | "L";
/** The color tint to apply to text. Accepts "default" for standard text color or "alt" for alternative text color. Only available for non-heading variants. */
tint?: "default" | "alt";
/** The font weight to apply to text. Only available for non-heading variants. Note: Has no effect on "strong" or "b" variants as they have fixed medium weight. */
weight?: "regular" | "medium";
/**
* @private
* @internal
* @ignore
* Sets className for component. INTERNAL USE ONLY. */
className?: string;
}
export declare const Typography: ({ variant, as, children, id, fluid, inverse, screenReaderOnly, size, tint, weight, role, "aria-hidden": ariaHidden, "aria-live": ariaLive, className, ...rest }: TypographyProps) => React.JSX.Element;
export default Typography;