export declare abstract class Writer { private C; private readonly instance; private readonly protoTable; constructor(C: { new (): T; }); write(obj: T): M; protected abstract alloc(size: number): M; protected abstract dynamicToBinary(type: string, value: any): any; protected abstract writeAs(m: M, type: string, value: any, shift: number): any; }