import { WireType } from './wire-type'; export interface ReaderLike { buf: Uint8Array; pos: number; len: number; assertBounds(): void; dataView: DataView; } export declare const createReader: (uint8Array: Uint8Array) => ReaderLike; export declare const readTag: (reader: ReaderLike) => [number, WireType]; export declare const readUint32: (reader: ReaderLike) => number; export declare const readInt32: (reader: ReaderLike) => number; export declare const readEnum: (reader: ReaderLike) => number; export declare const readSint32: (reader: ReaderLike) => number; export declare const readSint64: (reader: ReaderLike) => string; export declare const readInt64: (reader: ReaderLike) => string; export declare const readUint64: (reader: ReaderLike) => string; export declare const readBool: (reader: ReaderLike) => boolean; export declare const readAsBytes: (reader: ReaderLike) => Uint8Array; export declare const readString: (reader: ReaderLike) => string; export declare const readDouble: (reader: ReaderLike) => number; export declare const readFloat: (reader: ReaderLike) => number; export declare const readFixed32: (reader: ReaderLike) => number; export declare const readFixed64: (reader: ReaderLike) => string; export declare const readSfixed32: (reader: ReaderLike) => number; export declare const readSfixed64: (reader: ReaderLike) => string; export declare const forkReader: (reader: ReaderLike, opts: { len: number; }) => ReaderLike & { len: number; }; export declare const skip: (reader: ReaderLike, { wireType, fieldNo, }: { wireType: WireType; fieldNo?: number; }) => Uint8Array; export declare const arrayBufferToReader: (arrayBuffer: ArrayBuffer) => ReaderLike;