import * as React from 'react'; import { IUniversalInterfaceProps } from '../typing'; export declare type TMargin = [number, number, number, number]; export declare type TRect = [number, number, number, number]; export declare const getElRect: (el: any) => [number, number, number, number]; export declare const getRootRect: ([top, right, bottom, left]: [number, number, number, number]) => [number, number, number, number]; export interface IViewportScrollSensorProps extends IUniversalInterfaceProps { margin?: TMargin; threshold?: number; throttle?: number; poll?: number; onChange?: (state: IViewportScrollSensorState) => void; } export interface IViewportScrollSensorState { visible: boolean; } export declare class ViewportScrollSensor extends React.Component { static defaultProps: any; mounted: boolean; el: HTMLElement; pollTimer: any; state: IViewportScrollSensorState; ref: (originalRef: any) => (el: any) => void; componentDidMount(): void; componentWillUnmount(): void; poll: () => void; onCalculation(visible: any, rectRoot: TRect, rectEl: TRect, rectIntersection: TRect): void; onScroll: any; render(): React.SFCElement<{ ref: (el: any) => void; }>; }