/** * Base class for config generators. * Provides common functionality for all app-specific generators. */ import type { ConfigGenerator, AppMetadata, LooseServerConfigType } from "@getmcp/core"; declare global { namespace NodeJS { interface Process { getBuiltinModule?(id: string): Record | undefined; } } } declare let _existsSync: (p: string) => boolean; export { _existsSync as safeExistsSync }; export declare const home: string; export declare const configHome: string; export declare const appData: string; export declare const localAppData: string; export declare const claudeHome: string; export declare const codexHome: string; export declare const INVALID_CONFIG_ERROR = "Invalid config: must have either 'command' or 'url'"; export declare abstract class BaseGenerator implements ConfigGenerator { abstract app: AppMetadata; /** Root key for the generated config object. Override in subclasses. */ protected rootKey: string; /** * Transform a stdio config into the app-specific format. * Override in subclasses to customize field mappings. */ protected transformStdio(config: LooseServerConfigType): Record; /** * Transform a remote config into the app-specific format. * Override in subclasses to customize field mappings. */ protected transformRemote(config: LooseServerConfigType): Record; generate(serverName: string, config: LooseServerConfigType): Record; generateAll(servers: Record): Record; serialize(config: Record): string; detectInstalled(): boolean; } export declare function deepMerge(target: Record, source: Record): Record; /** * Extract a clean stdio config from a LooseServerConfig. * Strips transport field and undefined values. */ export declare function toStdioFields(config: LooseServerConfigType): Record; /** * Extract a clean remote config from a LooseServerConfig. * Strips undefined values. */ export declare function toRemoteFields(config: LooseServerConfigType): Record; //# sourceMappingURL=base.d.ts.map