import React, { Component } from 'react'; export interface ShowMoreProps { children: React.ReactChild; ellipsisText?: string; className?: string; ellipsisClassName?: string; lines?: number; width?: number; title?: string; expandable?: boolean; onAfterChange?: () => void; onAfterMounted?: () => void; } interface ShowMoreStates { isTruncated: boolean; hiddenTextElement: boolean; previewText: string; hiddenText: string; } export default class ShowMore extends Component { static defaultProps: { children: string; ellipsisText: string; lines: number; width: number; expandable: boolean; }; prefixCls: string; targetElement: HTMLSpanElement | null; textElement: HTMLSpanElement | null; setTargetElement: (el: HTMLSpanElement) => HTMLSpanElement; setChildrenElement: (el: HTMLSpanElement) => HTMLSpanElement; canvasContext: CanvasRenderingContext2D; timer: any; targetWidth: number; constructor(props: ShowMoreProps); componentDidMount(): void; componentDidUpdate(prevProps: ShowMoreProps): void; componentWillUnmount(): void; setHiddenTextStatus: () => void; delayCalculate(): void; onChange: () => void; innerText: (node: HTMLSpanElement) => string; calcTargetWidth: (callback?: () => void) => void; measureWidth: (text: string) => number; getLines: (targetWidth: number) => { lines: any[]; hiddenLineStr: string; }; renderLine: (line: React.ReactChild, i: number, arr: React.ReactChild[]) => JSX.Element | JSX.Element[]; setRenderText: (callback: () => void, isHidden?: boolean) => void; render(): JSX.Element; } export {};