export interface MarshallableInstance { typeName(): string; toJSONValue(): V; } export interface Marshaler { marshal(obj: any): any; unmarshal(value: any): any; } export declare type MarshalType> = { typeName: string; fromJSONValue: (value: V) => T; }; export declare type AnyMarshalType = MarshalType>; export declare class BaseMarshaler { static TypeList: import("../service").MultiServiceInterface; private _ejson; constructor(types: AnyMarshalType[]); marshal(obj: any): any; unmarshal(value: any): any; } declare const MarshalerP: import("../service").ServiceProvider & typeof BaseMarshaler; declare type MarshalerP = Marshaler; export default MarshalerP;