import { Command } from "commander";
import { runApply } from "./apply.js";
import { runCheckLearningsBudget } from "./check-learnings-budget-cmd.js";
import { runCrossPollinate } from "./cross-pollinate-cmd.js";
import { runDoctor } from "./doctor.js";
import { runFileUpstream } from "./file-upstream-cmd.js";
import { runHealthCli } from "./health-cmd.js";
import { runKaneCli, runKanePilotCli, runKaneProbeCli } from "./kane-cmd.js";
import { printUpdateWarning } from "./print-update-warning.js";
import { runSetupProject } from "./setup-project.js";
import { runSetupWiki } from "./setup-wiki.js";
import { runStandardsProofCli } from "./standards-proof-cmd.js";
import { runSync } from "./sync-cmd.js";
import { runUi } from "./ui-cmd.js";
import { runUpdate } from "./update-cmd.js";
import { runUpdateCheck } from "./update-check.js";
import { runVersion } from "./version-cmd.js";
/**
 * Injectable collaborators for {@link createProgram}. Defaults wire the real
 * apply action and npm update-check; tests override them to observe the program
 * wiring without touching the registry or the orchestrator.
 */
export interface ProgramDependencies {
    /** Applies Lisa to a destination (defaults to the real {@link runApply}). */
    runApply: typeof runApply;
    /** Creates a starter-backed project and applies Lisa overlays. */
    runSetupProject: typeof runSetupProject;
    /** Prepares an existing project for embedded wiki setup. */
    runSetupWiki: typeof runSetupWiki;
    /** Prints Lisa CLI version metadata. */
    runVersion: typeof runVersion;
    /** Prints or runs the package-manager update command. */
    runUpdate: typeof runUpdate;
    /** Diagnoses Lisa project health. */
    runDoctor: typeof runDoctor;
    /** Cross-pollinates locally-authored agent definitions across the fleet. */
    runCrossPollinate: typeof runCrossPollinate;
    /** Populates and syncs `.lisa.config.json` with its mirrored artifacts. */
    runSync: typeof runSync;
    /** Serves the Lisa settings console (after a config sync). */
    runUi: typeof runUi;
    /** Checks the project learnings file against its hard budget. */
    runCheckLearningsBudget: typeof runCheckLearningsBudget;
    /** Projects a public upstream filing body from allowlisted fields. */
    runFileUpstream: typeof runFileUpstream;
    /** Runs and persists the shared Health v1 consumer. */
    runHealthCli: typeof runHealthCli;
    /** Runs every standards command and writes freshness-bound proof. */
    runStandardsProofCli: typeof runStandardsProofCli;
    /** Runs one policy-approved Kane empirical browser objective. */
    runKaneCli: typeof runKaneCli;
    /** Probes Kane installation, authentication, and Test Manager readiness. */
    runKaneProbeCli: typeof runKaneProbeCli;
    /** Executes or reports the controlled longitudinal Kane pilot. */
    runKanePilotCli: typeof runKanePilotCli;
    /** Runs the non-fatal npm update check (defaults to {@link runUpdateCheck}). */
    runUpdateCheck: typeof runUpdateCheck;
    /** Prints the update warning (defaults to {@link printUpdateWarning}). */
    printUpdateWarning: typeof printUpdateWarning;
}
/**
 * Create and configure the CLI program.
 *
 * The root program is subcommand-style: `apply` is the explicit subcommand and
 * also the default command, so the historical positional `lisa <dest>`
 * invocation keeps working. Both forms call the same apply action. A
 * `preAction` hook runs the npm update-check exactly once per invocation before
 * any action fires.
 * @param dependencies - Optional collaborator overrides for testing
 * @returns Configured Commander program
 */
export declare function createProgram(dependencies?: Partial<ProgramDependencies>): Command;
export { createPrompter } from "./prompts.js";
//# sourceMappingURL=index.d.ts.map