export interface AgentMessage {
    id: string;
    from: string;
    to: string;
    type: 'command' | 'message' | 'response';
    content: string;
    timestamp: string;
    sessionInfo?: {
        session: string;
        window?: string;
        pane?: string;
    };
}
export interface AgentInfo {
    id: string;
    name: string;
    session: string;
    lastSeen: string;
    status: 'online' | 'offline';
}
export declare class AgentCommunicationManager {
    private agentId;
    private agentName;
    private messagesDir;
    private agentsDir;
    private tmux;
    constructor(agentName: string);
    private initializeDirectories;
    registerAgent(sessionName: string): Promise<string>;
    unregisterAgent(): Promise<string>;
    listActiveAgents(): Promise<AgentInfo[]>;
    getAgentInfo(agentId: string): Promise<AgentInfo | null>;
    sendMessage(targetAgentId: string, content: string, type?: 'command' | 'message'): Promise<string>;
    sendCommandToAgent(targetAgentId: string, command: string, sessionInfo?: {
        session: string;
        window?: string;
        pane?: string;
    }): Promise<string>;
    getIncomingMessages(): Promise<AgentMessage[]>;
    processIncomingCommands(): Promise<string[]>;
    deleteMessage(messageId: string): Promise<void>;
    clearOldMessages(hoursOld?: number): Promise<string>;
    getMessageHistory(targetAgentId?: string, limit?: number): Promise<AgentMessage[]>;
    updateHeartbeat(): Promise<void>;
}
