import { Component, ReactElement, CSSProperties } from 'react'; interface ChildrenProps { position: 'top' | 'bottom'; } interface Props { children: ((props: ChildrenProps) => ReactElement) | ReactElement; target: HTMLElement; position: 'top' | 'bottom'; alignment: 'left' | 'center' | 'right'; offset: { x: number; y: number; }; className?: string; classNames?: { enter?: string; enterActive?: string; exit?: string; exitActive?: string; }; style?: CSSProperties; styles?: { enter?: CSSProperties; enterActive?: CSSProperties; exit?: CSSProperties; exitActive?: CSSProperties; }; timeout: number | { enter: number; exit: number; }; onClickOutside?: () => void; } interface State { childStyle?: CSSProperties; childrenWidth: number; childrenHeight: number; position: 'top' | 'bottom'; } declare class DropPortal extends Component { childContainer: HTMLDivElement | null; scrollableParents: HTMLElement[]; static defaultProps: { position: string; alignment: string; timeout: number; offset: { x: number; y: number; }; }; constructor(props: Props); componentDidMount(): void; componentWillUnmount(): void; setChildContainer(ref: HTMLDivElement | null): void; handleClick(event: MouseEvent): void; portalDidUpdate(): void; updatePositionStyle(): void; render(): JSX.Element; } export default DropPortal;