/**
 * Team Template Utilities
 *
 * Loads pre-built team templates from config/templates/ so users can
 * quickly bootstrap a working multi-agent team during onboarding.
 *
 * @module cli/utils/templates
 */
/** Member definition within a team template */
export interface TemplateMember {
    /** Display name for this agent (e.g. "Frontend Dev") */
    name: string;
    /** Role identifier matching a config/roles/ directory */
    role: string;
    /** System prompt that defines the agent's behavior */
    systemPrompt: string;
    /** Optional additional skill IDs beyond the role default */
    skillOverrides?: string[];
    /** Optional role skills to exclude for this member */
    excludedRoleSkills?: string[];
}
/** A pre-built team template that users can deploy instantly */
export interface TeamTemplate {
    /** Unique identifier (e.g. "web-dev-team") */
    id: string;
    /** Human-readable team name */
    name: string;
    /** Short description of the team's purpose */
    description: string;
    /** Agent definitions */
    members: TemplateMember[];
}
/**
 * Resolves the absolute path to the config/templates/ directory.
 *
 * Walks up from the CLI entry point (process.argv[1]) to find the project root
 * containing config/templates/. Falls back to process.cwd() if not found
 * (e.g. in test environments).
 *
 * @returns Absolute path to templates directory
 */
export declare function getTemplatesDir(): string;
/**
 * Lists all available team templates.
 *
 * Reads templates from config/templates/ in both formats:
 * - New format: subdirectory/template.json with roles[] and verificationPipeline
 * - Legacy format: flat JSON files with members[] at root level
 *
 * New-format templates are converted to the CLI TeamTemplate interface
 * by mapping roles to members.
 *
 * @returns Array of team templates sorted by name
 *
 * @example
 * ```typescript
 * const templates = listTemplates();
 * templates.forEach(t => console.log(`${t.name}: ${t.description}`));
 * ```
 */
export declare function listTemplates(): TeamTemplate[];
/**
 * Gets a specific team template by ID.
 *
 * @param id - The template identifier (e.g. "web-dev-team")
 * @returns The matching template, or undefined if not found
 *
 * @example
 * ```typescript
 * const template = getTemplate('startup-team');
 * if (template) {
 *   console.log(`Found: ${template.name} with ${template.members.length} members`);
 * }
 * ```
 */
export declare function getTemplate(id: string): TeamTemplate | undefined;
//# sourceMappingURL=templates.d.ts.map