import type { NobjcObject } from "objc-js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSString } from "../Foundation/NSString.js";
export interface _NSUserInterfaceItemSearching {
    /**
     * Search for items matching the provided search string and return them by calling the matched items block, passing an array of items to append to the help menu. The framework does not care what these items are. They are just used to identify particular search results to other methods in this protocol. Do not assume that this will be called from the main UI thread. When searchForItemsWithSearchString gets called again, the client should cancel any previous searches in progress for better performance. If not Spotlight for Help will ignore the older results. resultLimit is the maximum number of results that Spotlight for Help will process. Any results returned beyond this limit will be ignored, but for performance reasons it is better to not exceed it. The handleMatchedItems block can be invoked from any thread desired. If it is called more than once the additional results will be appended after previous items until the maximum is reached.
     */
    searchForItemsWithSearchString$resultLimit$matchedItemHandler$?(searchString: _NSString, resultLimit: number, handleMatchedItems: (items: _NSArray) => void): void;
    /**
     * return an array of strings (localized for display in the menu) that will be combined with separators to form the menu item title
     */
    localizedTitlesForItem$?(item: NobjcObject): _NSArray;
    /**
     * Called when the user selects a search result in Help menu. For example, the default implementation brings up Help Viewer for a Help item.
     */
    performActionForItem$?(item: NobjcObject): void;
    /**
     * If this method is implemented, a "Show All Help Topics" item will appear in the menu and this method is called when the user selects it. The application should show all its results for this search, which does not include results for Menu Items. The string for "Show All Help Topics" is system defined and localized and cannot be changed by the user.
     */
    showAllHelpTopicsForSearchString$?(searchString: _NSString): void;
}
