import { Type } from "typebox"; import type { StaticDecode, TObject, TSchema, TSchemaOptions } from "typebox"; export type ToolSchema = Record; export type ToolArguments = StaticDecode>; export declare function validateToolArguments(schema: ToolSchema, input: unknown): asserts input is Record; export declare function parseToolArguments(schema: S, input: unknown): ToolArguments; export declare function stringEnum(values: Values, options?: TSchemaOptions): Type.TEnum; export declare function withDescription(schema: T, description: string): T; export declare function optional(schema: T, description?: string): "~optional" extends keyof T ? T : Type.TOptional; export declare function decodedSchema(inputSchema: TInput, outputSchema: TOutput, decode: (input: StaticDecode) => unknown, options?: TSchemaOptions): Type.TCodec>; export declare function schemaEnumValues(schema: TSchema | undefined): string[]; export declare function schemaDescription(schema: TSchema): string; export declare function schemaProperties(schema: TSchema | ToolSchema): ToolSchema;