import React, { Component, ReactNode } from 'react'; import type { DebouncedFunc } from 'lodash-es'; interface Props { position: 'left' | 'right' | 'top' | 'bottom'; zIndex: number; fluid: boolean; size?: number; defaultSize: number; dimMode: 'none' | 'transparent' | 'opaque'; isVisible?: boolean; onVisibleChange?: (isVisible: boolean) => void; onSizeChange?: (size: number) => void; dimStyle?: React.CSSProperties | null; dockStyle?: React.CSSProperties | null; dockHiddenStyle?: React.CSSProperties | null; duration: number; children?: React.FunctionComponent<{ position: 'left' | 'right' | 'top' | 'bottom'; isResizing: boolean | undefined; size: number; isVisible: boolean | undefined; }> | ReactNode; } interface State { isControlled: boolean; size: number; isDimHidden: boolean; fullWidth: number; fullHeight: number; isTransitionStarted: boolean; isWindowResizing: unknown; isResizing?: boolean; } export default class Dock extends Component { state: State; static defaultProps: { position: string; zIndex: number; fluid: boolean; defaultSize: number; dimMode: string; duration: number; }; componentDidMount(): void; componentWillUnmount(): void; UNSAFE_componentWillReceiveProps(nextProps: Props): void; updateSize(props: Props): void; componentDidUpdate(prevProps: Props): void; transitionEnd: () => void; hideDim: () => void; render(): React.JSX.Element; handleDimClick: () => void; handleResize: () => void; updateWindowSize: (windowResize?: true) => void; updateWindowSizeEnd: () => void; debouncedUpdateWindowSizeEnd: DebouncedFunc<() => void>; handleWrapperLeave: () => void; handleMouseDown: () => void; handleMouseUp: () => void; handleMouseMove: (e: MouseEvent | TouchEvent) => void; } export {};