import { PartialFieldInfo } from '@protobuf-ts/runtime'; import { WireType } from '@protobuf-ts/runtime'; export declare class ArrayWrapper extends ValueWrapper { getTypeName(): string; } export declare function autoTypeToClass(typeName: string): typeof UnknownWrapper; export declare function autoTypeToField(key: string, dataValue: ValueWrapper): PartialFieldInfo; export declare class BoolWrapper extends ValueWrapper { getTypeName(): string; } export declare class BytesWrapper extends ValueWrapper { getTypeName(): string; } export declare class ChainProto extends ProtoBufBase { push(data: T): this; } export declare function decodeProtoBuf(typeName: string, message: any, fieldNo: number, wireType: WireType, data: Uint8Array, encodeBytes?: (data: Uint8Array) => T): void; export declare class DoubleWrapper extends ValueWrapper { getTypeName(): string; } export declare type ExtractSchema = Omit<{ [K in keyof T]: T[K] extends ProtoBufBase ? ExtractSchema : ExtractType; }, keyof ProtoBufBase>; export declare type ExtractType = T extends ArrayWrapper ? V[] : T extends ValueWrapper ? U : T extends ProtoBufBase ? ExtractSchema : T; export declare class Fixed32Wrapper extends ValueWrapper { getTypeName(): string; } export declare class Fixed64Wrapper extends ValueWrapper { getTypeName(): string; } export declare class FloatWrapper extends ValueWrapper { getTypeName(): string; } export declare class Int32Wrapper extends ValueWrapper { getTypeName(): string; } export declare class Int64Wrapper extends ValueWrapper { getTypeName(): string; } export declare function PBArray(field: number | undefined, data: T, opt?: boolean, value?: T[]): Omit[]; export declare function PBBool(field?: number, opt?: boolean, value?: boolean): boolean; export declare function PBBytes(field?: number, opt?: boolean, value?: Uint8Array): Uint8Array; export declare function PBDouble(field?: number, opt?: boolean, value?: number): number; export declare function PBFixed32(field?: number, opt?: boolean, value?: number): number; export declare function PBFixed64(field?: number, opt?: boolean, value?: bigint): bigint; export declare function PBFloat(field?: number, opt?: boolean, value?: number): number; export declare function PBInt32(field?: number, opt?: boolean, value?: number): number; export declare function PBInt64(field?: number, opt?: boolean, value?: bigint): bigint; export declare function PBSFixed32(field?: number, opt?: boolean, value?: number): number; export declare function PBSFixed64(field?: number, opt?: boolean, value?: bigint): bigint; export declare function PBSInt32(field?: number, opt?: boolean, value?: number): number; export declare function PBSInt64(field?: number, opt?: boolean, value?: bigint): bigint; export declare function PBString(field?: number, opt?: boolean, value?: string): string; export declare function PBUint32(field?: number, opt?: boolean, value?: number): number; export declare function PBUint64(field?: number, opt?: boolean, value?: bigint): bigint; export declare function ProtoBuf(field: number, valueClass: new () => T): T; export declare function ProtoBuf(valueClass: new () => T): T; export declare class ProtoBufBase { _fieldId: number; generateFields(): PartialFieldInfo[]; assignFields(fields: { [key: string]: unknown; }): void; toObject(): Omit; encode(): Uint8Array; decode(data: Uint8Array): this; then(callback: (data: this) => void): void; } export declare function ProtoBufDecode(data: Uint8Array, encodeBytes?: (data: Uint8Array) => T): object; export declare function ProtoBufEx>(valueClass: new () => T, value?: U): T; export declare function ProtoBufIn(field: number, data: T): T; export declare function ProtoBufIn(data: T): T; export declare function ProtoBufQuick(pb: T, data: U): ProtoBufBase; export declare function proxyClassProtobuf(protobuf: T): T; export declare class SFixed32Wrapper extends ValueWrapper { getTypeName(): string; } export declare class SFixed64Wrapper extends ValueWrapper { getTypeName(): string; } export declare class SInt32Wrapper extends ValueWrapper { getTypeName(): string; } export declare class SInt64Wrapper extends ValueWrapper { getTypeName(): string; } export declare class StringWrapper extends ValueWrapper { getTypeName(): string; } export declare class UInt32Wrapper extends ValueWrapper { getTypeName(): string; } export declare class UInt64Wrapper extends ValueWrapper { getTypeName(): string; } export declare class UnknownWrapper extends ValueWrapper { getTypeName(): string; } export declare function UnWrap(data: T): T; export declare class ValueWrapper { _value: T; _fieldId: number; _opt: boolean; _callback?: Function; constructor(field: number, value: T, opt: boolean, callback?: Function); get value(): T; set value(newValue: T); getTypeName(): string; getFieldId(): number; getField(key: string): PartialFieldInfo; } export { }