import { BinaryIO } from '../common/BinaryIO.js';
import { type ArxColor } from '../common/Color.js';
import type { ArxRotation, ArxVector3 } from '../common/types.js';
/**
 * @see https://github.com/arx/ArxLibertatis/blob/1.2.1/src/scene/LevelFormat.h#L132
 */
export type ArxFog = {
    pos: ArxVector3;
    color: ArxColor;
    size: number;
    /** either 0 or 1 - ? */
    special: number;
    scale: number;
    /** a normal vector, all axis are between -1 and 1 */
    move: ArxVector3;
    angle: ArxRotation;
    speed: number;
    rotateSpeed: number;
    /** milliseconds */
    toLive: number;
    frequency: number;
};
export declare class Fog {
    static readFrom(binary: BinaryIO<ArrayBufferLike>): ArxFog;
    static accumulateFrom(fog: ArxFog): ArrayBuffer;
    static sizeOf(): number;
}
