import type { StandardSchemaV1 } from "#compiled/@standard-schema/spec/index.js";
import type { DurableCallbackJsonObject, StampedDurableDynamicCallback } from "#tools/durable-callbacks.js";
import { type ToolSchema, type ToolSchemaSource } from "#tools/schema.js";
export declare function hasSchemaValidator(source: unknown): source is StandardSchemaV1;
type DurableSchema<TSchema> = TSchema extends StandardSchemaV1 ? ToolSchema<StandardSchemaV1.InferInput<TSchema>, StandardSchemaV1.InferOutput<TSchema>> : TSchema;
/**
 * Defines a replayable schema for dynamic tools returned by provider packages.
 * Put per-tool values in `closure`; `schema` rebuilds the validator from that
 * JSON snapshot. Authored inline schema expressions are transformed automatically.
 */
export declare function defineDurableSchema<TClosure extends object, TSchema extends ToolSchemaSource | undefined>(input: {
    readonly closure: TClosure & DurableCallbackJsonObject<TClosure>;
    readonly schema: (closure: TClosure) => TSchema;
}): DurableSchema<TSchema>;
export declare function readDurableSchema(source: unknown): StampedDurableDynamicCallback | undefined;
export {};
