import { BinaryIO } from '../common/BinaryIO.js';
import type { ArxVector3 } from '../common/types.js';
/**
 * @see https://github.com/arx/ArxLibertatis/blob/1.2.1/src/graphics/GraphicsFormat.h#L82
 * @see https://learn.microsoft.com/en-us/previous-versions/ms896915(v=msdn.10)
 */
export type ArxTextureVertex = {
    /**
     * sx, sy and sz of D3DTLVERTEX (screen coordinates)
     */
    pos: ArxVector3;
    /**
     * portal bounds radius - used by ARX_PORTALS_Frustrum_ComputeRoom
     *
     * [r]eciprocal of [h]omogeneous [w] from homogeneous coordinates (x, y, z, w)
     * @see https://learn.microsoft.com/en-us/previous-versions/ms896915(v=msdn.10)#members
     */
    rhw: number;
};
export declare class TextureVertex {
    static readFrom(binary: BinaryIO<ArrayBufferLike>): ArxTextureVertex;
    static accumulateFrom(vertex: ArxTextureVertex, idx: number): ArrayBuffer;
    static sizeOf(): number;
}
