import { AgentMiddleware } from "../../types.js";
import { OpenAIDecisionsLike } from "./decisions.js";
import { ClientTool } from "@langchain/core/tools";
export interface OpenAIAutoModeMiddlewareOptions {
  /** Tools to classify before they run. Other tools run unchecked. */
  tools: (string | ClientTool)[];
  /** An `OpenAIDecisions` instance from `@langchain/openai`. */
  model: OpenAIDecisionsLike;
  /** The risk question. Describe what counts as risky and safe. */
  instructions?: string;
}
/**
 * Blocks listed tool calls that the OpenAI Decisions API judges risky (beta).
 *
 * A call runs only when the probability that it is risky is below 0.5. Risky calls
 * and refusals return an error `ToolMessage` without running the tool, and
 * classification errors propagate. This blocks; it does not ask for approval, so
 * combine it with `humanInTheLoopMiddleware` where approval is needed.
 */
export declare function openAIAutoModeMiddleware(options: OpenAIAutoModeMiddlewareOptions): AgentMiddleware<undefined, undefined, unknown, readonly (import("@langchain/core/tools").ServerTool | ClientTool)[], readonly []>;
//# sourceMappingURL=autoMode.d.ts.map