import { Calibration } from "./Calibration";
import { PointCloud } from "./PointCloud";
import { RawPacket } from "./RawPacket";
export declare type TransformerOptions = {
    minRange?: number;
    maxRange?: number;
    minAngle?: number;
    maxAngle?: number;
};
export declare class Transformer {
    calibration: Calibration;
    minRange: number;
    maxRange: number;
    minAngle: number;
    maxAngle: number;
    constructor(calibration: Calibration, { minRange, maxRange, minAngle, maxAngle }?: TransformerOptions);
    /**
     * Unpack a raw Velodyne packet into a destination PointCloud class.
     * @param raw Velodyne packet
     * @param scanStamp Timestamp of the first packet in the point cloud, as
     *   fractional UNIX epoch seconds
     * @param packetStamp Optional timestamp of the current packet in the point
     *   cloud, as fractional UNIX epoch seconds. In unspecified, raw.timestamp()
     *   will be used
     */
    unpack(raw: RawPacket, scanStamp: number, packetStamp: number | undefined, output: PointCloud): void;
    private _unpackGeneric;
    private _unpackVLS128;
    private _unpackVLP16;
}
//# sourceMappingURL=Transformer.d.ts.map