import { Stream } from "effect"; import type { ToolSchedulingPolicy } from "./agent.js"; interface ScheduledCall { readonly call: { readonly name: string; }; } /** @experimental Default safe policy: every framework-executed call is an exclusive barrier. */ export declare const defaultToolScheduling: ToolSchedulingPolicy; /** @experimental Validate a live Agent's tool scheduling policy before its first model call. */ export declare const validationFailure: { (declaredTools: ReadonlyArray): (policy: ToolSchedulingPolicy) => string | undefined; (policy: ToolSchedulingPolicy, declaredTools: ReadonlyArray): string | undefined; }; /** * @experimental Execute parallel-safe calls with a bound while treating every other authored call as an exclusive * barrier. Inner streams merge live; callers retain result order separately by the original call index. */ export declare const schedule: { (policy: ToolSchedulingPolicy, execute: (call: A) => Stream.Stream): (calls: ReadonlyArray) => Stream.Stream; (calls: ReadonlyArray, policy: ToolSchedulingPolicy, execute: (call: A) => Stream.Stream): Stream.Stream; }; export {};