export interface TeamRole { role: string; name?: string; emoji?: string; note?: string; } export interface TeamDefinition { kind: 'team'; name: string; description?: string; roles: TeamRole[]; lang?: 'zh' | 'en'; provider?: string; model?: string; created?: string; source?: string; } /** 团队文件存放目录:默认 ~/.ao/teams,可用 AO_TEAMS_DIR 覆盖。 */ export declare function teamsDir(): string; /** 把团队名转成安全的文件名 slug(保留中文,去掉路径敏感字符)。 */ export declare function slugify(name: string): string; /** 从一个 workflow 中抽取团队(去重角色,保序,剥掉任务/inputs)。 */ export declare function extractTeamFromWorkflow(workflowPath: string, opts?: { name?: string; description?: string; }): TeamDefinition; /** 序列化为带头注释的 YAML 文本。 */ export declare function serializeTeam(team: TeamDefinition): string; /** 解析团队文件(校验 kind 与 roles)。 */ export declare function parseTeamFile(filePath: string): TeamDefinition; /** 保存团队到 teamsDir,返回写入路径(同名覆盖)。 */ export declare function saveTeam(team: TeamDefinition, dir?: string): string; /** 列出所有已保存团队。 */ export declare function listTeams(dir?: string): { file: string; team: TeamDefinition; }[]; /** * 按引用加载团队。ref 可以是: * - 文件路径(含 / 或 \ 或 .yaml 后缀,且存在) * - 团队名 / slug(在 teamsDir 里查找 .team.yaml,再按 name 兜底) */ export declare function loadTeamByRef(ref: string, dir?: string): TeamDefinition; /** 删除团队,返回是否删除成功。 */ export declare function removeTeam(ref: string, dir?: string): string | null;