import '../../../globals.js';
/**
 * Enumeration of color spaces we'll want to convert from/to
 *
 * @author Jonathan Olson <jonathan.olson@colorado.edu>
 */
import { RenderProgram } from '../imports.js';
import Vector4 from '../../../dot/js/Vector4.js';
export default class RenderColorSpace {
    readonly name: string;
    readonly isPremultiplied: boolean;
    readonly isLinear: boolean;
    readonly toLinear?: ((color: Vector4) => Vector4) | undefined;
    readonly fromLinear?: ((color: Vector4) => Vector4) | undefined;
    readonly linearToLinearSRGB?: ((color: Vector4) => Vector4) | undefined;
    readonly linearSRGBToLinear?: ((color: Vector4) => Vector4) | undefined;
    readonly toLinearRenderProgram?: ((renderProgram: RenderProgram) => RenderProgram) | undefined;
    readonly fromLinearRenderProgram?: ((renderProgram: RenderProgram) => RenderProgram) | undefined;
    readonly linearToLinearSRGBRenderProgram?: ((renderProgram: RenderProgram) => RenderProgram) | undefined;
    readonly linearSRGBToLinearRenderProgram?: ((renderProgram: RenderProgram) => RenderProgram) | undefined;
    protected constructor(name: string, isPremultiplied: boolean, isLinear: boolean, toLinear?: ((color: Vector4) => Vector4) | undefined, fromLinear?: ((color: Vector4) => Vector4) | undefined, linearToLinearSRGB?: ((color: Vector4) => Vector4) | undefined, linearSRGBToLinear?: ((color: Vector4) => Vector4) | undefined, toLinearRenderProgram?: ((renderProgram: RenderProgram) => RenderProgram) | undefined, fromLinearRenderProgram?: ((renderProgram: RenderProgram) => RenderProgram) | undefined, linearToLinearSRGBRenderProgram?: ((renderProgram: RenderProgram) => RenderProgram) | undefined, linearSRGBToLinearRenderProgram?: ((renderProgram: RenderProgram) => RenderProgram) | undefined);
    static readonly XYZ: RenderColorSpace;
    static readonly xyY: RenderColorSpace;
    static readonly sRGB: RenderColorSpace;
    static readonly premultipliedSRGB: RenderColorSpace;
    static readonly linearSRGB: RenderColorSpace;
    static readonly premultipliedLinearSRGB: RenderColorSpace;
    static readonly displayP3: RenderColorSpace;
    static readonly premultipliedDisplayP3: RenderColorSpace;
    static readonly linearDisplayP3: RenderColorSpace;
    static readonly premultipliedLinearDisplayP3: RenderColorSpace;
    static readonly oklab: RenderColorSpace;
    static readonly premultipliedOklab: RenderColorSpace;
}
//# sourceMappingURL=RenderColorSpace.d.ts.map