import { BinaryIO } from './BinaryIO.js';
type ColorMode = 'bgra' | 'rgb' | 'abgr';
/**
 * Color containing red, green, blue and alpha channels
 *
 * @see https://github.com/arx/ArxLibertatis/blob/1.2.1/src/graphics/GraphicsFormat.h#L29
 */
export type ArxColor = {
    /** red channel, integer between 0 and 255 */
    r: number;
    /** green channel, integer between 0 and 255 */
    g: number;
    /** blue channel, integer between 0 and 255 */
    b: number;
    /** alpha channel, float between 0.0 and 1.0 */
    a: number;
};
export declare class Color {
    static readFrom(binary: BinaryIO<ArrayBufferLike>, mode: ColorMode): ArxColor;
    static accumulateFrom({ r, g, b, a }: ArxColor, mode: ColorMode): ArrayBuffer;
    static sizeOf(mode: ColorMode): number;
    static get black(): ArxColor;
    static get transparent(): ArxColor;
}
export {};
