import * as React from 'react';
import { CssValue } from '@platform/css';
export declare type IMeasureSizeStyle = {
    width?: number;
    fontFamily?: string;
    fontSize?: string | number;
    fontWeight?: string | number;
    fontStyle?: string;
    lineHeight?: string | number;
    letterSpacing?: string | number;
};
export declare type IMeasureSizeProps = IMeasureSizeStyle & {
    content?: React.ReactNode;
    style?: CssValue;
};
export declare class MeasureSize extends React.PureComponent<IMeasureSizeProps> {
    static create: (props: IMeasureSizeStyle) => {
        props: IMeasureSizeStyle;
        size: (content: React.ReactNode) => {
            width: number;
            height: number;
        };
    };
    static measure(props: IMeasureSizeProps): {
        width: number;
        height: number;
    };
    private el;
    componentDidMount(): void;
    get width(): number;
    get height(): number;
    get size(): {
        width: number;
        height: number;
    };
    render(): JSX.Element;
}
