import React, { type ReactNode } from 'react';
/** ODS typography variants. Maps to the `.text-h1`…`.text-h6` utilities. */
export type TruncateTextVariant = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
/** ODS text tone. Maps to the `text-ods-text-*` colour utilities. */
export type TruncateTextTone = 'primary' | 'secondary';
export interface TruncateTextProps {
    children: string;
    /** Tooltip content; defaults to `children`. */
    tooltip?: ReactNode;
    /** Extra classes merged after the variant/tone defaults. */
    className?: string;
    side?: 'top' | 'right' | 'bottom' | 'left';
    /** Max visible lines. `1` uses `truncate` (single-line ellipsis); higher values use `line-clamp-N`. */
    lines?: 1 | 2 | 3 | 4 | 5 | 6;
    /** ODS typography token. Default: `'h4'` (body). */
    variant?: TruncateTextVariant;
    /** ODS text tone. Default: `'primary'`. */
    tone?: TruncateTextTone;
    /** Force the monospace (heading) font family — preserves the variant's size while swapping family. */
    mono?: boolean;
}
/**
 * Truncated text bound to the ODS typography system. Shows a `FloatingTooltip`
 * with the full value when (and only when) the content overflows.
 *
 * ```tsx
 * <TruncateText>{name}</TruncateText>                                // h4 / primary
 * <TruncateText variant="h6" tone="secondary">{email}</TruncateText> // caption
 * <TruncateText lines={3}>{description}</TruncateText>               // 3-line clamp
 * ```
 */
export declare function TruncateText({ children, tooltip, className, side, lines, variant, tone, mono, }: TruncateTextProps): React.JSX.Element;
//# sourceMappingURL=truncate-text.d.ts.map