import React from "react";
import { FolderAppType, FolderType } from "../../../../../types/advancedAppLauncherTypes";
import { IconDescriptor } from "../../../../../../platform/services/window/types";
type App = FolderAppType & {
    title?: string;
    icon?: IconDescriptor;
    source?: string;
    canDelete?: boolean;
};
interface IProps {
    folder: FolderType;
    app: App;
    clearSearchText: () => void;
    deleteApp: (appName: string) => Promise<void> | void;
    removeApp: (folderName: string, appName: string) => void;
    allApps: App[];
    addTag: (tag: string) => void;
}
interface IState {
}
/**
 * Used to make sure that a user is not waiting for component
 * to spawn after a double click, helps us prevent multiple
 * spawns for the same app.
 */
export default class AppDefinition extends React.Component<IProps, IState> {
    constructor(props: IProps);
    /**
     * Native HTML5 drag and drop
     **/
    onDragToFolder(event: React.DragEvent): void;
    /**
     * Spawns a component on click
     * @param {object} e The Synthetic React event
     *
     */
    onItemClick(): Promise<void>;
    render(): React.JSX.Element;
}
export {};
//# sourceMappingURL=AppDefinition.d.ts.map