import { TextureSource, WebGLRenderingContextWithProgram } from "../types/index";
import BaseScene from "./interface/BaseScene";
import Pano from "./Pano";
import { SceneAngle } from "./interface/Scene";
export default class SphereScene extends BaseScene {
    /**
     * @static {number} sections 球体经纬被切分的份数
     * */
    static sections: number;
    /**
     * @static
     * @return {{vertices, texs, indices}} 顶点坐标，纹理坐标，顶点索引
     * */
    static get verticeTexIndices(): {
        vertices: Float32Array;
        texs: Float32Array;
        indices: Uint32Array;
    };
    /**
     * 将每个面的纹理贴图赋值给每个面的 sampler
     * @param {WebGLRenderingContextWithProgram} gl WebGL 上下文
     * @param {TexImageSource} image 图像资源
     * */
    static initTexture(gl: WebGLRenderingContextWithProgram, image: TexImageSource): void;
    /**
     * @property {TextureSource} textures 2:1球体纹理图
     * */
    textures: TextureSource;
    /**
     * @constructor 构造函数
     * @param {string} texture 宽高比2:1的纹理图片
     * @param {SceneAngle} defaultAngle 默认展示角度
     * */
    constructor(texture: TextureSource, defaultAngle?: SceneAngle);
    /**
     * 渲染球体
     * */
    drawModel(): void;
    /**
     * 加载纹理贴图
     * @return {Promise<TexImageSource>} 图像资源
     * */
    private loadTextures;
    replaceTextures(texture: TextureSource): void;
    /**
     * 渲染到 pano
     * @param {Pano} pano 父容器
     * */
    render(pano: Pano): void;
}
