import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
import { extractPersonaNames } from "../lib/frontmatter-parser.js";
export { extractPersonaNames };
import { checkMaterialization, type MaterializationCheck } from "../lib/manifest-checker.js";
export { checkMaterialization, type MaterializationCheck };
export type ArgMode = "empty" | "file" | "text";
export interface ParsedArgs {
    mode: ArgMode;
    taskRef: string;
    sourceLabel: string;
}
export declare function parseReviewPlanArgs(rawArgs: string, cwd: string): ParsedArgs;
export interface ComposeKickoffOpts {
    workflowMd: string;
    personaIdentity: string;
    parsed: ParsedArgs;
    /** Revision loop context block (FORGE-S26-T11). Injected before the workflow body. */
    reviewLoopContext?: string;
}
export declare function composeKickoff(opts: ComposeKickoffOpts): string;
/**
 * Build the `### Review Loop Context` block for user-invoked (non-orchestrated)
 * review-plan calls. Matches the T07 graceful-fallback spec:
 * "iteration 1 of M" where M is config.maxReviewIterations (default 3).
 */
export declare function buildReviewLoopContext(maxIterations: number): string;
/**
 * Read maxReviewIterations from .forge/config.json. Returns default 3 on any
 * error (missing file, missing field, non-integer value).
 */
export declare function readMaxReviewIterations(cwd: string): number;
export interface RegisterReviewPlanOptions {
    cwd?: string;
}
export declare function registerReviewPlan(pi: ExtensionAPI, options?: RegisterReviewPlanOptions): void;
