import type { Migration, MigrationContext, MigrationResult } from "./migration.interface.js";
/**
 * Migration: when a project carries a local LLM Wiki (`wiki/lisa-wiki.config.json`
 * exists) but its `.lisa.config.json` does not declare `wiki.source`, write the
 * explicit default pointer `wiki.source.path = <wikiRoot>` (the path the wiki's
 * own config reports, default `wiki`).
 *
 * Resolving the wiki is implicit local mode without this — the declaration just
 * makes "this project has a wiki here" self-documenting in the project config,
 * and is the consumer-side hook the remote-wiki story builds on. Idempotent:
 * skips when `wiki.source` already exists, preserves all other config keys and
 * any sibling `wiki` keys. Creates `.lisa.config.json` if absent (the project is
 * already Lisa-managed by virtue of carrying a lisa-wiki).
 */
export declare class EnsureWikiSourceDeclaredMigration implements Migration {
    readonly name = "ensure-wiki-source-declared";
    readonly description = "Declare wiki.source.path in .lisa.config.json when the project has a local wiki";
    /**
     * Gather the config + wiki root, or null when the project has no local wiki.
     * @param projectDir - Destination project directory
     * @returns Resolved state, or null when there is no local lisa-wiki
     */
    private readState;
    /**
     * Applies when a local wiki exists and `wiki.source` is not yet declared.
     * @param ctx - Migration context
     * @returns True when there is work to do
     */
    applies(ctx: MigrationContext): Promise<boolean>;
    /**
     * Write `wiki.source.path` into `.lisa.config.json`, preserving existing keys.
     * @param ctx - Migration context
     * @returns Result describing the action taken
     */
    apply(ctx: MigrationContext): Promise<MigrationResult>;
}
//# sourceMappingURL=ensure-wiki-source-declared.d.ts.map