/**
 * Shape and behavior classification for pending input requests, shared by
 * the harness resolution path and protocol clients (e.g. the dev TUI's
 * rendering decisions).
 */
import type { InputRequest } from "#shared/input.js";
/** Returns true when the request gates an AI SDK tool call. */
export declare function isApprovalRequest(request: InputRequest): boolean;
/**
 * Behavioral class of a pending input request.
 *
 * `"required"` — the request must be explicitly answered before the turn can
 * move on. While one is unanswered, any other arriving input is queued and
 * replayed on the step after the answer. The pending batch never churns, so
 * the request ids the user is answering stay valid.
 *
 * `"dismissable"` — a plain follow-up message counts as the user moving on.
 * The request resolves as a real `tool-result` with `status: "ignored"` and
 * the model continues with the message in the same step.
 */
export type InputRequestClass = "dismissable" | "required";
/** Classifies one pending request; see {@link InputRequestClass}. */
export declare function classifyInputRequest(request: InputRequest): InputRequestClass;
