import type { TeamConfig, DevPhase, TeamRole } from '../types/team-config';
export interface TeamAndAgent {
    teamName: string;
    agentName: string;
    config: TeamConfig;
}
export interface AgentTeamContext {
    teamName: string;
    agentName: string;
    role: TeamRole;
    isLeader: boolean;
    phase: DevPhase;
}
export interface TeamSummary {
    name: string;
    phase: DevPhase;
    memberCount: number;
}
/**
 * Finds the team that an agent belongs to, returning the team name and config.
 * Matches against both the raw agentId and a "lead-" prefixed variant.
 */
export declare function findCurrentTeam(agentId: string): {
    teamName: string;
    config: TeamConfig;
} | null;
/**
 * Finds the team and the matched agent name for a given agent identifier.
 * This is the richer variant that also returns which member name was matched.
 */
export declare function findCurrentTeamAndAgent(agentId: string): TeamAndAgent | null;
/**
 * Direct lookup of a team by name.
 */
export declare function findTeamByName(name: string): TeamConfig | null;
/**
 * Lists all teams with summary information.
 */
export declare function listAllTeams(): TeamSummary[];
/**
 * Returns full context for an agent's team membership including role and leadership status.
 */
export declare function getAgentTeamContext(agentId: string): AgentTeamContext | null;
/**
 * Checks whether an agent is a member of a specific team.
 */
export declare function isAgentInTeam(agentId: string, teamName: string): boolean;
