import * as zjson from "../../zjson"; import { DecodeStream } from "../decode-stream"; import { EncodeStream } from "../encode-stream"; import { Field } from "../index"; import { Value } from "../values/types"; import { TypeAlias } from "./type-alias"; import { TypeArray } from "./type-array"; import { TypeMap } from "./type-map"; import { PrimitiveType } from "./type-primitives"; import { TypeRecord } from "./type-record"; import { TypeSet } from "./type-set"; import { TypeUnion } from "./type-union"; export declare type ZedType = PrimitiveType | TypeRecord | TypeArray | TypeSet | TypeUnion | TypeMap | TypeAlias; export declare type SerializeTypeDefs = { [key: string]: zjson.Type; }; export interface Type { toString(): string; serialize(stream: EncodeStream): zjson.NoId | zjson.PrimitiveType; create(value: zjson.Value, stream: DecodeStream, parent?: Field): Value; kind: string; }