import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { Schema } from "effect"; type SchemaKind = "string" | "number" | "boolean" | "array" | "object" | "record" | "unknown"; type NoContextSchema = Schema.Schema; type ParseSuccess = { success: true; data: A; }; type ParseFailure = { success: false; error: Error; }; declare class EffectSchemaCompat { readonly schema: NoContextSchema; private readonly kind; constructor(schema: NoContextSchema, kind?: SchemaKind); describe(_description: string): EffectSchemaCompat; optional(): EffectSchemaCompat; nullable(): EffectSchemaCompat; min(limit: number): EffectSchemaCompat; max(limit: number): EffectSchemaCompat; int(): EffectSchemaCompat; positive(): EffectSchemaCompat; nonnegative(): EffectSchemaCompat; finite(): EffectSchemaCompat; parse(value: unknown): A; safeParse(value: unknown): ParseSuccess | ParseFailure; safeParseAsync(value: unknown): Promise | ParseFailure>; } type Shape = Record>; type InferCompat> = TSchema extends EffectSchemaCompat ? A : never; export type InferShape = { [K in keyof TShape]: InferCompat; }; export declare const z: { string: () => EffectSchemaCompat; number: () => EffectSchemaCompat; boolean: () => EffectSchemaCompat; array: (item: EffectSchemaCompat) => EffectSchemaCompat>; object: (shape: TShape) => EffectSchemaCompat>; enum: ]>(values: Values) => EffectSchemaCompat; record: (key: EffectSchemaCompat, value: EffectSchemaCompat) => EffectSchemaCompat>; }; export declare const registerEffectTool: (server: McpServer, name: string, description: string, shape: TShape, handler: (args: InferShape) => unknown) => void; export {}; //# sourceMappingURL=effect-schema-tool.d.ts.map