import type { AgentHubDeps, AgentHubRemote } from "@oh-my-pi/pi-tui/overlays/agent-hub"; import { type AgentCostSnapshot } from "@oh-my-pi/pi-tui/overlays/agent-hub-projection"; import type { AgentTranscriptSource } from "@oh-my-pi/pi-tui/overlays/agent-transcript-viewer"; import type { SessionObserverRegistry } from "@oh-my-pi/pi-tui/overlays/session-observer-registry"; import { AgentActivityIndex } from "../activity/index.js"; import type { Settings } from "../config/settings.js"; import { type IrcBusApi } from "../irc/bus.js"; import { type AgentLifecycleApi } from "../registry/agent-lifecycle.js"; import { type AgentRef, type AgentRegistryApi } from "../registry/agent-registry.js"; /** Filesystem and parser used by local and host-backed transcript viewers. */ export declare const agentTranscriptSource: AgentTranscriptSource; /** Host services used by the roster, without exposing runtime implementation to tui. */ export declare function createAgentHubRuntime(options?: { registry?: AgentRegistryApi; lifecycle?: AgentLifecycleApi; irc?: IrcBusApi; activity?: AgentActivityIndex; remote?: AgentHubRemote; settings?: Settings; sessionFile?: string | null; }): Pick, "registry" | "inSession" | "lifecycle" | "irc" | "activity" | "manageActivityLive" | "transcript" | "loadPersisted" | "getRoleInfo">; /** * Agent Hub cost total for the main session's subagent tree (descendants * included). Excludes the main session's own advisors, which the status line * bills separately. Refs with a transcript count only inside `rootSessionFile`'s * artifacts tree (the process-global registry keeps earlier sessions' agents); * file-less refs count only while this session's observer tracks them. */ export declare function sumSubagentTreeCost(args: { refs: readonly AgentRef[]; observers: SessionObserverRegistry; rootSessionFile: string | undefined; sessionCosts: WeakMap; }): number;