import { Cause, Context, Effect, Layer, Option, Schema } from "effect"; import { type Success } from "./tool-executor.js"; /** @experimental A bounded tool result: inline content plus optional spilled overflow references. */ export interface ToolOutput { readonly inline: unknown; readonly outputPaths?: ReadonlyArray; } /** @experimental A successful tool result after applying the output bound. */ export interface BoundedSuccess extends Success { readonly outputPaths: ReadonlyArray; } /** @experimental Stores tool-output overflow out of context. */ export interface StoreInterface { readonly put: (toolCallId: string, content: unknown) => Effect.Effect, ToolOutputError>; } declare const ToolOutputStore_base: Context.ServiceClass; /** @experimental */ export declare class ToolOutputStore extends ToolOutputStore_base { } declare const ToolOutputError_base: Schema.Class, Cause.YieldableError>; /** @experimental */ export declare class ToolOutputError extends ToolOutputError_base { } /** @experimental */ export declare const layerNoop: Layer.Layer; /** @experimental */ export declare const layerMemory: Layer.Layer; /** @experimental */ export declare const layerTest: (implementation: StoreInterface) => Layer.Layer; /** @experimental */ export declare const bound: { (options: { readonly toolCallId: string; readonly maxBytes: number; }): (result: Success) => Effect.Effect; (result: Success, options: { readonly toolCallId: string; readonly maxBytes: number; }): Effect.Effect; }; export {};