import * as React from 'react'; export interface IViewportParams { placeholder: React.ReactElement; } export declare type TViewport =

(Comp: React.StatelessComponent

| React.ComponentClass

, params: IViewportParams) => React.ComponentClass

; export declare const viewport: (Comp: any, { placeholder }?: { placeholder?: React.DetailedReactHTMLElement<{ style: { width: number; height: number; overflow: string; }; }, HTMLElement>; }) => { new (props: Readonly): { onChange: () => void; render(): React.DetailedReactHTMLElement, HTMLInputElement> | React.SFCElement; setState(state: any, callback?: () => void): void; forceUpdate(callBack?: () => void): void; readonly props: Readonly<{ children?: React.ReactNode; }> & Readonly; state: Readonly; context: any; 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: any, context?: any): { onChange: () => void; render(): React.DetailedReactHTMLElement, HTMLInputElement> | React.SFCElement; setState(state: any, callback?: () => void): void; forceUpdate(callBack?: () => void): void; readonly props: Readonly<{ children?: React.ReactNode; }> & Readonly; state: Readonly; context: any; 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; }; };