/**
 * Bash shim generator for olam-flywheel backwards-compat layer.
 *
 * Generates deterministic bash shims that translate the positional-arg
 * invocation chain skills currently use (e.g.
 *   `bash ~/.claude/scripts/emit-breadcrumb.sh "plan-hard" "<plan-slug>" ...`)
 * into the new named-flag CLI:
 *   `olam flywheel emit-breadcrumb --skill plan-hard --plan <plan-slug> ...`
 *
 * Each shim:
 *   1. Hardens PATH (adds common olam install locations).
 *   2. Checks olam is reachable; exits 127 with actionable message if not.
 *   3. Translates positional args to named flags per the script's spec.
 *   4. exec's the olam CLI (passes signal handling + exit code through).
 *
 * Plan reference: docs/plans/olam-flywheel-cli-namespace/phase-a-tasks.md § A14
 * Closes part of K1 OQ21a (positional → named-flag translation in shims).
 */
export interface ShimArg {
    /** Positional index (1-based, matching bash `$1`, `$2`, …). */
    position: number;
    /** Flag name (e.g. `skill` → `--skill`). */
    flag: string;
    /** Required positional → `"$N"`; optional positional → `${N:+--flag "$N"}`. */
    required: boolean;
}
export interface ShimSpec {
    /** Basename of the shim file under ~/.claude/scripts/. */
    basename: string;
    /** Subcommand under olam to exec (e.g. "flywheel emit-breadcrumb"). */
    olamSubcommand: string;
    /** Minimum positional arg count required (rejected with usage message if fewer). */
    minPositional: number;
    /** Argument translation table (positional → named flag). */
    args: ShimArg[];
    /** Inline usage string for the "Usage:" stderr message. */
    usage: string;
}
/**
 * Registry of shim specs. Only includes scripts that chain skill prose
 * actively invokes via bash (the others are Python imports, no bash shim
 * needed). Extend this as more chain-skill invocation sites are migrated.
 */
export declare const SHIM_SPECS: readonly ShimSpec[];
/**
 * Generate the bash shim source for a given spec. Deterministic output —
 * same input always produces the same bytes (golden-fixture-friendly).
 */
export declare function generateShim(spec: ShimSpec): string;
export declare function lookupShimSpec(basename: string): ShimSpec | undefined;
//# sourceMappingURL=shim-generator.d.ts.map