/** * [WHO]: EllipsisText — overflow-aware text with optional tooltip disclosure. * [FROM]: react, clsx, registry/basic/tooltip. * [TO]: sparkdesign package consumers; CLI `add ellipsis-text`; Showcase demos. * [HERE]: registry/basic/ellipsis-text.tsx — canonical source for copied and packaged EllipsisText. * * [PROTOCOL]: * 1. Keep this P3 header in sync when the public contract changes. * 2. Update module AGENTS.md (P2) and root AGENTS.md (P1) when boundaries change. * 3. Follow design tokens and explicit type exports. */ import { type ReactNode, type CSSProperties } from 'react'; export interface EllipsisTextProps { /** Text or inline content to display. */ children: ReactNode; /** * Maximum visible lines before truncation. * @default 1 */ lines?: number; /** Extra className for the text node. */ className?: string; /** * Tooltip placement when overflow is detected. * @default 'top' */ placement?: 'top' | 'bottom' | 'left' | 'right'; /** Extra className for Tooltip content. */ tooltipClassName?: string; /** Custom tooltip content. Defaults to children. */ tooltipContent?: ReactNode; /** * Disable tooltip even when content overflows. * @default false */ disabled?: boolean; /** Inline style for the text node. */ style?: CSSProperties; /** * Rendered text element. * @default 'span' */ as?: 'span' | 'div' | 'p'; } export declare const EllipsisText: import("react").ForwardRefExoticComponent>;