import * as React from 'react'; import * as PropTypes from 'prop-types'; import { OverlayProps as ReakitOverlayProps } from 'reakit/ts'; import { AnimateProps, Placement, RestrictHideProps } from '../types'; import { OverlayContainerProps } from './OverlayContainer'; import { OverlayHideProps } from './OverlayHide'; export declare type LocalOverlayProps = { children: React.ReactNode; className?: string; /** Whether or not to show the overlay component */ isVisible?: boolean; placement?: Placement; }; export declare type OverlayProps = LocalOverlayProps & AnimateProps & RestrictHideProps & ReakitOverlayProps; export declare type OverlayComponents = { Container: React.FunctionComponent; Hide: React.FunctionComponent; Show: any; Toggle: any; }; export declare const Overlay: React.FunctionComponent & OverlayComponents; export declare const overlayPropTypes: { hideOnEsc: PropTypes.Requireable; hideOnClickOutside: PropTypes.Requireable; delay: PropTypes.Requireable; duration: PropTypes.Requireable; expand: PropTypes.Validator; fade: PropTypes.Requireable; slide: PropTypes.Validator; timing: PropTypes.Requireable; children: PropTypes.Validator; className: PropTypes.Requireable; isVisible: PropTypes.Requireable; placement: PropTypes.Validator; }; export declare const overlayDefaultProps: { hideOnEsc: boolean; hideOnClickOutside: any; delay: any; duration: string; expand: any; fade: boolean; slide: boolean; timing: any; className: any; isVisible: boolean; placement: any; }; declare const C: React.FunctionComponent & OverlayComponents; export default C;