import { PropsWithChildren } from 'react'; import { e as AgentPromptContentBlock } from './agentSession.d-4jwjFmc1.js'; import { AgentActivityEphemeralConversationProjection } from '@tutti-os/agent-activity-core'; interface AgentSideCapabilities { supported: boolean; /** Provider can snapshot a source while its Turn is active. */ activeSourceTurn: boolean; ephemeral: boolean; hideInheritedTurns: boolean; modelBoundaryInjected: boolean; } interface AgentSideInteractionAction { id: string; label: string; semantic: string; } interface AgentSideInteraction { requestId: string; turnId: string; kind: "approval" | "plan" | "question"; toolName: string | null; input: Record; actions: readonly AgentSideInteractionAction[]; } interface AgentSideConversationState { workspaceId: string; sourceAgentSessionId: string; sideAgentSessionId: string; status: "idle" | "opening" | "running" | "closing" | "expired" | "error"; activeTurnId: string | null; projection: AgentActivityEphemeralConversationProjection; pendingInteraction: AgentSideInteraction | null; error: string | null; sequence: number; } interface AgentSideConversationSnapshot { workspaceId: string; active: AgentSideConversationState | null; } interface AgentSideConversationOpenInput { workspaceId: string; sourceAgentSessionId: string; provider?: string | null; cwd?: string | null; } interface AgentSideConversationSendInput { workspaceId: string; sideAgentSessionId: string; content: readonly AgentPromptContentBlock[]; displayPrompt?: string; } interface AgentSideConversationRuntime { resolveCapabilities(input: AgentSideConversationOpenInput): Promise; open(input: AgentSideConversationOpenInput): Promise; send(input: AgentSideConversationSendInput): Promise; cancel(input: { workspaceId: string; sideAgentSessionId: string; turnId: string; }): Promise; respond(input: { workspaceId: string; sideAgentSessionId: string; turnId: string; requestId: string; action?: string; optionId?: string; payload?: Record; }): Promise; close(input: { workspaceId: string; sideAgentSessionId: string; }): Promise; getSnapshot(workspaceId: string): AgentSideConversationSnapshot; subscribe(workspaceId: string, listener: () => void): () => void; subscribeConnectionState(listener: (state: "connected" | "connecting" | "disconnected" | "disposed") => void): () => void; dispose?(): void; } declare function AgentSideConversationRuntimeProvider({ children, runtime }: PropsWithChildren<{ runtime?: AgentSideConversationRuntime | null; }>): React.JSX.Element; declare function useOptionalAgentSideConversationRuntime(): AgentSideConversationRuntime | null; declare function useAgentSideConversationSnapshot(workspaceId: string): AgentSideConversationSnapshot; export { type AgentSideCapabilities as A, type AgentSideConversationRuntime as a, AgentSideConversationRuntimeProvider as b, type AgentSideConversationSnapshot as c, type AgentSideConversationState as d, type AgentSideInteraction as e, type AgentSideInteractionAction as f, useOptionalAgentSideConversationRuntime as g, useAgentSideConversationSnapshot as u };