///
import * as React from 'react';
import { TogglerComponentProps } from '../Toggle';
import { IPopperProps } from 'react-popper';
export declare type RenderCallback = (args: Props) => React.ReactNode;
/** Popover Render Props */
export interface PopoverProps {
/** Is the popover open? */
isOpen: boolean;
/** Manually toggle the popover */
toggle: () => void;
/** Manually close the popover */
close: () => void;
/** Manually open the popover */
open: () => void;
}
export declare type PopoverTargetProps = PopoverProps & {
getTargetProps: (props?: any) => {
ref?: HTMLElement;
} & TogglerComponentProps;
};
export interface PopoverConfig {
/** Toggle component render prop (i.e. usually a button) */
target: (props: PopoverTargetProps) => React.ReactNode;
/** Fired after popover toggles */
onToggle?: (on: boolean) => void;
/** Popover placement */
placement?: IPopperProps['placement'];
children: React.ReactNode | ((props: PopoverProps) => React.ReactNode);
/** Is the popover open */
isOpen?: boolean;
}
export declare class Popover extends React.Component {
render(): JSX.Element;
}