import {
	Uniform
} from '../../../src/Three';

export const SkinShaderBasic: {
	uniforms: {
		ambientLightColor: Uniform;
		bumpMap: Uniform;
		bumpScale: Uniform;
		diffuse: Uniform;
		directionalLights: Uniform;
		directionalShadowMap: Uniform;
		directionalShadowMatrix: Uniform;
		enableBump: Uniform;
		enableSpecular: Uniform;
		fogColor: Uniform;
		fogDensity: Uniform;
		fogFar: Uniform;
		fogNear: Uniform;
		hemisphereLights: Uniform;
		lightProbe: Uniform;
		offsetRepeat: Uniform;
		opacity: Uniform;
		pointLights: Uniform;
		pointShadowMap: Uniform;
		pointShadowMatrix: Uniform;
		rectAreaLights: Uniform;
		specular: Uniform;
		specularMap: Uniform;
		spotLights: Uniform;
		spotShadowMap: Uniform;
		spotShadowMatrix: Uniform;
		tBeckmann: Uniform;
		tDiffuse: Uniform;
		uRoughness: Uniform;
		uSpecularBrightness: Uniform;
		uWrapRGB: Uniform;
	};
	vertexShader: string;
	fragmentShader: string;
};

export const SkinShaderAdvanced: {
	uniforms: {
		ambientLightColor: Uniform;
		diffuse: Uniform;
		directionalLights: Uniform;
		directionalShadowMap: Uniform;
		directionalShadowMatrix: Uniform;
		fogColor: Uniform;
		fogDensity: Uniform;
		fogFar: Uniform;
		fogNear: Uniform;
		hemisphereLights: Uniform;
		lightProbe: Uniform;
		opacity: Uniform;
		passID: Uniform;
		pointLights: Uniform;
		pointShadowMap: Uniform;
		pointShadowMatrix: Uniform;
		rectAreaLights: Uniform;
		specular: Uniform;
		spotLights: Uniform;
		spotShadowMap: Uniform;
		spotShadowMatrix: Uniform;
		tBeckmann: Uniform;
		tBlur1: Uniform;
		tBlur2: Uniform;
		tBlur3: Uniform;
		tBlur4: Uniform;
		tDiffuse: Uniform;
		tNormal: Uniform;
		uNormalScale: Uniform;
		uRoughness: Uniform;
		uSpecularBrightness: Uniform;
	};
	vertexShader: string;
	fragmentShader: string;
};

export const SkinShaderBeckmann: {
	uniforms: {};
	vertexShader: string;
	fragmentShader: string;
};
