import React, { ComponentProps, PureComponent } from 'react';
export interface ResizeReporterProps extends ComponentProps<'object'> {
    /** Report the init rendered size. Default false.  */
    reportInit?: boolean;
    /** Debounce time in millisecond. Default no debounce. */
    debounce?: number;
    /** Fires when width or height changes. */
    onSizeChanged?: (width: number, height: number, rect: DOMRect) => void;
    /** Fires only when width changes. */
    onWidthChanged?: (width: number, rect: DOMRect) => void;
    /** Fires only when height changes. */
    onHeightChanged?: (height: number, rect: DOMRect) => void;
}
/**
 * HTML <object> version of the resize reporter
 */
export declare class ResizeReporter extends PureComponent<ResizeReporterProps> {
    $container: HTMLObjectElement | null | undefined;
    lastWidth: number;
    lastHeight: number;
    _debounceTicket: number | null | undefined;
    onLoad: (e: React.SyntheticEvent<HTMLObjectElement, Event>) => void;
    checkSize: () => void;
    onResize: () => void;
    cleanUp: () => void;
    componentWillUnmount(): void;
    render(): JSX.Element;
}
export default ResizeReporter;
