import { AgentMessage, AgentMessageType, MessageHandler } from './types';
import { AgentIdentity } from '../types';
import { AgentIdentityManager } from '../agent-identity';
import { DelegationManager } from '../delegation-manager';
import { DelegationPolicyEngine } from '../delegation-policy-engine';
import { ActivityLogger } from '../activity/activity-logger';
export declare class MessageHandlerRegistry {
    private agentManager;
    private delegationManager;
    private policyEngine;
    private activityLogger;
    private handlers;
    private defaultHandlers;
    constructor(agentManager: AgentIdentityManager, delegationManager: DelegationManager, policyEngine: DelegationPolicyEngine, activityLogger: ActivityLogger);
    /**
     * Registers a message handler for a specific message type
     */
    registerHandler(type: AgentMessageType, handler: MessageHandler): void;
    /**
     * Removes a message handler
     */
    unregisterHandler(type: AgentMessageType, handler: MessageHandler): void;
    /**
     * Processes an incoming message
     */
    processMessage(message: AgentMessage, agentIdentity: AgentIdentity, sendMessage: (message: AgentMessage) => Promise<void>): Promise<AgentMessage | void>;
    /**
     * Registers default handlers for standard message types
     */
    private registerDefaultHandlers;
    /**
     * Handles delegation requests
     */
    private handleDelegationRequest;
    /**
     * Handles status queries
     */
    private handleStatusQuery;
    /**
     * Handles ping messages
     */
    private handlePing;
    /**
     * Handles acknowledgment messages
     */
    private handleAck;
    /**
     * Handles error messages
     */
    private handleError;
    private getAgentScopes;
    private getAgentMetrics;
    private getSuggestedScopes;
}
//# sourceMappingURL=message-handler.d.ts.map