
import { AgentRunner } from "../../v2/runtime/runner/agent-runner.cjs";
import "../../v2/runtime/index.cjs";

//#region src/lib/runtime/telemetry-agent-runner.d.ts
/**
 * Configuration options for TelemetryAgentRunner
 */
interface TelemetryAgentRunnerConfig {
  /**
   * The underlying runner to delegate to
   * If not provided, defaults to InMemoryAgentRunner
   */
  runner?: AgentRunner;
  /**
   * Optional LangSmith API key (will be hashed for telemetry)
   */
  langsmithApiKey?: string;
}
/**
 * An AgentRunner wrapper that adds telemetry tracking for agent executions.
 *
 * Usage:
 * ```ts
 * const runtime = new CopilotRuntime({
 *   runner: new TelemetryAgentRunner(),
 *   // or with custom runner:
 *   runner: new TelemetryAgentRunner({ runner: customRunner }),
 * });
 * ```
 */
declare class TelemetryAgentRunner implements AgentRunner {
  private readonly _runner;
  private readonly hashedLgcKey;
  constructor(config?: TelemetryAgentRunnerConfig);
  /**
   * Runs an agent with telemetry tracking.
   * Wraps the underlying runner's Observable stream with telemetry events.
   */
  run(...args: Parameters<AgentRunner["run"]>): ReturnType<AgentRunner["run"]>;
  /**
   * Delegates to the underlying runner's connect method
   */
  connect(...args: Parameters<AgentRunner["connect"]>): ReturnType<AgentRunner["connect"]>;
  /**
   * Delegates to the underlying runner's isRunning method
   */
  isRunning(...args: Parameters<AgentRunner["isRunning"]>): ReturnType<AgentRunner["isRunning"]>;
  /**
   * Delegates to the underlying runner's stop method
   */
  stop(...args: Parameters<AgentRunner["stop"]>): ReturnType<AgentRunner["stop"]>;
}
//#endregion
export { TelemetryAgentRunner, TelemetryAgentRunnerConfig };
//# sourceMappingURL=telemetry-agent-runner.d.cts.map