export declare const speckleCopyOutputFrag = "\n    uniform float opacity;\n    uniform sampler2D tDiffuse;\n    varying vec2 vUv;\n\n    const float UnpackDownscale = 255. / 256.;\n    const vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\n    const vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\n\n    float unpackRGBAToDepth( const in vec4 v ) {\n        return dot( v, UnpackFactors );\n    }\n\n    vec3 unpackRGBToNormal( const in vec3 rgb ) {\n        return 2.0 * rgb.xyz - 1.0;\n    }\n\n    void main() {\n        vec4 inSample = texture2D( tDiffuse, vUv );\n        vec3 outSample = inSample.rgb;\n        #if INPUT_TYPE == 0\n            /** \n                Un-premultiply alpha\n            */\n            inSample.rgb /= inSample.a;\n            outSample = LinearTosRGB( inSample ).rgb;\n        #elif INPUT_TYPE == 1\n            outSample.rgb = vec3(unpackRGBAToDepth(inSample));\n        #elif INPUT_TYPE == 2\n            outSample.rgb = unpackRGBToNormal(inSample.rgb);\n        #endif\n\n        gl_FragColor.rgb = outSample;\n        gl_FragColor.a = inSample.a;\n    }";
