import type { DefinitionSchemaCreator } from '#src/schema/index.js'; export interface PluginMigrationResult { updatedConfig?: unknown; updateProjectDefinition?: (draft: unknown) => void; } export interface PluginConfigMigration { version: number; name: string; /** * The function to migrate the plugin config and optionally update the project definition. * * @param config - The plugin config to migrate * @param projectDefinition - The project definition (read-only) * @returns Migration result with optional config and project definition updates */ migrate: (config: unknown, projectDefinition: unknown) => PluginMigrationResult; } /** * Spec for adding config for the plugin in the core plugin e.g. * { * "plugins": [{ * "id": "...", * "config": { * ...PluginConfig schema * } * }] * } */ export declare const pluginConfigSpec: import("./types.js").PluginSpec<{ schemas: import("@baseplate-dev/utils").MapContainer; migrations: import("@baseplate-dev/utils").MapContainer; }, { getAllSchemaCreators: () => Map; getSchemaCreator: (pluginKey: string) => DefinitionSchemaCreator | undefined; getMigrations: (pluginKey: string) => PluginConfigMigration[] | undefined; getLastMigrationVersion: (pluginKey: string) => number | undefined; }>; //# sourceMappingURL=config-spec.d.ts.map