import { ViewProps } from "@vnxjs/components/types/View";
import * as React from "react";
import { CSSProperties, ReactNode } from "react";
import { EnterHandler, ExitHandler } from "react-transition-group/Transition";
import { PopupPlacement } from "./popup.shared";
export interface PopupProps extends ViewProps {
    style?: CSSProperties;
    defaultOpen?: boolean;
    open?: boolean;
    placement?: PopupPlacement;
    rounded?: boolean;
    children?: ReactNode;
    duration?: number;
    mountOnEnter?: boolean;
    transaction?: string;
    transactionTimeout?: number | {
        appear?: number;
        enter?: number;
        exit?: number;
    };
    transitionAppear?: boolean;
    onClose?(opened: boolean): void;
    onTransitionEnter?: EnterHandler<HTMLElement>;
    onTransitionEntered?: EnterHandler<HTMLElement>;
    onTransitionExited?: ExitHandler<HTMLElement>;
}
declare const Popup: React.ForwardRefExoticComponent<Pick<PopupProps, "className" | "hoverClass" | "hoverStyle" | "hoverStopPropagation" | "hoverStartTime" | "hoverStayTime" | "id" | "style" | "key" | "hidden" | "animation" | "dangerouslySetInnerHTML" | "onTouchStart" | "onTouchMove" | "onTouchCancel" | "onTouchEnd" | "onClick" | "onLongPress" | "onLongClick" | "onTransitionEnd" | "onAnimationStart" | "onAnimationIteration" | "onAnimationEnd" | "onTouchForceChange" | "children" | "catchMove" | "open" | "rounded" | "mountOnEnter" | "defaultOpen" | "duration" | "onClose" | "placement" | "transaction" | "transactionTimeout" | "transitionAppear" | "onTransitionEnter" | "onTransitionEntered" | "onTransitionExited"> & React.RefAttributes<any>>;
export default Popup;
