import { TabModel } from "@genexus/chameleon-controls-library"; export declare class GxIdePluginDetails { #private; el: HTMLGxIdePluginDetailsElement; docsTabModel: TabModel; selectedTabId: string; /** * Specifies all the information related to a plugin. */ readonly data: PluginDetailsData; /** * Callback that should be invoked when the user performs the install or update action. * Receives an optional version string when a specific version is selected. */ readonly installCallback: (version?: string) => Promise; /** * Callback that should be invoked when the user attempts to open any link displayed in this component. */ readonly openLinkCallback: (url: string) => Promise; /** * Callback that should be invoked when the user performs the uninstall action. */ readonly uninstallCallback: () => Promise; componentWillLoad(): Promise; componentDidLoad(): void; render(): any; } export type LinkData = { text: string; url: string; }; export type PluginFieldData = { name?: string; value: string | LinkData; }; export type PluginInfoCategoryData = { name: string; fields: PluginFieldData[]; displayAsTags: boolean; }; export type DocSectionData = { name: string; content: string; }; export type PluginDetailsData = { id: string; name: string | LinkData; publisher: string | LinkData; installed: boolean; updateVersion?: string; versions: string[]; iconUrl: string; description: string; docSections: DocSectionData[]; infoCategories: PluginInfoCategoryData[]; };