import { default as BinaryStream } from '../../../jsbinaryutils/src/index.ts';
import { Vector3 } from '../../../math/src/index.ts';
import { default as BlockPosition } from '../world/BlockPosition';
export declare class NetworkUtil {
    static readString(stream: BinaryStream): string;
    static writeString(stream: BinaryStream, str: string): void;
    static readLELengthASCIIString(stream: BinaryStream): string;
    static writeLELengthASCIIString(stream: BinaryStream, str: string): void;
    /**
     * Serialize a `Vector3` instance into a `BinaryStream`.
     * @param {BinaryStream} stream - The network stream.
     * @param {Vector3} vec - The vector to serialize.
     */
    static writeVector3(stream: BinaryStream, vec: Vector3 | null): void;
    /**
     * Deserialize a `Vector3` from a `BinaryStream`.
     * @param {BinaryStream} stream - The network stream.
     * @returns {Vector3} The deserialized `Vector3`.
     */
    static readVector3(stream: BinaryStream): Vector3;
    /**
     * Serialize a `BlockPosition` instance into a `BinaryStream`.
     * @param {BinaryStream} stream - The network stream.
     * @param {BlockPosition} pos - The block position to serialize.
     */
    static writeBlockPosition(stream: BinaryStream, pos: BlockPosition): void;
    /**
     * Serialize a `BlockPosition` instance into a `BinaryStream`.
     * @param {BinaryStream} stream - The network stream.
     * @param {BlockPosition} pos - The block position to serialize.
     */
    static writeUnsignedBlockPosition(stream: BinaryStream, pos: BlockPosition): void;
    /**
     * Deserialize a `BlockPosition` from a `BinaryStream`.
     * @param {BinaryStream} stream - The network stream.
     * @returns {BlockPosition} The deserialized `BlockPosition`.
     */
    static readBlockPosition(stream: BinaryStream): Vector3;
}
//# sourceMappingURL=NetworkUtil.d.ts.map