import type { AgentRuntime } from '../providers/contract.js'; import type { FeishuConfig } from '../../shared/agent-config.js'; import type { AgentRuntimeHandleSnapshot } from '../../shared/snapshot.js'; import { type AgentRuntimeWorkerCloseOptions } from './runtime-worker.js'; import type { RuntimeWorkerConfig } from './types.js'; import type { TeamRunLimiter } from './team-run-limiter.js'; interface RunningAgentOptions extends RuntimeWorkerConfig { agentRuntime: AgentRuntime; animaHome: string; appToken?: string; /** Synced Slack bot user id for mention routing (start-time authority). */ botUserId?: string; botToken?: string; feishu?: FeishuConfig; idleTimeoutMs?: number; runLimiter: TeamRunLimiter; runtimeEnv: Record; startAbortForceAfterMs?: number; startTimeoutMs?: number; } export interface RunningAgentHandle { health?(): AgentRuntimeHandleSnapshot; isActive?(): boolean; /** `undefined` = provider does not expose background-task quiescence. */ isProviderQuiescent?(): boolean | undefined; /** While true, the worker claims no new items and does not append follow-ups. */ setIntakePaused?(paused: boolean): void; stop(options?: AgentRuntimeWorkerCloseOptions): Promise; waitForProviderQuiescent?(signal?: AbortSignal): Promise; } export declare function startRunningAgent(options: RunningAgentOptions): Promise; export {}; //# sourceMappingURL=agent-runner.d.ts.map