/**
 * TeamManager - Multi-agent team and messaging service.
 *
 * Manages agent teams (logical groupings), inter-agent messaging,
 * and broadcasts via SharedStateBus.
 */
import type { SharedStateBus } from "./SharedStateBus.js";
export interface Team {
    id: string;
    name: string;
    description?: string;
    agents: string[];
    createdAt: number;
}
export interface AgentMessage {
    id: string;
    from: string;
    to: string;
    content: string;
    timestamp: number;
}
export declare class TeamManager {
    private teams;
    private messages;
    private bus;
    private maxTeams;
    private maxMessages;
    private nextTeamId;
    private nextMsgId;
    constructor(options?: {
        maxTeams?: number;
        maxMessages?: number;
    });
    setBus(bus: SharedStateBus): void;
    createTeam(opts: {
        name: string;
        description?: string;
        agents?: string[];
    }): Team;
    deleteTeam(idOrName: string): boolean;
    getTeam(idOrName: string): Team | undefined;
    listTeams(): Team[];
    addAgentToTeam(teamIdOrName: string, agentId: string): void;
    removeAgentFromTeam(teamIdOrName: string, agentId: string): void;
    sendMessage(from: string, to: string, content: string): AgentMessage;
    broadcast(from: string, teamIdOrName: string, content: string): AgentMessage[];
    getInbox(agentId: string): AgentMessage[];
    getConversation(agent1: string, agent2: string): AgentMessage[];
}
