import { type DiscordCatalogCheckReport } from "./catalog.js"; import { type ConfigRecipeName } from "./config-recipes.js"; import { CONNECTOR_NAME, CONNECTOR_NPM_PACKAGE, CONNECTOR_VERSION } from "./constants.js"; import { type MigrationAuditFidelity, type MigrationDisposition, type MigrationSourceId } from "./migration-manifests.js"; import { type McpToolName } from "./observability-catalog.js"; import { type SetupPresetName } from "./setup-presets.js"; export declare const MIGRATION_CATALOG_FORMAT = "guildcontrol.migration-catalog.v1"; export declare const MIGRATION_PLAN_FORMAT = "guildcontrol.migration-plan.v1"; export declare const MIGRATION_REPORT_SCHEMA_VERSION = 1; export declare const MIGRATION_DIGEST_PATTERN: RegExp; export interface MigrationExecutionDisclosure { readonly activityRecordsCreated: false; readonly configurationRead: false; readonly credentialsRead: false; readonly discordContacted: false; readonly hostConfigurationRead: false; readonly networkContacted: false; readonly policyChanged: false; readonly processStarted: false; readonly sourceInspected: false; readonly sourceOrHostChanged: false; } export interface MigrationOutcomeMapping { readonly disposition: MigrationDisposition; readonly id: string; readonly instruction: string; readonly outcome: string; readonly recipes: readonly ConfigRecipeName[]; readonly sourceTools: readonly string[]; readonly targetTools: readonly McpToolName[]; readonly trustChange: string; } export interface MigrationSourceSummary { readonly auditFidelity: MigrationAuditFidelity; readonly baselinePreset: SetupPresetName; readonly dispositionToolCounts: Record; readonly evidenceUrl: string; readonly id: MigrationSourceId; readonly limitations: readonly string[]; readonly mappingCount: number; readonly manifestDigest: string; readonly product: string; readonly registryName: string; readonly registryUrl: string; readonly sourceInventoryDigest: string; readonly sourceToolCount: number; readonly version: string; } export interface MigrationCatalogReport { readonly catalogDigest: string; readonly execution: MigrationExecutionDisclosure; readonly format: typeof MIGRATION_CATALOG_FORMAT; readonly schemaVersion: typeof MIGRATION_REPORT_SCHEMA_VERSION; readonly sources: readonly MigrationSourceSummary[]; readonly status: "ok"; } export interface MigrationPlanStep { readonly commands: readonly string[]; readonly completion: string; readonly id: string; readonly title: string; } export interface MigrationPlanReport { readonly argumentsTranslated: false; readonly catalogDigest: string; readonly configurationImported: false; readonly execution: MigrationExecutionDisclosure; readonly format: typeof MIGRATION_PLAN_FORMAT; readonly hostSettingsChanged: false; readonly limitations: readonly string[]; readonly mappings: readonly MigrationOutcomeMapping[]; readonly planDigest: string; readonly schemaVersion: typeof MIGRATION_REPORT_SCHEMA_VERSION; readonly source: MigrationSourceSummary; readonly status: "planned"; readonly steps: readonly MigrationPlanStep[]; readonly summary: { readonly dispositionToolCounts: Record; readonly mappingCount: number; readonly sourceToolCount: number; readonly targetRecipeCount: number; readonly targetToolCount: number; }; readonly target: { readonly catalogContractDigest: string; readonly name: typeof CONNECTOR_NAME; readonly package: typeof CONNECTOR_NPM_PACKAGE; readonly preset: SetupPresetName; readonly version: typeof CONNECTOR_VERSION; }; } export interface MigrationPlannerOptions { checkCatalog?: () => Promise; } export declare function createMigrationCatalog(): MigrationCatalogReport; export declare function normalizeMigrationSourceId(value: string): MigrationSourceId; export declare function createMigrationPlan(sourceValue: string, options?: MigrationPlannerOptions): Promise; export declare function verifyMigrationPlan(plan: MigrationPlanReport): boolean; //# sourceMappingURL=migration-planner.d.ts.map