/// import { IProtobufType } from './IProtobufType'; import * as p from 'protobufjs'; import { IProtobufTypeCtor } from './IProtobufTypeCtor'; import { TProtobufField } from './TProtobufField'; import { IProtobufEnum } from './IProtobufEnum'; import { IProtobufEnumCtor } from './IProtobufEnumCtor'; import { TRecursivePartial } from './TRecursivePartial'; export declare abstract class ProtobufType implements IProtobufType, TRecursivePartial> { get underlyingType(): p.Type; protected readonly root: p.Type; protected readonly resolvedTypes: Map | IProtobufEnum>; /** * */ constructor(); /** * @param {IProtobufTypeCtor} ctor * @return {IProtobufType | IProtobufEnum} * @protected */ protected resolveType(ctor: IProtobufTypeCtor | IProtobufEnumCtor): IProtobufType | IProtobufEnum; /** * @return {TProtobufField[]} * @protected */ protected abstract fields(): TProtobufField[]; /** * @param {TRecursivePartial} message * @return {Uint8Array} */ encode(message: TRecursivePartial): Uint8Array; /** * @param {Buffer | Uint8Array} bytes * @return {TRecursivePartial} */ decode(bytes: Buffer | Uint8Array): TRecursivePartial; }