import { Texture, WebGLRenderer } from 'three';
import { Font } from 'three/examples/jsm/loaders/FontLoader.js';
import { type Asset } from '../IViewer.js';
export declare class Assets {
    private static _cache;
    private static getLoader;
    private static hdriToPMREM;
    static getEnvironment(asset: Asset, renderer: WebGLRenderer): Promise<Texture>;
    static getTexture(asset: Asset): Promise<Texture>;
    static getFont(asset: Asset | string): Promise<Font>;
    /** To be used wisely */
    static getTextureData(asset: Asset): Promise<ImageData>;
    static generateGradientRampTexture(fromColor: string, toColor: string, steps: number): void;
    static generateDiscreetRampTexture(hexColors: number[]): Texture;
}
