import * as zjson from './zjson'; import { DecodeStream } from './decode-stream'; import { EncodeStream } from './encode-stream'; import { TypeArray } from './types/type-array'; import { TypeError } from './types/type-error'; import { TypeRecord } from './types/type-record'; import { TypeSet } from './types/type-set'; import { Type } from './types/types'; import { Field } from './values/field'; import { Value } from './values/types'; import { TypeField } from './types/type-field'; export type TypeDefs = { [key: string]: Type; }; export declare class ZedContext { private typeByShape; decode(objects: zjson.Obj[], stream?: DecodeStream): Value[]; decodeOne(object: zjson.Obj, stream?: DecodeStream): Value; encode(values: Value[]): zjson.Obj[]; encodeOne(value: Value, stream?: EncodeStream): zjson.Obj; decodeField(obj: zjson.EncodedField): Field | null; encodeField(field: Field): zjson.EncodedField; lookupErrorType(type: Type): TypeError; lookupTypeRecord(fields: TypeField[] | null): TypeRecord; lookupTypeArray(type: Type): TypeArray; lookupTypeSet(type: Type): TypeSet; lookupTypeUnion(types: Type[]): Type; lookupTypeMap(keyType: Type, valType: Type): Type; lookupTypeAlias(name: string, type: Type): Type; alloc(key: string, type: T): T; } export declare const DefaultContext: ZedContext;