import React from 'react'; import { MDCMenuSurfaceFoundation } from '@material/menu-surface/foundation'; import { MDCMenuSurfaceAdapter } from '@material/menu-surface/adapter'; import { Corner } from '@material/menu-surface/index'; export interface MenuSurfaceProps extends React.HTMLProps { anchorElement?: HTMLElement; anchorCorner?: number; anchorMargin?: { top?: number; left?: number; bottom?: number; right?: number; }; styles?: React.CSSProperties; coordinates?: { x: number; y: number; }; onClose?: () => void; onOpen?: () => void; onMount?: (isMounted: boolean) => void; quickOpen?: boolean; open?: boolean; fixed?: boolean; } export interface MenuSurfaceState { transformOrigin: string; maxHeight?: string; styleLeft?: number; styleRight?: number; styleTop?: number; styleBottom?: number; classList: Set; mounted: boolean; } declare class MenuSurface extends React.Component { menuSurfaceElement: React.RefObject; previousFocus: HTMLElement | null; foundation: MDCMenuSurfaceFoundation; handleWindowClick?: (e: MouseEvent) => void; registerWindowClickListener?: () => void; deregisterWindowClickListener?: () => void; firstFocusableElement: HTMLElement | null; lastFocusableElement: HTMLElement | null; state: MenuSurfaceState; static defaultProps: Partial; componentDidMount(): void; componentDidUpdate(prevProps: MenuSurfaceProps, prevState: MenuSurfaceState): void; componentWillUnmount(): void; private setCoordinates; readonly classes: string; readonly styles: React.CSSProperties; readonly adapter: MDCMenuSurfaceAdapter; open_: () => void; handleKeydown: (evt: React.KeyboardEvent) => void; private handleOpen; private handleClose; render(): React.ReactPortal | null; } export default MenuSurface; export { Corner };