import type { Context } from "../aigne/context.js"; import { type MessagePayload } from "../aigne/message-queue.js"; import { Agent, type AgentInvokeOptions, type AgentOptions, type AgentProcessResult, type FunctionAgentFn, type Message } from "./agent.js"; export interface UserAgentOptions extends AgentOptions { context: Context; process?: FunctionAgentFn; activeAgent?: Agent; } export declare class UserAgent extends Agent { tag: string; static from(options: UserAgentOptions): UserAgent; constructor(options: UserAgentOptions); context: Context; private _process?; private activeAgent?; protected subscribeToTopics(context: Pick): void; protected publishToTopics(output: O, options: AgentInvokeOptions): Promise; invoke: Agent["invoke"]; process(input: I, options: AgentInvokeOptions): Promise>; publish: Context["publish"]; subscribe: Context["subscribe"]; unsubscribe: Context["unsubscribe"]; get stream(): ReadableStream; protected checkAgentInvokesUsage(_options: AgentInvokeOptions): void; }