import { Component } from 'react'; export interface IClampLinesProps { text: string; lines?: number; ellipsis?: string; showPop?: boolean; popWidth?: number; trigger?: 'click' | 'hover' | 'focus'; renderPop?: (text: string) => React.ReactNode; resizable?: boolean; extra?: React.ReactNode; mode: 'performance' | 'correctness'; className?: string; } export interface IClampLinesState { holdsFullText: boolean; textSuited: string; } export declare class ClampLines extends Component { static defaultProps: Partial; element: HTMLDivElement | null; innerElement: import("react").RefObject; resizeObserver: ResizeObserver | null; containerWidth: number; constructor(props: IClampLinesProps); componentDidUpdate(prevProps: IClampLinesProps): void; componentDidMount(): void; componentWillUnmount(): void; handleWindowResize: () => void; handleContainerResize: ResizeObserverCallback; onContainerRefChange: (node: HTMLDivElement | null) => void; onNoClampContainerRefChange: (node: HTMLDivElement | null) => void; getResizeObserver(): ResizeObserver; observe(node: Element): void; clampLines(): void; private _clampLinesFast; private _clampLinesAccurate; getEllipsis(): string; renderResizable(): JSX.Element; renderClampedText(): JSX.Element; render(): JSX.Element; } export default ClampLines;