import React, { type MouseEvent } from 'react'; import PropTypes from 'prop-types'; import type { AlignType, BalloonProps, BalloonV1Props, BalloonV2Props, BalloonState } from './types'; declare class Balloon extends React.Component { readonly props: BalloonV1Props & BalloonV2Props; static displayName: string; static contextTypes: { prefix: PropTypes.Requireable; }; static propTypes: { prefix: PropTypes.Requireable; pure: PropTypes.Requireable; rtl: PropTypes.Requireable; className: PropTypes.Requireable; style: PropTypes.Requireable; children: PropTypes.Requireable; size: PropTypes.Requireable; type: PropTypes.Requireable; title: PropTypes.Requireable; visible: PropTypes.Requireable; defaultVisible: PropTypes.Requireable; onVisibleChange: PropTypes.Requireable<(...args: any[]) => any>; alignEdge: PropTypes.Requireable; v2: PropTypes.Requireable; arrowPointToCenter: PropTypes.Requireable; placementOffset: PropTypes.Requireable; closable: PropTypes.Requireable; align: PropTypes.Requireable; offset: PropTypes.Requireable; trigger: PropTypes.Requireable; triggerType: PropTypes.Requireable>; onClick: PropTypes.Requireable<(...args: any[]) => any>; onClose: PropTypes.Requireable<(...args: any[]) => any>; onHover: PropTypes.Requireable<(...args: any[]) => any>; autoAdjust: PropTypes.Requireable; needAdjust: PropTypes.Requireable; delay: PropTypes.Requireable; mouseEnterDelay: PropTypes.Requireable; mouseLeaveDelay: PropTypes.Requireable; afterClose: PropTypes.Requireable<(...args: any[]) => any>; shouldUpdatePosition: PropTypes.Requireable; autoFocus: PropTypes.Requireable; safeNode: PropTypes.Requireable; safeId: PropTypes.Requireable; animation: PropTypes.Requireable>; cache: PropTypes.Requireable; popupContainer: PropTypes.Requireable; container: PropTypes.Requireable; popupStyle: PropTypes.Requireable; popupClassName: PropTypes.Requireable; popupProps: PropTypes.Requireable; followTrigger: PropTypes.Requireable; id: PropTypes.Requireable; }; static defaultProps: { prefix: string; pure: boolean; type: string; closable: boolean; defaultVisible: boolean; size: string; alignEdge: boolean; arrowPointToCenter: boolean; align: string; offset: number[]; trigger: React.JSX.Element; onClose: () => void; afterClose: () => void; onVisibleChange: () => void; needAdjust: boolean; triggerType: string; safeNode: undefined; safeId: null; autoFocus: boolean; animation: { in: string; out: string; }; cache: boolean; popupStyle: {}; popupClassName: string; popupProps: {}; }; constructor(props: BalloonProps); static getDerivedStateFromProps(nextProps: BalloonProps, prevState: BalloonState): BalloonState; _onVisibleChange(visible: boolean, trigger: string): void; _onClose(e: MouseEvent): void; _onPosition(res: { align?: string[]; config: { placement: string; points: string; }; style?: CSSCounterStyleRule; }): void; beforePosition: (result: { config: { placement: AlignType; }; style: { left: number; top: number; }; }, obj: { target: { width: number; height: number; }; }) => { config: { placement: AlignType; }; style: { left: number; top: number; }; }; render(): React.JSX.Element; } declare const _default: typeof Balloon; export default _default;