import type { ReactNode } from "react"; import React from "react"; import type { TypographyOptions, TypographyProps } from "../Typography"; type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6; export interface HeadingProps { /** * Adds a unique identifier to the heading. * Useful when the heading needs to be referenced by another element. * Not intended for styling. */ readonly id?: string; /** * @default 5 */ readonly level: HeadingLevel; readonly children: ReactNode; /** * Allows overriding of the element rendered. Defaults to the heading specified with level. */ readonly element?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "p" | "span"; /** * The maximum amount of lines the text can occupy before being truncated with "...". * Uses predefined string values that correspond to a doubling scale for the amount of lines. */ readonly maxLines?: "single" | "small" | "base" | "large" | "larger" | "unlimited"; /** * **Use at your own risk:** Custom classNames for specific elements. This should only be used as a * **last resort**. Using this may result in unexpected side effects. * More information in the [Customizing components Guide](https://atlantis.getjobber.com/guides/customizing-components). */ readonly UNSAFE_className?: TypographyProps["UNSAFE_className"]; /** * **Use at your own risk:** Custom styles for specific elements. This should only be used as a * **last resort**. Using this may result in unexpected side effects. * More information in the [Customizing components Guide](https://atlantis.getjobber.com/guides/customizing-components). */ readonly UNSAFE_style?: TypographyProps["UNSAFE_style"]; } export type LevelMap = Record; export declare function Heading({ id, level, children, element, maxLines, UNSAFE_className, UNSAFE_style, }: HeadingProps): React.JSX.Element; export {};