import { type BackupResult } from "./backup"; import { type MergeWarning, type TomlTable } from "./config"; import { testMcpServer } from "./mcp"; import { getCodexPaths } from "./paths"; import { type CatalogEntry } from "./registry"; export interface OperationOptions { codexHome?: string; force?: boolean; now?: Date; } export interface InstallResult { paths: ReturnType; backup: BackupResult; configChanged: boolean; promptChanged: boolean; warnings: MergeWarning[]; } export interface UninstallResult { paths: ReturnType; backup: BackupResult; configChanged: boolean; promptRemoved: boolean; removedAgents: string[]; removedMcpServers: string[]; } export interface AddMcpResult { paths: ReturnType; backup: BackupResult; configChanged: boolean; warnings: MergeWarning[]; } export interface PromptListResult { promptsDir: string; promptPackDir: string; bundled: string[]; installed: string[]; interactiveBundled: string[]; interactiveInstalled: string[]; } export interface StatusResult { codexHome: string; configPath: string; promptsDir: string; promptPackDir: string; configExists: boolean; promptPackInstalled: boolean; interactivePromptCommandsInstalled: string[]; interactivePromptCommandsMissing: string[]; supercodexInstalled: boolean; managedAgents: string[]; managedMcpServers: string[]; overridePaths: string[]; defaultMode?: string; defaultPersona?: string; catalogVersion?: string; catalogInstalledIds: string[]; memoryEnabled: boolean; memoryPath: string; memoryMaxEntries: number; policyEnabled: boolean; policyStrictness: string; lockPath: string; lockEnforceInCi: boolean; } export interface SetDefaultResult { paths: ReturnType; backup: BackupResult; changed: boolean; } export interface SetSkillEnabledResult { paths: ReturnType; backup: BackupResult; changed: boolean; enabled: boolean; } export interface McpListResult { paths: ReturnType; servers: Array<{ name: string; transport: string; }>; } export interface McpRemoveResult { paths: ReturnType; backup: BackupResult; changed: boolean; removed: boolean; removedCatalogIds: string[]; } export interface McpCatalogInstallResult { paths: ReturnType; backup: BackupResult; configChanged: boolean; warnings: MergeWarning[]; serverName: string; catalogId: string; } export interface McpTestOperationResult { paths: ReturnType; exists: boolean; result: Awaited> | null; } export interface CatalogSyncResult { paths: ReturnType; backup: BackupResult; changed: boolean; } export interface SetTelemetrySettingsResult { paths: ReturnType; backup: BackupResult; changed: boolean; enabled: boolean; path: string; } export interface ValidateResult { valid: boolean; errors: string[]; } export declare function installSupercodex(options?: OperationOptions): Promise; export declare function uninstallSupercodex(options?: OperationOptions): Promise; export declare function addMcpServer(name: string, definition: TomlTable, options?: OperationOptions): Promise; export declare function listPromptPackStatus(codexHome?: string): Promise; export declare function getSupercodexStatus(codexHome?: string): Promise; export declare function setDefaultMode(mode: string, options?: OperationOptions): Promise; export declare function unsetDefaultMode(options?: OperationOptions): Promise; export declare function setDefaultPersona(persona: string, options?: OperationOptions): Promise; export declare function unsetDefaultPersona(options?: OperationOptions): Promise; export declare function setSkillEnabled(skillId: string, enabled: boolean, options?: OperationOptions): Promise; export declare function listConfiguredMcpServers(codexHome?: string): Promise; export declare function removeMcpServer(name: string, options?: OperationOptions): Promise; export declare function installMcpFromCatalog(entry: CatalogEntry, options?: OperationOptions): Promise; export declare function testMcpServerByName(name: string, options?: OperationOptions): Promise; export declare function syncCatalogMetadata(options?: OperationOptions): Promise; export declare function setTelemetrySettings(enabled: boolean, options?: OperationOptions & { path?: string; }): Promise; export declare function updateDoctorState(status: "ok" | "issues", options?: OperationOptions): Promise; export declare function validateSupercodexCommandSet(commandIds: string[]): ValidateResult; export declare function validateSupercodexCommandCount(commandIds: string[]): ValidateResult;