import * as React from 'react'; import * as PropTypes from 'prop-types'; import { PopoverProps as ReakitPopoverProps } from 'reakit/ts/Popover/Popover'; import { Omit } from '../types'; import { PopoverContainerProps, PopoverContainerRenderProps } from './PopoverContainer'; import { PopoverCloseProps } from './PopoverClose'; import { LocalPopoverPopoverProps, PopoverPopoverProps } from './PopoverPopover'; import { PopoverShowProps } from './PopoverShow'; import { PopoverHideProps } from './PopoverHide'; import { PopoverToggleProps } from './PopoverToggle'; export declare type LocalPopoverProps = LocalPopoverPopoverProps & { children: React.ReactNode | (({ use, ...args }: PopoverContainerRenderProps & { use: React.ReactElement; }) => React.ReactNode); className?: string; content: string | React.ReactElement | (({ initialFocusRef, ...args }: { initialFocusRef?: React.RefObject; } & PopoverContainerRenderProps) => React.ReactNode); isFullWidth?: boolean; /** Displays a cross button in the top right corner of the popover content. */ showCloseButton?: boolean; }; export declare type PopoverProps = Omit & LocalPopoverProps; export declare type PopoverComponents = { Popover: React.FunctionComponent; Container: React.FunctionComponent; Close: React.FunctionComponent; Hide: React.FunctionComponent; Show: React.FunctionComponent; Toggle: React.FunctionComponent; }; export declare const Popover: React.FunctionComponent & PopoverComponents; export declare const popoverPropTypes: { className: PropTypes.Requireable; children: PropTypes.Validator React.ReactElement React.Component)>) | (new (props: any) => React.Component)> | React.ReactNodeArray | React.ReactPortal | (string & {}) | (string & React.ReactElement React.ReactElement React.Component)>) | (new (props: any) => React.Component)>) | (string & React.ReactNodeArray) | (string & React.ReactPortal) | (number & {}) | (number & React.ReactElement React.ReactElement React.Component)>) | (new (props: any) => React.Component)>) | (number & React.ReactNodeArray) | (number & React.ReactPortal) | (React.ReactElement React.ReactElement React.Component)>) | (new (props: any) => React.Component)> & string) | (React.ReactElement React.ReactElement React.Component)>) | (new (props: any) => React.Component)> & number) | (React.ReactElement React.ReactElement React.Component)>) | (new (props: any) => React.Component)> & false) | (React.ReactElement React.ReactElement React.Component)>) | (new (props: any) => React.Component)> & true) | (React.ReactElement React.ReactElement React.Component)>) | (new (props: any) => React.Component)> & React.ReactNodeArray) | (React.ReactElement React.ReactElement React.Component)>) | (new (props: any) => React.Component)> & React.ReactPortal) | (false & {}) | (false & React.ReactElement React.ReactElement React.Component)>) | (new (props: any) => React.Component)>) | (false & React.ReactNodeArray) | (false & React.ReactPortal) | (true & {}) | (true & React.ReactElement React.ReactElement React.Component)>) | (new (props: any) => React.Component)>) | (true & React.ReactNodeArray) | (true & React.ReactPortal) | ({} & string) | ({} & number) | ({} & false) | ({} & true) | (React.ReactNodeArray & string) | (React.ReactNodeArray & number) | (React.ReactNodeArray & false) | (React.ReactNodeArray & true) | (React.ReactNodeArray & React.ReactElement React.ReactElement React.Component)>) | (new (props: any) => React.Component)>) | (React.ReactNodeArray & React.ReactPortal) | (React.ReactPortal & string) | (React.ReactPortal & number) | (React.ReactPortal & false) | (React.ReactPortal & true) | (React.ReactPortal & React.ReactElement React.ReactElement React.Component)>) | (new (props: any) => React.Component)>) | (React.ReactPortal & React.ReactNodeArray) | (({ initialFocusRef }: { initialFocusRef?: React.RefObject; }) => React.ReactNode) | ((({ initialFocusRef }: { initialFocusRef?: React.RefObject; }) => React.ReactNode) & string) | ((({ initialFocusRef }: { initialFocusRef?: React.RefObject; }) => React.ReactNode) & number) | ((({ initialFocusRef }: { initialFocusRef?: React.RefObject; }) => React.ReactNode) & false) | ((({ initialFocusRef }: { initialFocusRef?: React.RefObject; }) => React.ReactNode) & true) | ((({ initialFocusRef }: { initialFocusRef?: React.RefObject; }) => React.ReactNode) & React.ReactElement React.ReactElement React.Component)>) | (new (props: any) => React.Component)>) | ((({ initialFocusRef }: { initialFocusRef?: React.RefObject; }) => React.ReactNode) & React.ReactNodeArray) | ((({ initialFocusRef }: { initialFocusRef?: React.RefObject; }) => React.ReactNode) & React.ReactPortal) | (({ use, ...args }: PopoverContainerRenderProps & { use: React.ReactElement React.ReactElement React.Component)>) | (new (props: any) => React.Component)>; }) => React.ReactNode) | (string & (({ use, ...args }: PopoverContainerRenderProps & { use: React.ReactElement React.ReactElement React.Component)>) | (new (props: any) => React.Component)>; }) => React.ReactNode)) | (number & (({ use, ...args }: PopoverContainerRenderProps & { use: React.ReactElement React.ReactElement React.Component)>) | (new (props: any) => React.Component)>; }) => React.ReactNode)) | (false & (({ use, ...args }: PopoverContainerRenderProps & { use: React.ReactElement React.ReactElement React.Component)>) | (new (props: any) => React.Component)>; }) => React.ReactNode)) | (true & (({ use, ...args }: PopoverContainerRenderProps & { use: React.ReactElement React.ReactElement React.Component)>) | (new (props: any) => React.Component)>; }) => React.ReactNode)) | (React.ReactElement React.ReactElement React.Component)>) | (new (props: any) => React.Component)> & (({ use, ...args }: PopoverContainerRenderProps & { use: React.ReactElement React.ReactElement React.Component)>) | (new (props: any) => React.Component)>; }) => React.ReactNode)) | (React.ReactNodeArray & (({ use, ...args }: PopoverContainerRenderProps & { use: React.ReactElement React.ReactElement React.Component)>) | (new (props: any) => React.Component)>; }) => React.ReactNode)) | (React.ReactPortal & (({ use, ...args }: PopoverContainerRenderProps & { use: React.ReactElement React.ReactElement React.Component)>) | (new (props: any) => React.Component)>; }) => React.ReactNode)) | ((({ initialFocusRef }: { initialFocusRef?: React.RefObject; }) => React.ReactNode) & (({ use, ...args }: PopoverContainerRenderProps & { use: React.ReactElement React.ReactElement React.Component)>) | (new (props: any) => React.Component)>; }) => React.ReactNode))>; content: PropTypes.Validator React.ReactElement React.Component)>) | (new (props: any) => React.Component)> | (({ initialFocusRef, ...args }: { initialFocusRef?: React.RefObject; } & PopoverContainerRenderProps) => React.ReactNode)>; isFullWidth: PropTypes.Requireable; showCloseButton: PropTypes.Requireable; hideOnEsc: PropTypes.Requireable; hideOnClickOutside: PropTypes.Requireable; delay: PropTypes.Requireable; duration: PropTypes.Requireable; expand: PropTypes.Validator; fade: PropTypes.Requireable; slide: PropTypes.Validator; timing: PropTypes.Requireable; isVisible: PropTypes.Requireable; flip: PropTypes.Requireable; gutter: PropTypes.Requireable; placement: PropTypes.Validator; shift: PropTypes.Requireable; trapFocus: PropTypes.Requireable; }; export declare const popoverDefaultProps: { children: any; className: any; isFullWidth: boolean; showCloseButton: boolean; isVisible?: boolean; flip?: boolean; gutter?: string | number; placement?: import("../types").Placement; shift?: boolean; trapFocus?: boolean; delay?: string; duration?: string; expand?: boolean | "left" | "right" | "top" | "bottom" | "center"; fade?: boolean; slide?: boolean | "left" | "right" | "top" | "bottom"; timing?: string; hideOnEsc?: boolean; hideOnClickOutside?: boolean; }; declare const C: React.FunctionComponent & PopoverComponents; export default C;