/**
 * Pure builder for the MCP server's system-tray menu.
 *
 * Extracted from index.ts so the enable/disable-Settings-UI state machine is
 * unit-testable in isolation (index.ts itself is the stdio entry point and not
 * importable without side effects). The invariants this encodes:
 *
 *   • the toggle item reads "Enable Settings UI" when the UI is OFF and
 *     "Disable Settings UI" when it is ON, with a stable id ("enable"/"disable")
 *     the click handler switches on;
 *   • "Open Settings" appears ONLY when the UI is enabled AND has a live URL
 *     (the UI-005/UI-007 fix — never offer to open a dead/empty URL);
 *   • pending/active agent badges appear only when non-zero.
 */
import type { TrayItem } from "./tray.js";
export interface TrayMenuState {
    version: string;
    connected: boolean;
    account: string;
    pendingCount: number;
    activeCount: number;
    settingsEnabled: boolean;
    settingsUrl: string;
}
export declare function buildSettingsTrayMenu(s: TrayMenuState): {
    items: TrayItem[];
    tooltip: string;
};
//# sourceMappingURL=tray-menu.d.ts.map