//#region src/index.d.ts
type BinaryLike = Uint8Array | Uint8ClampedArray | ArrayBufferLike | DataView;
type Options = {
  littleEndian?: boolean;
};
declare class BinaryReader {
  #private;
  constructor(u8: BinaryLike, opts?: Options);
  get position(): number;
  get size(): number;
  get remain(): number;
  eof(): boolean;
  seek(n: number | string): this;
  bookmark(s: string): this;
  rewind(): this;
  skip(n?: number): this;
  align(n: number): this;
  peekBytes(n?: number): Uint8Array<ArrayBuffer | SharedArrayBuffer>;
  readUint8(): number;
  readUint16(littleEndian?: boolean): number;
  readUint16le(): number;
  readUint16be(): number;
  readUint32(littleEndian?: boolean): number;
  readUint32le(): number;
  readUint32be(): number;
  readUint64(littleEndian?: boolean): bigint;
  readUint64le(): bigint;
  readUint64be(): bigint;
  readInt8(): number;
  readInt16(littleEndian?: boolean): number;
  readInt16le(): number;
  readInt16be(): number;
  readInt32(littleEndian?: boolean): number;
  readInt32le(): number;
  readInt32be(): number;
  readInt64(littleEndian?: boolean): bigint;
  readInt64le(): bigint;
  readInt64be(): bigint;
  readFloat16(littleEndian?: boolean): number;
  readFloat16le(): number;
  readFloat16be(): number;
  readFloat32(littleEndian?: boolean): number;
  readFloat32le(): number;
  readFloat32be(): number;
  readFloat64(littleEndian?: boolean): number;
  readFloat64le(): number;
  readFloat64be(): number;
  readBytes(n?: number): Uint8Array<ArrayBuffer | SharedArrayBuffer>;
  /**
   * @returns string. undefined on oversize or EOF.
   */
  readString(len?: number, encoding?: string | ((u8: Uint8Array) => string)): string | undefined;
}
//#endregion
export { BinaryLike, BinaryReader, BinaryReader as default };