import type { EggObject, EggObjectLifeCycleContext, EggObjectName, EggPrototype, EggPrototypeName } from '@eggjs/tegg-types'; import type { EggLogger } from 'egg'; import { AgentControllerProto } from './AgentControllerProto'; /** * Custom EggObject for @AgentController classes. * * Replicates the full EggObjectImpl.initWithInjectProperty lifecycle and * inserts AgentRuntime delegate installation between postInject and init * hooks — exactly where the user's `init()` expects runtime to be ready. */ export declare class AgentControllerObject implements EggObject { private static logger; private _obj; private status; private runtime; readonly id: string; readonly name: EggPrototypeName; readonly proto: AgentControllerProto; /** Inject a logger to be used by all AgentRuntime instances. */ static setLogger(logger: EggLogger): void; constructor(name: EggObjectName, proto: AgentControllerProto); get obj(): object; get isReady(): boolean; injectProperty(name: EggObjectName, descriptor: PropertyDescriptor): void; /** * Full lifecycle sequence mirroring EggObjectImpl.initWithInjectProperty, * with AgentRuntime installation inserted between postInject and init. */ init(ctx: EggObjectLifeCycleContext): Promise; destroy(ctx: EggObjectLifeCycleContext): Promise; /** * Create AgentRuntime and install delegate methods on the instance. * Logic ported from the removed enhanceAgentController.ts. */ private installAgentRuntime; static createObject(name: EggObjectName, proto: EggPrototype, lifecycleContext: EggObjectLifeCycleContext): Promise; }