import * as React from 'react'; import ResizeObserver from 'resize-observer-polyfill'; interface ResizeObserverProps { children: React.ReactNode; disabled?: boolean; /** Trigger if element resized. Will always trigger when first time render. */ onResize?: (size: { width: number; height: number; }) => void; } interface ResizeObserverState { height: number; width: number; } declare type RefNode = React.ReactInstance | HTMLElement | null; declare class ReactResizeObserver extends React.Component<ResizeObserverProps, ResizeObserverState> { static displayName: string; resizeObserver: ResizeObserver | null; childNode: RefNode; currentElement: Element | null; state: { width: number; height: number; }; componentDidMount(): void; componentDidUpdate(): void; componentWillUnmount(): void; onComponentUpdated(): void; onResize: ResizeObserverCallback; setChildNode: (node: RefNode) => void; destroyObserver(): void; render(): React.ReactElement<any, string | ((props: any) => React.ReactElement<any, string | any | (new (props: any) => React.Component<any, any, any>)> | null) | (new (props: any) => React.Component<any, any, any>)> | React.ReactElement<unknown, string | ((props: any) => React.ReactElement<any, string | any | (new (props: any) => React.Component<any, any, any>)> | null) | (new (props: any) => React.Component<any, any, any>)>[] | null; } export default ReactResizeObserver;