import type { AgentDetails } from "../../services/agentService";
export type AgentSuggestionKind = "fresh-chat" | "switch-profile";
/**
 * A contextual hint the agent asked the client to surface as a dismissible banner above the
 * prompt input. "fresh-chat" suggests starting a new chat for a new topic; "switch-profile"
 * suggests switching to a better-fitting agent profile (target* set only for that kind).
 */
export type AgentSuggestion = {
    agentId: string;
    kind: AgentSuggestionKind;
    reason: string;
    targetProfileId?: string | null;
    targetProfileName?: string | null;
    /** Suggested opening prompt to pre-fill the new chat (kind "fresh-chat" only). */
    initialPrompt?: string | null;
};
/**
 * Handles the `agent:suggestion` websocket message. Mirrors useAgentInfoSocketHandler: it owns the
 * message type and does its own agentId check, so it must be invoked BEFORE the router's generic
 * agentId filter (which would otherwise drop a payload whose agentId doesn't strictly match).
 */
export declare function useAgentSuggestionSocketHandler(input: {
    agent: AgentDetails | undefined;
    onSuggestion: (suggestion: AgentSuggestion) => void;
}): (messageType: string, payload: any) => boolean;
