import { type PanelKeybindings } from "./panel-keys.ts"; import type { McpConfig, McpPanelCallbacks, McpPanelResult, ServerProvenance } from "./types.ts"; import type { MetadataCache } from "./metadata-cache.ts"; declare class McpPanel { private callbacks; private done; private noticeLines; private prefix; private servers; private cursorIndex; private nameQuery; private descSearchActive; private descQuery; private dirty; private confirmingDiscard; private discardSelected; private importNotice; private authNotice; private authInFlight; private inactivityTimeout; private visibleItems; private tui; private t; private authOnly; private keys; private static readonly MAX_VISIBLE; private static readonly INACTIVITY_MS; constructor(config: McpConfig, cache: MetadataCache | null, provenance: Map, callbacks: McpPanelCallbacks, tui: { requestRender(): void; }, done: (result: McpPanelResult) => void, options?: { noticeLines?: string[]; authOnly?: boolean; keybindings?: PanelKeybindings; }); private resetInactivityTimeout; private cleanup; private rebuildVisibleItems; private updateDirty; private buildResult; handleInput(data: string): void; private authenticateSelectedServer; private authenticateServer; private reconnectServer; private toggleItem; private handleDiscardInput; private moveCursor; private rebuildServerTools; render(width: number): string[]; private renderServerRow; private selectedServerHasFailureMessage; private wrapText; private renderConnectionStatus; private renderToolRow; invalidate(): void; dispose(): void; } export declare function createMcpPanel(config: McpConfig, cache: MetadataCache | null, provenance: Map, callbacks: McpPanelCallbacks, tui: { requestRender(): void; }, done: (result: McpPanelResult) => void, options?: { noticeLines?: string[]; authOnly?: boolean; keybindings?: PanelKeybindings; }): McpPanel & { dispose(): void; }; export {};