import * as React from 'react'; import { StandardProps } from '..'; import { PaperProps } from '../Paper'; import { ModalProps, ModalClassKey } from '../Modal'; import { TransitionHandlerProps, TransitionProps } from '../transitions/transition'; export interface PopoverOrigin { horizontal: 'left' | 'center' | 'right' | number; vertical: 'top' | 'center' | 'bottom' | number; } export interface PopoverPosition { top: number; left: number; } export type PopoverReference = 'anchorEl' | 'anchorPosition'; export interface PopoverProps extends StandardProps, PopoverClassKey, 'children'> { action?: (actions: PopoverActions) => void; anchorEl?: HTMLElement; anchorOrigin?: PopoverOrigin; anchorPosition?: PopoverPosition; anchorReference?: PopoverReference; children?: React.ReactNode; elevation?: number; getContentAnchorEl?: (element: HTMLElement) => HTMLElement; marginThreshold?: number; modal?: boolean; PaperProps?: Partial; role?: string; transformOrigin?: PopoverOrigin; transition?: React.ReactType; transitionDuration?: TransitionProps['timeout'] | 'auto'; } export type PopoverClassKey = ModalClassKey | 'paper'; export interface PopoverActions { updatePosition(): void; } declare const Popover: React.ComponentType; export default Popover;