import React from 'react';
import { AnimationEventProps, StandardProps, TypeAttributes } from '../@types/common';
export declare type OverlayTriggerTrigger = 'click' | 'hover' | 'focus' | 'active' | 'none';
export interface OverlayTriggerProps extends StandardProps, AnimationEventProps {
    /** Triggering events */
    trigger?: OverlayTriggerTrigger | OverlayTriggerTrigger[];
    /** Display placement */
    placement?: TypeAttributes.Placement;
    /** Delay time */
    delay?: number;
    /** Open delay time */
    delayOpen?: number;
    /** Close delay time */
    delayClose?: number;
    /** Sets the rendering container */
    container?: HTMLElement | (() => HTMLElement);
    /** Container padding */
    containerPadding?: number;
    /** display element */
    speaker?: React.ReactElement | ((props: any, ref: React.RefObject<any>) => React.ReactElement);
    /** Prevent floating element overflow */
    preventOverflow?: boolean;
    /** Opern  overlay */
    open?: boolean;
    /** The overlay is open by default */
    defaultOpen?: boolean;
    /** Whether mouse is allowed to enter the floating layer of popover, whose default value is false. */
    enterable?: boolean;
    /** For the monitored component, the event will be bound to this component. */
    children?: React.ReactElement | ((props: any, ref: any) => React.ReactElement);
    /** Whether to allow clicking document to close the overlay */
    rootClose?: boolean;
    /** Once disabled, the event cannot be triggered. */
    disabled?: boolean;
    /** Render the control as plain text */
    plaintext?: boolean;
    /** Make the control readonly */
    readOnly?: boolean;
    /**  Set the `id` on `<Overlay>` and `aria-describedby` on `<OverlayTrigger>` */
    controlId?: string;
    /** Lose Focus callback function */
    onBlur?: () => void;
    /** Click on the callback function */
    onClick?: () => void;
    /** Callback function to get focus */
    onFocus?: () => void;
    /** Mouse leave callback function */
    onMouseOut?: () => void;
    /** Mouse over callback function */
    onMouseOver?: () => void;
    /** Callback fired when open component */
    onOpen?: () => void;
    /** Callback fired when close component */
    onClose?: () => void;
}
export interface OverlayTriggerInstance {
    root: Element;
    updatePosition?: () => void;
    open?: () => void;
    close?: () => void;
}
declare const OverlayTrigger: React.ForwardRefExoticComponent<OverlayTriggerProps & React.RefAttributes<unknown>>;
export default OverlayTrigger;
