import { BaseClientManager } from './base.js';
import type { ClientOptions } from '../utils/types.js';
/**
 * Claude Code configuration scope options.
 *
 * - `user`: stored in `~/.claude.json`, available across all projects.
 * - `project`: stored in `.mcp.json` at a project root, shared via version control.
 */
export type ClaudeCodeScope = 'user' | 'project';
/**
 * Extended client options for Claude Code that include scope selection.
 */
export interface ClaudeCodeClientOptions extends ClientOptions {
    scope?: ClaudeCodeScope;
    workspaceFolder?: string;
}
/**
 * Client manager implementation for Claude Code (the Anthropic CLI).
 *
 * Supports both user-scoped configuration (`~/.claude.json`) and
 * project-scoped configuration (`.mcp.json` at a project root). Both scopes
 * use the standard `mcpServers` key, so the base merge logic is reused.
 *
 * @see {@link https://claude.ai/download | Claude Code}
 */
export declare class ClaudeCodeClientManager extends BaseClientManager {
    private selectedScope;
    private selectedWorkspaceFolder?;
    constructor();
    /**
     * Returns the path to the Claude Code configuration file for the selected scope.
     *
     * - User scope resolves to `~/.claude.json` (home directory always exists).
     * - Project scope resolves to `<workspaceFolder>/.mcp.json`.
     *
     * @returns The absolute path to the configuration file.
     */
    getConfigPath(): string;
    /**
     * Prompts the user to select between user and project scope.
     *
     * @returns Promise resolving to the selected scope.
     */
    private promptForScope;
    /**
     * Prompts the user for the project folder path.
     *
     * @returns Promise resolving to the validated project folder path.
     */
    private promptForProjectFolder;
    /**
     * Configures Claude Code, prompting for scope (user vs project) when not
     * supplied. Once the scope and path are resolved, delegates to the base
     * implementation, which merges the Auth0 server into the `mcpServers` key.
     *
     * @param options - Client configuration options.
     */
    configure(options: ClaudeCodeClientOptions): Promise<void>;
}
