/**
 * MCP Client Detector for Telemetry
 *
 * Detects which MCP client is running the server by examining environment variables,
 * process arguments, and parent process information. Used for telemetry and debugging.
 *
 * Issue #1358: MCP client detection for enhanced telemetry
 */
export type MCPClientType = 'claude-desktop' | 'claude-code' | 'vscode' | 'unknown';
/**
 * Detect which MCP client is running the server
 *
 * Detection heuristics (in priority order):
 * 1. Environment variables (most reliable)
 * 2. Process arguments
 * 3. Process metadata (execPath and title)
 * 4. TERM_PROGRAM environment variable
 * 5. Unknown (fallback)
 *
 * @returns The detected MCP client type
 *
 * @example
 * ```typescript
 * const client = detectMCPClient();
 * console.log(`Running in: ${client}`);
 * // Output: "Running in: claude-code"
 * ```
 */
export declare function detectMCPClient(): MCPClientType;
/**
 * Get detailed client detection information for debugging
 *
 * @returns Object containing detected client and relevant environment info
 *
 * @example
 * ```typescript
 * const info = getClientDetectionInfo();
 * console.log(info);
 * // {
 * //   client: 'claude-code',
 * //   termProgram: 'claude-code',
 * //   hasVscodeEnv: false,
 * //   hasClaudeDesktopEnv: false
 * // }
 * ```
 */
export declare function getClientDetectionInfo(): {
    client: MCPClientType;
    termProgram?: string;
    hasVscodeEnv: boolean;
    hasClaudeDesktopEnv: boolean;
    hasClaudeCodeEnv: boolean;
    processTitle?: string;
    execPath?: string;
};
/**
 * Check if running in a specific MCP client
 *
 * @param client - The client type to check for
 * @returns True if running in the specified client
 *
 * @example
 * ```typescript
 * if (isRunningInClient('claude-code')) {
 *   console.log('Running in Claude Code');
 * }
 * ```
 */
export declare function isRunningInClient(client: MCPClientType): boolean;
//# sourceMappingURL=clientDetector.d.ts.map