/*!
 * Copyright 2018 by ChartIQ, Inc.
 * All rights reserved.
 *
 */
import React from "react";
interface IProps {
    app: any;
    folder: any;
}
interface IState {
    isVisible: boolean;
}
/**
 * Displays a list of actions like 'View info', 'Add to favorite'
 * etc on each app in the list
 */
export default class AppActionsMenu extends React.Component<IProps, IState> {
    menuRef: HTMLDivElement | null;
    constructor(props: IProps);
    componentDidMount(): void;
    componentWillUnmount(): void;
    toggleMenu(e?: React.MouseEvent<HTMLElement>): void;
    /**
     * Opens app catalog and switches to the page when you see all
     * the details about the app
     */
    onViewInfo(): void;
    /**
     * Calls the storeActions.removeAppFromFolder to remove
     * an app from the currently selected folder
     */
    onRemove(): void;
    setMenuRef(node: HTMLDivElement): void;
    /**
     * This event handler is responsible for closing action menu pop ups when the user clicks outside of the pop up (what we might think of as a blur event).
     * The event is triggered by a document level click handler (via portals). When we receive the event, we determine whether the user was clicking inside
     * or outside of our action menu. If inside the menu then we do nothing (the click event will be captured and handled by react) but if the event occurred
     * outside of the action menu then we set its state to invisible.
     *
     * To determine whether we've clicked inside of the action menu we traverse the parent elements looking for a clue (a parent element that contains the class "actions-menu").
     *
     * Note: this event will fire multiple times for every click - once for each action menu on the page.
     * @param {Event} e
     */
    handleClickOutside(e: any): void;
    handleWindowBlurred(): void;
    /**
     * Calls storeActions.deleteApp() to delete an app
     * from all folders and from apps list
     */
    deleteApp(): void;
    renderList(): React.JSX.Element;
    render(): React.JSX.Element;
}
export {};
//# sourceMappingURL=AppActionsMenu.d.ts.map