import { default as BinaryStream } from '@jsprismarine/jsbinaryutils';
import { default as InetAddress } from '../utils/InetAddress';
/**
 * The base class for all packets.
 */
export default class Packet extends BinaryStream {
    private readonly id;
    /**
     * Create a new packet.
     */
    constructor(id: number, buffer?: Buffer);
    /**
     * Get the packet ID.
     * @returns The packet's ID.
     */
    getId(): number;
    decode(): void;
    protected decodePayload(): void;
    encode(): void;
    protected encodePayload(): void;
    readString(): string;
    writeString(v: string): void;
    readAddress(): InetAddress;
    writeAddress(address: InetAddress): void;
}
//# sourceMappingURL=Packet.d.ts.map