import * as React from 'react'; export interface ScrollProviderProps { onScroll: React.ReactEventHandler; } export interface ScrollProviderState { scrollTop?: number; scrollLeft?: number; offsetHeight?: number; offsetWidth?: number; } declare const withScrollProvider: (Component: React.ComponentType) => { new (props: Readonly): { ref: React.RefObject; state: ScrollProviderState; updateScrollState: (scrollTop: number, scrollLeft: number, offsetHeight: number, offsetWidth: number) => void; handleScroll: (event: React.SyntheticEvent) => void; render(): JSX.Element; context: any; setState(state: ScrollProviderState | ((prevState: Readonly, props: Readonly) => ScrollProviderState | Pick) | Pick, callback?: () => void): void; forceUpdate(callBack?: () => void): void; readonly props: Readonly<{ children?: React.ReactNode; }> & Readonly; refs: { [key: string]: React.ReactInstance; }; componentDidMount?(): void; shouldComponentUpdate?(nextProps: Readonly, nextState: Readonly, nextContext: any): boolean; componentWillUnmount?(): void; componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly, prevState: Readonly): any; componentDidUpdate?(prevProps: Readonly, prevState: Readonly, snapshot?: any): void; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly, nextContext: any): void; componentWillUpdate?(nextProps: Readonly, nextState: Readonly, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly, nextState: Readonly, nextContext: any): void; }; new (props: ComponentProps, context?: any): { ref: React.RefObject; state: ScrollProviderState; updateScrollState: (scrollTop: number, scrollLeft: number, offsetHeight: number, offsetWidth: number) => void; handleScroll: (event: React.SyntheticEvent) => void; render(): JSX.Element; context: any; setState(state: ScrollProviderState | ((prevState: Readonly, props: Readonly) => ScrollProviderState | Pick) | Pick, callback?: () => void): void; forceUpdate(callBack?: () => void): void; readonly props: Readonly<{ children?: React.ReactNode; }> & Readonly; refs: { [key: string]: React.ReactInstance; }; componentDidMount?(): void; shouldComponentUpdate?(nextProps: Readonly, nextState: Readonly, nextContext: any): boolean; componentWillUnmount?(): void; componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly, prevState: Readonly): any; componentDidUpdate?(prevProps: Readonly, prevState: Readonly, snapshot?: any): void; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly, nextContext: any): void; componentWillUpdate?(nextProps: Readonly, nextState: Readonly, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly, nextState: Readonly, nextContext: any): void; }; contextType?: React.Context; }; export default withScrollProvider;