import type { CliCommand } from '../../types/cli.js';
export interface LicenseActivationResult {
    key: string;
    customerEmail: string;
    variantName: string;
}
interface McpEntry {
    command: string;
    args: string[];
    env?: Record<string, string>;
}
interface StandardMcpConfig {
    mcpServers?: Record<string, McpEntry>;
}
interface ZedCommandFormat {
    path: string;
    args: string[];
    env?: Record<string, string>;
}
interface ZedContextServer {
    command?: ZedCommandFormat;
    env?: Record<string, string>;
}
interface ZedConfig {
    context_servers?: Record<string, ZedContextServer>;
}
type ToolConfig = StandardMcpConfig | ZedConfig;
interface ToolDefinition {
    name: string;
    userScopePath: string;
    projectScopePath: string | null;
    format: 'standard' | 'zed';
}
declare function buildMcpEntry(licenseKey?: string): McpEntry;
declare function readJsonFile(filePath: string): ToolConfig;
declare function hasPlanuEntry(config: ToolConfig, format: ToolDefinition['format']): boolean;
declare function writeStandardEntry(filePath: string, entry: McpEntry): void;
declare function writeZedEntry(filePath: string, entry: McpEntry): void;
declare function removeEntry(filePath: string, format: ToolDefinition['format']): void;
/**
 * Prompt the user for a license key and activate it.
 * Returns the activation result or null if the user skips.
 * In CI/headless mode (SDD_OWNER_TOKEN already set), returns a synthetic result immediately.
 */
export declare function promptLicense(): Promise<LicenseActivationResult | null>;
export { buildMcpEntry, readJsonFile, hasPlanuEntry, writeStandardEntry, writeZedEntry, removeEntry, };
export declare const installCommand: CliCommand;
//# sourceMappingURL=install.d.ts.map