import { useAgentContentChunkHandler } from "./useAgentContentChunkHandler";
import { useAgentContextUpdateHandler } from "./useAgentContextUpdateHandler";
import { useAgentHeartbeatMessages } from "./useAgentHeartbeatMessages";
import { useAgentRunSequenceGuard } from "./useAgentRunSequenceGuard";
import { useAgentSettleCompletedRun } from "./useAgentSettleCompletedRun";
import { useAgentStreamMessageFactory } from "./useAgentStreamMessageFactory";
import { useAgentToolCallHandler } from "./useAgentToolCallHandler";
import { useAgentToolResultHandler } from "./useAgentToolResultHandler";
type StreamMessageFactoryInput = Parameters<typeof useAgentStreamMessageFactory>[0];
type ContextUpdateInput = Parameters<typeof useAgentContextUpdateHandler>[0];
type SequenceGuardInput = Parameters<typeof useAgentRunSequenceGuard>[0];
type HeartbeatInput = Parameters<typeof useAgentHeartbeatMessages>[0];
type SettleInput = Parameters<typeof useAgentSettleCompletedRun>[0];
type ContentChunkInput = Parameters<typeof useAgentContentChunkHandler>[0];
type ToolCallInput = Parameters<typeof useAgentToolCallHandler>[0];
type ToolResultInput = Parameters<typeof useAgentToolResultHandler>[0];
export declare function useAgentRunMessagePipeline(input: {
    streamMessageFactory: StreamMessageFactoryInput;
    contextUpdate: ContextUpdateInput;
    sequenceGuard: SequenceGuardInput;
    heartbeat: HeartbeatInput;
    settle: Omit<SettleInput, "clearHeartbeatMessages">;
    contentChunk: Omit<ContentChunkInput, "createNewStreamMessage">;
    toolCall: Omit<ToolCallInput, "createNewStreamMessage">;
    toolResult: ToolResultInput;
}): {
    settleCompletedRun: (finalStatus?: "completed" | "cancelled", runId?: string | null) => void;
    handleContentChunk: (message: import("../../services/agentService").AgentStreamMessage, agentData?: import("../../services/agentService").AgentDetails) => void;
    handleToolCall: (message: import("../../services/agentService").AgentStreamMessage, agentData?: import("../../services/agentService").AgentDetails) => void;
    handleToolResult: (message: import("../../services/agentService").AgentStreamMessage, agentData?: import("../../services/agentService").AgentDetails) => void;
    stripHeartbeatMessages: (list: import("../../services/agentService").AgentChatMessage[]) => import("../../services/agentService").AgentChatMessage[];
    handleHeartbeatMessage: (message: import("../../services/agentService").AgentStreamMessage) => void;
    clearHeartbeatMessages: () => void;
    createNewStreamMessage: (messageId: string, agentData?: import("../../services/agentService").AgentDetails) => import("../../services/agentService").AgentChatMessage;
    handleContextUpdate: (contextData: any) => void;
    acceptRunSequenceFrame: (frame: {
        eventName: "agent:run:delta" | "agent:run:status";
        runId: string | undefined;
        seq: number | undefined;
    }) => boolean;
};
export {};
