import { TreeViewModel } from "@genexus/chameleon-controls-library"; export declare class GxIdeSearch { #private; el: HTMLGxIdeSearchElement; /** * Holds the search results as a TreeViewModel */ searchResultModel: TreeViewModel; /** * Tracks if a search has been performed */ hasSearched: boolean; /** * Tracks if a search is currently in progress */ isSearching: boolean; /** * Indicates whether a Knowledge Base is currently open */ readonly isKbOpen: boolean; valueChangeHandler(newValue: boolean): void; /** * Callback to fetch search results */ readonly searchCallback: (searchParams: SearchParamsData) => Promise; /** * Callback invoked when a search result item is double-clicked */ readonly itemDoubleClickCallback?: ItemDoubleClickCallback; /** * Method to show or hide the settings panel, can be called from the outside to control the visibility of the settings */ showSettings(_show: boolean): Promise; componentWillLoad(): Promise; render(): any; } export type SearchResultData = { objectId: string; objectName: string; objectTypeName: string; objectTypeId: string; objectModuleName: string; objectUri: string; objectIcon: string; content: string; preview: string; }; export type SearchParamsData = { moduleGuid?: string; objectTypeName?: string; text: string; tags?: string; count?: number; onlyTitles: boolean; includeSubModules: boolean; allBranches: boolean; forLLM: boolean; }; export type ItemDoubleClickCallback = (itemId: string) => Promise; export type SearchCallback = (searchParams: SearchParamsData) => Promise;