import { ScrollableInternalEmitter } from './Scrollable.const'; import { SCROLLBAR_TYPE } from '../Scrollbar/Scrollbar'; import { TResizeDetectorProps } from '../ResizeDetector/ResizeDetector'; import { THorizontalScrollbarProps } from '../Scrollbar/HorizontalScrollbar'; import { TVerticalScrollbarProps } from '../Scrollbar/VerticalScrollbar'; import { PartialKeys } from '@devexperts/utils/dist/object/object'; import { Component, ComponentClass, MouseEventHandler, ReactElement } from 'react'; export declare const SCROLLABLE: symbol; export declare type TFullScrollableProps = { children: ReactElement; ResizeDetector: ComponentClass; HorizontalScrollbar: ComponentClass; VerticalScrollbar: ComponentClass; theme: { scrollable?: string; withHorizontalScrollbar?: string; withVerticalScrollbar?: string; scrollbar?: string; container: string; wrapper?: string; content?: string; resizeDetector?: string; horizontal_scrollbar__bar?: string; vertical_scrollbar__bar?: string; overlayContent?: string; }; onUpdate?: (withHorizantal: boolean, withVertical: boolean) => void; onScroll?: (scrollLeft: number, scrollTop: number) => void; scrollTop?: number; scrollLeft?: number; shouldOverlayContent?: boolean; }; export declare type ScrollableState = { container?: HTMLDivElement | null; scrollable?: HTMLDivElement | null; }; export declare class RawScrollable extends Component { static childContextTypes: any; _withHorizontalScrollbar: boolean; _withVerticalScrollbar: boolean; _container: HTMLDivElement | null; _scrollable: HTMLDivElement | null; _emitter: ScrollableInternalEmitter; _horizontalScrollbar: HTMLDivElement | null; _verticalScrollbar: HTMLDivElement | null; readonly state: ScrollableState; getChildContext(): { [x: string]: ScrollableInternalEmitter | { width: number; height: number; }; size: { width: number; height: number; }; }; componentDidMount(): void; componentWillUnmount(): void; componentWillMount(): void; onScroll: MouseEventHandler; onScrollbarUpdate: (type: SCROLLBAR_TYPE, isVisible: boolean) => void; render(): JSX.Element; onResize: () => void; } export declare type TScrollableProps = PartialKeys; export declare const Scrollable: ComponentClass;