import * as PropTypes from "prop-types";
import * as React from "react";
export interface Props {
    className?: string;
    text: string;
    showMoreLabel?: string;
    showLessLabel?: string;
    showTooltip?: boolean;
    lines?: number;
    maxCharsShown?: number;
    useRichText?: boolean;
    name?: string;
}
/**
 * Truncate long text
 * Comes with read more/less toggle
 */
export default class TextTruncate extends React.PureComponent<Props> {
    static propTypes: {
        className: PropTypes.Requireable<string>;
        text: PropTypes.Validator<string>;
        showMoreLabel: PropTypes.Requireable<string>;
        showLessLabel: PropTypes.Requireable<string>;
        showTooltip: PropTypes.Requireable<boolean>;
        lines: PropTypes.Requireable<number>;
        maxCharsShown: PropTypes.Requireable<number>;
        useRichText: PropTypes.Requireable<boolean>;
        name: PropTypes.Requireable<string>;
    };
    static defaultProps: {
        maxCharsShown: number;
        showMoreLabel: string;
        showLessLabel: string;
        showTooltip: boolean;
        useRichText: boolean;
    };
    state: {
        truncated: boolean;
    };
    toggleTruncation: (event: any) => void;
    truncate(text: any): any;
    render(): JSX.Element;
}
