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