/**
 * CapabilityGenesisEngine — orchestrates existing creators to produce a
 * draft Capability Pack from a free-form brief.
 *
 * Story 1.5 — OpenLife v1.3 Agent OS Integration.
 *
 * Reuse-first contract (Rafa-locked decision, 2026-05-12):
 *   1. Call AssetReuseRouter.find(brief) — if existing asset covers the
 *      brief, the pack references it (`source: 'referenced'`) instead of
 *      creating a duplicate.
 *   2. Only when no reusable asset is found does Genesis call the
 *      relevant creator (SkillCreator, SquadCreator) and embed the new
 *      asset under the pack directory (`source: 'embedded'`).
 *
 * Never auto-promotes. Always produces a `status: 'draft'` pack. Caller
 * (CLI handler or operator) is responsible for promote → tested → active
 * via CapabilityPackStateStore.
 *
 * Brain integration: when called with a Brain instance, Genesis asks for
 * a structured proposal (which skills/squads/workflows the pack should
 * contain). When Brain is omitted (test/offline mode), Genesis falls back
 * to a heuristic that produces a single-skill pack from the brief.
 */
import { CapabilityPack } from './CapabilityPackSchema';
import { CapabilityPackStateStore } from './CapabilityPackState';
import { AssetReuseRouter } from '../AssetReuseRouter';
import { SkillCreator } from '../SkillCreator';
import { SquadCreator } from '../SquadCreator';
export interface GenesisBrief {
    /** Free-form description of what the capability should accomplish. */
    description: string;
    /** Stable id for the resulting pack. Defaults to slugified description. */
    packId?: string;
    /** Human-readable name. Defaults to title-cased packId. */
    packName?: string;
    /** Authoring level — drives how aggressive Genesis is about creating new assets. */
    mode?: 'quick' | 'professional' | 'elite';
    /** Optional explicit list of skills/squads the brief expects. */
    hints?: {
        skills?: string[];
        squads?: string[];
        workflows?: string[];
    };
    /** Actor recorded in the lifecycle ledger. */
    actor: string;
}
export interface GenesisResult {
    ok: true;
    packId: string;
    packDir: string;
    manifestPath: string;
    pack: CapabilityPack;
    reusedAssets: string[];
    createdAssets: string[];
}
export interface GenesisError {
    ok: false;
    error: string;
    detail?: string;
}
export interface CapabilityGenesisEngineOptions {
    catalogRoot?: string;
    skillCreator?: SkillCreator;
    squadCreator?: SquadCreator;
    assetReuseRouter?: AssetReuseRouter;
    stateStore?: CapabilityPackStateStore;
}
export declare class CapabilityGenesisEngine {
    private readonly catalogRoot;
    private readonly skillCreator;
    private readonly squadCreator;
    private readonly assetReuseRouter;
    private readonly stateStore;
    constructor(opts?: CapabilityGenesisEngineOptions);
    generate(brief: GenesisBrief): GenesisResult | GenesisError;
    private skillStub;
    private squadStub;
    private agentStub;
    private checklistStub;
    private governancePolicyStub;
    private workflowStub;
    private renderIndexMd;
}
