import { Command } from "commander";
import { z } from "zod";
declare const clients: readonly ["claude-code", "cursor", "vscode", "zed", "windsurf", "gemini-cli", "crush", "cline", "openai-codex", "opencode", "amp", "ruler"];
declare const scopes: readonly ["user", "project", "local"];
declare const InstallMcpCommandOptions: z.ZodObject<{
    projectRef: z.ZodOptional<z.ZodString>;
    tag: z.ZodDefault<z.ZodString>;
    devOnly: z.ZodOptional<z.ZodBoolean>;
    yolo: z.ZodDefault<z.ZodBoolean>;
    scope: z.ZodOptional<z.ZodEnum<["user", "project", "local"]>>;
    client: z.ZodOptional<z.ZodArray<z.ZodEnum<["claude-code", "cursor", "vscode", "zed", "windsurf", "gemini-cli", "crush", "cline", "openai-codex", "opencode", "amp", "ruler"]>, "many">>;
    logFile: z.ZodOptional<z.ZodString>;
    apiUrl: z.ZodOptional<z.ZodString>;
    logLevel: z.ZodDefault<z.ZodEnum<["debug", "info", "log", "warn", "error", "none"]>>;
}, "strip", z.ZodTypeAny, {
    logLevel: "error" | "log" | "debug" | "info" | "warn" | "none";
    tag: string;
    yolo: boolean;
    apiUrl?: string | undefined;
    scope?: "local" | "project" | "user" | undefined;
    projectRef?: string | undefined;
    client?: ("cursor" | "vscode" | "claude-code" | "zed" | "windsurf" | "gemini-cli" | "crush" | "cline" | "openai-codex" | "opencode" | "amp" | "ruler")[] | undefined;
    devOnly?: boolean | undefined;
    logFile?: string | undefined;
}, {
    logLevel?: "error" | "log" | "debug" | "info" | "warn" | "none" | undefined;
    apiUrl?: string | undefined;
    scope?: "local" | "project" | "user" | undefined;
    tag?: string | undefined;
    projectRef?: string | undefined;
    client?: ("cursor" | "vscode" | "claude-code" | "zed" | "windsurf" | "gemini-cli" | "crush" | "cline" | "openai-codex" | "opencode" | "amp" | "ruler")[] | undefined;
    devOnly?: boolean | undefined;
    yolo?: boolean | undefined;
    logFile?: string | undefined;
}>;
type InstallMcpCommandOptions = z.infer<typeof InstallMcpCommandOptions>;
export declare function configureInstallMcpCommand(program: Command): Command;
export declare function installMcpCommand(options: unknown): Promise<void | undefined>;
type InstallMcpServerResults = Array<InstallMcpServerResult>;
type InstallMcpServerResult = {
    configPath: string;
    clientName: (typeof clients)[number];
    scope: McpServerScope;
};
export declare function installMcpServer(options: InstallMcpCommandOptions): Promise<InstallMcpServerResults>;
type McpServerScope = {
    scope: (typeof scopes)[number];
    location: string;
};
export {};
