import { Constructor, MarshallerConstructor, ObjectMarshallerConstructor } from './object'; export declare function OptionalOf(marshallerCtor: MarshallerConstructor): MarshallerConstructor; export declare function ArrayOf(marshallerCtor: MarshallerConstructor): MarshallerConstructor; export declare function MapOf(keyMarshallerCtor: MarshallerConstructor, valueMarshallerCtor: MarshallerConstructor): MarshallerConstructor>; export declare function SetOf(marshallerCtor: MarshallerConstructor): MarshallerConstructor>; export declare function MarshalEnum(constructor: any, default_?: E): MarshallerConstructor; export declare function OneOf2(marshallerCtor1: ObjectMarshallerConstructor, marshallerCtor2: ObjectMarshallerConstructor): MarshallerConstructor; export declare function OneOf3(marshallerCtor1: ObjectMarshallerConstructor, marshallerCtor2: ObjectMarshallerConstructor, marshallerCtor3: ObjectMarshallerConstructor): MarshallerConstructor; export declare function OneOf4(marshallerCtor1: ObjectMarshallerConstructor, marshallerCtor2: ObjectMarshallerConstructor, marshallerCtor3: ObjectMarshallerConstructor, marshallerCtor4: ObjectMarshallerConstructor): MarshallerConstructor; export declare function TryInOrder(marshallerCtor1: MarshallerConstructor, ...args: MarshallerConstructor[]): MarshallerConstructor; export declare function MarshalWith(marshallerCtor: MarshallerConstructor, sourcePropName?: string | null): (target: any, propName: string) => void; export declare function MarshalFrom(constructor: Constructor): ObjectMarshallerConstructor;