import '../../../globals.js';
/**
 * A RasterColorConverter which handles either sRGB or Display P3 for everything but we have:
 * - client space: premultiplied
 * - accumulation space: premultiplied linear
 * - output space: 0-255 (non-premultiplied non-linear), so we can write to ImageData
 *
 * This works well to share code, since the only difference is the gamut mapping (sRGB and Display P3 have the same
 * transfer curve), and we want the same 0-255 non-premultiplied output.
 *
 * @author Jonathan Olson <jonathan.olson@colorado.edu>
 */
import Vector4 from '../../../dot/js/Vector4.js';
import { RasterColorConverter } from '../imports.js';
export default class RasterPremultipliedConverter implements RasterColorConverter {
    readonly gamutMap: (color: Vector4) => Vector4;
    protected constructor(gamutMap: (color: Vector4) => Vector4);
    static readonly SRGB: RasterPremultipliedConverter;
    static readonly DISPLAY_P3: RasterPremultipliedConverter;
    static readonly SRGB_SHOW_OUT_OF_GAMUT: RasterPremultipliedConverter;
    static readonly DISPLAY_P3_SHOW_OUT_OF_GAMUT: RasterPremultipliedConverter;
    clientToAccumulation(client: Vector4): Vector4;
    clientToOutput(client: Vector4): Vector4;
    accumulationToOutput(accumulation: Vector4): Vector4;
    static getOutOfGamutColor(color: Vector4): Vector4;
}
//# sourceMappingURL=RasterPremultipliedConverter.d.ts.map