export * from "./type.js"; /** * @abstract * @template [T=unknown] * @template [I=unknown] * @template [Settings=void] * @extends {Schema.Base} * @implements {Schema.Schema} */ export class API implements Schema.Schema { /** * @param {Settings} settings */ constructor(settings: Settings); settings: Settings; toString(): string; /** * @abstract * @param {I} input * @param {Settings} settings * @returns {Schema.ReadResult} */ readWith(input: I, settings: Settings): Schema.ReadResult; /** * @param {I} input * @returns {Schema.ReadResult} */ read(input: I): Schema.ReadResult; /** * @param {unknown} value * @returns {value is T} */ is(value: unknown): value is T; /** * @param {unknown} value * @return {T} */ from(value: unknown): T; /** * @returns {Schema.Schema} */ optional(): Schema.Schema; /** * @returns {Schema.Schema} */ nullable(): Schema.Schema; /** * @returns {Schema.Schema} */ array(): Schema.Schema; /** * @template U * @param {Schema.Reader} schema * @returns {Schema.Schema} */ or(schema: Schema.Reader): Schema.Schema; /** * @template U * @param {Schema.Reader} schema * @returns {Schema.Schema} */ and(schema: Schema.Reader): Schema.Schema; /** * @template {T} U * @param {Schema.Reader} schema * @returns {Schema.Schema} */ refine(schema: Schema.Reader): Schema.Schema; /** * @template {string} Kind * @param {Kind} [kind] * @returns {Schema.Schema, I>} */ brand(kind?: Kind | undefined): Schema.Schema, I>; /** * @param {Schema.NotUndefined} value * @returns {Schema.DefaultSchema, I>} */ default(value: Schema.NotUndefined): Schema.DefaultSchema, I>; } export function never(): Schema.Schema; export function unknown(): Schema.Schema; export function nullable(schema: Schema.Reader): Schema.Schema; export function optional(schema: Schema.Reader): Schema.Schema; export function array(schema: Schema.Reader): Schema.ArraySchema; export function tuple, U extends [T, ...T[]], I = unknown>(shape: U): Schema.Schema, I>; export function dictionary({ value, key }: { value: Schema.Reader; key?: Schema.Reader | undefined; }): Schema.DictionarySchema; export function union, U extends [T, ...T[]], I = unknown>(variants: U): Schema.Schema, I>; export function or(left: Schema.Reader, right: Schema.Reader): Schema.Schema; export function intersection, U extends [T, ...T[]], I = unknown>(variants: U): Schema.Schema, I>; export function and(left: Schema.Reader, right: Schema.Reader): Schema.Schema; export function boolean(): Schema.Schema; export function number(): Schema.NumberSchema; export function lessThan(n: number): Schema.Schema; export function greaterThan(n: number): Schema.Schema; export function integer(): Schema.NumberSchema, unknown>; export function uint64(): Schema.Schema; export function float(): Schema.NumberSchema, unknown>; export function string(): Schema.StringSchema; /** @type {Schema.Schema} */ export const Bytes: Schema.Schema; export function bytes(): Schema.Schema; export function startsWith(prefix: Prefix): Schema.Schema<`${Prefix}${string}`, string>; export function endsWith(suffix: Suffix): Schema.Schema<`${string}${Suffix}`, string>; export function refine(base: Schema.Reader, schema: Schema.Reader): Schema.Schema; export function literal(value: T): Schema.LiteralSchema; export function struct | T; }, V extends { [K in keyof U]: U[K] extends Schema.Reader ? U[K] : Schema.LiteralSchema; }, I = unknown>(fields: U): Schema.StructSchema; export function variant(variants: Choices): Schema.VariantSchema; export function error(message: string): { error: Schema.Error; ok?: undefined; }; export function typeError(data: { expect: string; actual: unknown; }): { error: Schema.Error; }; export function toString(value: unknown): unknown; export function memberError({ at, cause }: { at: string | number; cause: Schema.Error; }): { error: Schema.Error; }; import { ok } from '../result.js'; import * as Schema from './type.js'; /** * @template {string} T * @template {[T, ...T[]]} U * @template [I=unknown] * @param {U} variants * @returns {Schema.Schema} */ declare function createEnum(variants: U): Schema.Schema; export { ok, createEnum as enum, _enum as enum }; //# sourceMappingURL=schema.d.ts.map