export interface SchemaIssue { path: string; message: string; } export declare class SchemaValidationError extends Error { readonly issues: SchemaIssue[]; constructor(issues: SchemaIssue[], message?: string); } export interface JsonSchemaObject { type?: string; description?: string; properties?: Record; required?: string[]; items?: JsonSchemaObject; enum?: Array; default?: unknown; } export interface Schema { readonly optionalValue: boolean; readonly defaultValue: T | undefined; parse(value: unknown, path?: string): T; optional(): Schema; default(value: T): Schema; describe(description: string): Schema; toJSONSchema(): JsonSchemaObject; } export declare function formatSchemaIssues(issues: SchemaIssue[]): string; export declare const schema: { string(): Schema; number(): Schema; boolean(): Schema; unknown(): Schema; enum(values: T): Schema; array(item: Schema): Schema; object>>(shape: TShape): Schema<{ [K in keyof TShape]: TShape[K] extends Schema ? TValue : never; }>; }; //# sourceMappingURL=schema.d.ts.map