import { Domain, IDomain } from "./domain"; import { Type } from "./type"; import { ValueType } from "./value"; import { Serializable, Serialized } from "./serialize"; /** * @ignore */ export interface ITypePack { [_: string]: ValueType; domain: IDomain; reference: string; } /** * A type pack is a combination of a domain and a reference to a type within that domain. * * Its domain contains at least all the types and models that are used in the type pack, so that the type can be * resolved. */ export declare class TypePack implements Serializable { private _domain?; private _reference?; constructor(domain?: Domain, reference?: string); /** * The domain that contains the type. */ get domain(): Domain; /** * The reference to the type within the domain. */ get reference(): string; /** * The type that is referenced by the type pack. */ get content(): Type; deserializeAsync(value: Serialized): Promise; deserializeSync(value: Serialized): void; serialize(): Serialized; }