export type FloatColorsProps = {
    /**
     * When true, semantic colors are interpreted as 0-255 byte-style values and normalized in shader code.
     * When false, semantic colors are interpreted directly as floats.
     */
    useByteColors?: boolean;
};
export type FloatColorsUniforms = {
    /** Controls whether shader helpers normalize semantic colors from byte space. */
    useByteColors: boolean;
};
export declare const floatColors: {
    readonly name: "floatColors";
    readonly props: FloatColorsProps;
    readonly uniforms: FloatColorsUniforms;
    readonly vs: "layout(std140) uniform floatColorsUniforms {\n  float useByteColors;\n} floatColors;\n\nvec3 floatColors_normalize(vec3 inputColor) {\n  return floatColors.useByteColors > 0.5 ? inputColor / 255.0 : inputColor;\n}\n\nvec4 floatColors_normalize(vec4 inputColor) {\n  return floatColors.useByteColors > 0.5 ? inputColor / 255.0 : inputColor;\n}\n\nvec4 floatColors_premultiplyAlpha(vec4 inputColor) {\n  return vec4(inputColor.rgb * inputColor.a, inputColor.a);\n}\n\nvec4 floatColors_unpremultiplyAlpha(vec4 inputColor) {\n  return inputColor.a > 0.0 ? vec4(inputColor.rgb / inputColor.a, inputColor.a) : vec4(0.0);\n}\n\nvec4 floatColors_premultiply_alpha(vec4 inputColor) {\n  return floatColors_premultiplyAlpha(inputColor);\n}\n\nvec4 floatColors_unpremultiply_alpha(vec4 inputColor) {\n  return floatColors_unpremultiplyAlpha(inputColor);\n}\n";
    readonly fs: "layout(std140) uniform floatColorsUniforms {\n  float useByteColors;\n} floatColors;\n\nvec3 floatColors_normalize(vec3 inputColor) {\n  return floatColors.useByteColors > 0.5 ? inputColor / 255.0 : inputColor;\n}\n\nvec4 floatColors_normalize(vec4 inputColor) {\n  return floatColors.useByteColors > 0.5 ? inputColor / 255.0 : inputColor;\n}\n\nvec4 floatColors_premultiplyAlpha(vec4 inputColor) {\n  return vec4(inputColor.rgb * inputColor.a, inputColor.a);\n}\n\nvec4 floatColors_unpremultiplyAlpha(vec4 inputColor) {\n  return inputColor.a > 0.0 ? vec4(inputColor.rgb / inputColor.a, inputColor.a) : vec4(0.0);\n}\n\nvec4 floatColors_premultiply_alpha(vec4 inputColor) {\n  return floatColors_premultiplyAlpha(inputColor);\n}\n\nvec4 floatColors_unpremultiply_alpha(vec4 inputColor) {\n  return floatColors_unpremultiplyAlpha(inputColor);\n}\n";
    readonly source: "struct floatColorsUniforms {\n  useByteColors: f32\n};\n\n@group(0) @binding(auto) var<uniform> floatColors : floatColorsUniforms;\n\nfn floatColors_normalize(inputColor: vec3<f32>) -> vec3<f32> {\n  return select(inputColor, inputColor / 255.0, floatColors.useByteColors > 0.5);\n}\n\nfn floatColors_normalize4(inputColor: vec4<f32>) -> vec4<f32> {\n  return select(inputColor, inputColor / 255.0, floatColors.useByteColors > 0.5);\n}\n\nfn floatColors_premultiplyAlpha(inputColor: vec4<f32>) -> vec4<f32> {\n  return vec4<f32>(inputColor.rgb * inputColor.a, inputColor.a);\n}\n\nfn floatColors_unpremultiplyAlpha(inputColor: vec4<f32>) -> vec4<f32> {\n  return select(\n    vec4<f32>(0.0),\n    vec4<f32>(inputColor.rgb / inputColor.a, inputColor.a),\n    inputColor.a > 0.0\n  );\n}\n\nfn floatColors_premultiply_alpha(inputColor: vec4<f32>) -> vec4<f32> {\n  return floatColors_premultiplyAlpha(inputColor);\n}\n\nfn floatColors_unpremultiply_alpha(inputColor: vec4<f32>) -> vec4<f32> {\n  return floatColors_unpremultiplyAlpha(inputColor);\n}\n";
    readonly uniformTypes: {
        readonly useByteColors: "f32";
    };
    readonly defaultUniforms: {
        readonly useByteColors: true;
    };
};
//# sourceMappingURL=float-colors.d.ts.map