/**
 * AgentCreator — authoring system for standalone agents under `.catalog/agents/`.
 *
 * Story 5.5 — OpenLife v1.8 (M5 of Hit-10 sprint).
 *
 * Replaces the 6-line placeholder previously inlined in
 * `aiobuilder create-agent` with a real authoring pipeline that produces
 * an AGENT.md with complete frontmatter + structured sections (Goal,
 * Commands, Dependencies, Persona, Guardrails). Mirrors SkillCreator
 * (single-file output) rather than SquadCreator (multi-file directory),
 * since standalone agents live as one AGENT.md inside their own directory.
 *
 * Methods:
 *   - create(proposal)   — render full AGENT.md from a proposal
 *   - validate(id)       — semantic frontmatter + cross-ref check
 *   - list(filter?)      — direct read of `.catalog/agents/`
 *   - analyze(id)        — surface missing/orphan references
 */
export interface AgentCommand {
    name: string;
    description: string;
}
export interface AgentProposal {
    id: string;
    name: string;
    role: string;
    domain?: string;
    expertise?: string[];
    primarySkills?: string[];
    parentSquad?: string;
    persona?: string;
    identity?: string;
    style?: string;
    focus?: string;
    whenToUse?: string;
    commands?: AgentCommand[];
    dependencies?: string[];
    guardrails?: string[];
    version?: string;
    status?: 'active' | 'draft' | 'archived';
    source?: string;
}
export interface AgentCreateResult {
    ok: true;
    agentId: string;
    agentDir: string;
    filePath: string;
}
export interface AgentCreateError {
    ok: false;
    error: string;
    detail?: string;
}
export interface AgentValidationResult {
    ok: boolean;
    agentId: string;
    errors: string[];
    warnings: string[];
}
export interface AgentAnalysisResult {
    agentId: string;
    hasPersona: boolean;
    commandCount: number;
    skillReferences: number;
    orphanSkills: string[];
    squadReference: string | null;
    squadExists: boolean | null;
    suggestions: string[];
}
export interface AgentCreatorOptions {
    catalogRoot?: string;
    skillsCatalogRoot?: string;
    squadsCatalogRoot?: string;
}
export declare class AgentCreator {
    private readonly catalogRoot;
    private readonly skillsCatalogRoot;
    private readonly squadsCatalogRoot;
    constructor(opts?: AgentCreatorOptions);
    create(proposal: AgentProposal): AgentCreateResult | AgentCreateError;
    validate(agentId: string): AgentValidationResult;
    list(filter?: {
        status?: 'active' | 'draft' | 'archived';
        squad?: string;
    }): Array<{
        id: string;
        name: string;
        role: string;
        status: string;
        parentSquad: string | null;
    }>;
    analyze(agentId: string): AgentAnalysisResult | null;
    private renderAgentMd;
    private parseFrontmatter;
    private parseListField;
}
