import { AgentDependencies } from "./AgentDependencies.js";
import { EventEmitter } from "./EventEmitter.js";
import { AgentModulesInput } from "./AgentModules.js";
import { DependencyManager } from "../plugins/DependencyManager.js";
import { BaseAgent } from "./BaseAgent.js";
import { InitConfig } from "../types.js";

//#region src/agent/Agent.d.ts
interface AgentOptions<AgentModules extends AgentModulesInput> {
  config?: InitConfig;
  modules?: AgentModules;
  dependencies: AgentDependencies;
}
declare class Agent<AgentModules extends AgentModulesInput = any> extends BaseAgent<AgentModules> {
  constructor(options: AgentOptions<AgentModules>, dependencyManager?: DependencyManager);
  get events(): EventEmitter;
  initialize(): Promise<void>;
  shutdown(): Promise<void>;
}
//#endregion
export { Agent };
//# sourceMappingURL=Agent.d.ts.map