import type { Agent, AgentActivityResponse } from "./protocol/agents.js"; import type { AgentBootstrapResponse } from "./protocol/bootstrap.js"; import type { EventCursor } from "./protocol/common.js"; import type { HappyAgentEvent } from "./protocol/events.js"; import type { Question } from "./protocol/questions.js"; import type { HappyReducerAgentState } from "./HappyReducerState.js"; export interface HappyReducerAgentReplica { readonly agent: Agent; readonly fieldCursors: HappyReducerAgentFieldCursors; readonly state: HappyReducerAgentState; } interface HappyReducerAgentFieldCursors { readonly context: EventCursor; readonly draft: EventCursor; readonly lastUsedModel: EventCursor; readonly pending: EventCursor; readonly processes: EventCursor; readonly question: EventCursor; readonly subagents: EventCursor; } export interface HappyReducerAgentEventResult { readonly dirty: boolean; readonly replica: HappyReducerAgentReplica; } interface HappyReducerAgentActivityCursors { readonly processes: EventCursor; readonly subagents: EventCursor; } /** Builds an authoritative snapshot while preserving unchanged public child references. */ export declare function createHappyReducerAgentReplica(bootstrap: AgentBootstrapResponse, activity: AgentActivityResponse, activityCursors: HappyReducerAgentActivityCursors, focusedQuestion: Question | null, questionCursor: EventCursor, previous: HappyReducerAgentReplica | undefined): HappyReducerAgentReplica; /** Applies one SSE event to one agent replica, or marks it dirty on a broken version chain. */ export declare function reduceHappyReducerAgentEvent(current: HappyReducerAgentReplica, event: HappyAgentEvent): HappyReducerAgentEventResult; export {}; //# sourceMappingURL=HappyReducerAgentReplica.d.ts.map