import * as THREE from 'three';
export declare const SKYBOX_TEXTURE_NAME = "Materials/diamond5.hdr";
export declare const SKYBOX_DIFRACTION_TEXTURE_NAME = "Materials/2blights_0.jpg";
export declare const INNER_TEX_TEXTURE_NAME = "Materials/2blights_0.jpg";
export declare const INNER_SPECULAR_D1_TEXTURE_NAME = "Materials/diamond.hdr";
export declare const INNER_SPECULAR_D2_TEXTURE_NAME = "Materials/diamond.hdr";
export declare const INNER_SPECULAR_D3_TEXTURE_NAME = "Materials/diamond.hdr";
export declare const VERT_SHADER_NAME = "Materials/DiamondShader2_2.vert";
export declare const FRAG_SHADER_NAME = "Materials/DiamondShader_20230112_2.frag";
export type TextureConfig = {
    skybox_texture: string;
    inner_texture: string;
    inner_specular_d1: string;
    inner_specular_d2: string;
    inner_specular_d3: string;
};
export declare function getDefaultTextures(): TextureConfig;
export declare function addBaseLoadResourceTasks(loadResorceTasks: Promise<THREE.Texture | string>[], textures?: TextureConfig): Promise<THREE.Texture | string>[];
export declare function getBaseUniforms(resources: (THREE.Texture | string)[], jewelry: THREE.Mesh): {
    _RefractionIndex: {
        value: number;
    };
    _OutReflectionMap: {
        value: string | THREE.Texture | undefined;
    };
    _InnerReflectionMap: {
        value: string | THREE.Texture | undefined;
    };
    _CenterDrift: {
        value: number;
    };
    _NormalMapDrift: {
        value: number;
    };
    _Reflection: {
        value: number;
    };
    _Refraction: {
        value: number;
    };
    _Color: {
        value: THREE.Vector4;
    };
    _Opacity: {
        value: number;
    };
    _NormalRot: {
        value: number;
    };
    _InnerSpecular: {
        value: number;
    };
    _OutSpecular: {
        value: number;
    };
    _SpecularMap: {
        value: string | THREE.Texture | undefined;
    };
    _ReflectionMap: {
        value: string | THREE.Texture | undefined;
    };
    _NormalOutZrot: {
        value: number;
    };
    _NormalOutXrot: {
        value: number;
    };
    _NormalOutYrot: {
        value: number;
    };
    _NormalZrot: {
        value: number;
    };
    _NormalXrot: {
        value: number;
    };
    _NormalYrot: {
        value: number;
    };
    _NormalOutReflect: {
        value: number;
    };
    _InNegX: {
        value: number;
    };
    _InNegY: {
        value: number;
    };
    _InNegZ: {
        value: number;
    };
    _yNormalScale: {
        value: number;
    };
    _OutNegX: {
        value: number;
    };
    _OutNegZ: {
        value: number;
    };
    _SpecularMapD1: {
        value: string | THREE.Texture | undefined;
    };
    _SpecularMapD2: {
        value: string | THREE.Texture | undefined;
    };
    _SpecularMapD3: {
        value: string | THREE.Texture | undefined;
    };
};
export declare function loadTexture(name: string): Promise<THREE.Texture>;
export declare function loadShader(name: string): Promise<string>;
