import { BaseObjectMarshaller, ObjectMarshaller, MarshalObject } from './object'; export declare class OneOf2Marshaller extends BaseObjectMarshaller { private readonly _e1Marshaller; private readonly _e2Marshaller; constructor(e1Marshaller: ObjectMarshaller, e2Marshaller: ObjectMarshaller); build(raw: MarshalObject): E1 | E2; unbuild(cooked: E1 | E2): MarshalObject; } export declare class OneOf3Marshaller extends BaseObjectMarshaller { private readonly _e1Marshaller; private readonly _e2Marshaller; private readonly _e3Marshaller; constructor(e1Marshaller: ObjectMarshaller, e2Marshaller: ObjectMarshaller, e3Marshaller: ObjectMarshaller); build(raw: MarshalObject): E1 | E2 | E3; unbuild(cooked: E1 | E2 | E3): MarshalObject; } export declare class OneOf4Marshaller extends BaseObjectMarshaller { private readonly _e1Marshaller; private readonly _e2Marshaller; private readonly _e3Marshaller; private readonly _e4Marshaller; constructor(e1Marshaller: ObjectMarshaller, e2Marshaller: ObjectMarshaller, e3Marshaller: ObjectMarshaller, e4Marshaller: ObjectMarshaller); build(raw: MarshalObject): E1 | E2 | E3 | E4; unbuild(cooked: E1 | E2 | E3 | E4): MarshalObject; }