import { McpServerStatus, McpStartResult, McpStopResult } from "./types"; export declare class GxIdeMcpServer { #private; el: HTMLGxIdeMcpServerElement; actionInProgress: boolean; errorMessage: string | undefined; copying: boolean; /** * When `true` the component shows a loader instead of content. * The host sets this to `false` once the initial status is known. */ initialLoading: boolean; /** * Current MCP server status. The host is responsible for keeping * this prop up to date (e.g. via polling or event-driven updates). * The component only mutates it internally during start/stop * transitions (`starting`, `stopping`, result states). */ status: McpServerStatus; /** * Port the MCP server is listening on (shown when running). */ serverPort: number | undefined; /** * Full endpoint URL (shown when running). */ serverEndpoint: string | undefined; /** * Callback to start the MCP server. Returns result with connection info. */ readonly startCallback: StartCallback; /** * Callback to stop the MCP server. */ readonly stopCallback: StopCallback; /** * Callback to copy text to the clipboard. Delegated to the IDE clipboard * service so the host environment controls the copy behavior. */ readonly copyCallback: CopyCallback; /** * Callback to close/dismiss the dialog. */ readonly closeCallback: CloseCallback; componentWillLoad(): Promise; /** * Suspends or reactivates the shortcuts. */ suspendShortcuts(suspendShortcuts: boolean): Promise; render(): any; } export type StartCallback = () => Promise; export type StopCallback = () => Promise; export type CopyCallback = (text: string) => void; export type CloseCallback = () => void;