export interface $ZSF { $zsf: { version: number; }; type: string; default: unknown; fallback: unknown; } export interface $ZSFString extends $ZSF { type: "string"; min_length?: number; max_length?: number; pattern?: string; } export type NumberTypes = "float32" | "int32" | "uint32" | "float64" | "int64" | "uint64" | "bigint" | "bigdecimal"; export interface $ZSFNumber extends $ZSF { type: "number"; format?: NumberTypes; minimum?: number; maximum?: number; multiple_of?: number; } export interface $ZSFBoolean extends $ZSF { type: "boolean"; } export interface $ZSFNull extends $ZSF { type: "null"; } export interface $ZSFUndefined extends $ZSF { type: "undefined"; } export interface $ZSFOptional extends $ZSF { type: "optional"; inner: T; } export interface $ZSFNever extends $ZSF { type: "never"; } export interface $ZSFAny extends $ZSF { type: "any"; } /** Supports */ export interface $ZSFEnum extends $ZSF { type: "enum"; elements: Elements; } export interface $ZSFArray extends $ZSF { type: "array"; prefixItems: PrefixItems; items: Items; } type $ZSFObjectProperties = Array<{ key: string; value: $ZSF; format?: "literal" | "pattern"; ordering?: number; }>; export interface $ZSFObject extends $ZSF { type: "object"; properties: Properties; } /** Supports arbitrary literal values */ export interface $ZSFLiteral extends $ZSF { type: "literal"; schema: T; value: unknown; } export interface $ZSFUnion extends $ZSF { type: "union"; elements: Elements; } export interface $ZSFIntersection extends $ZSF { type: "intersection"; elements: $ZSF[]; } export interface $ZSFMap extends $ZSF { type: "map"; keys: K; values: V; } export interface $ZSFConditional extends $ZSF { type: "conditional"; if: If; then: Then; else: Else; } export {};