import { Texture } from 'three';
import { BaseNodeType } from '../../engine/nodes/_Base';
import { CoreBaseLoader } from './_Base';
type MaxConcurrentLoadsCountMethod = () => number;
export declare class CoreLoaderTexture extends CoreBaseLoader<string> {
    protected _node: BaseNodeType;
    constructor(_url: string, _node: BaseNodeType);
    static replaceExtension(url: string, new_extension: string): string;
    private static MAX_CONCURRENT_LOADS_COUNT;
    private static CONCURRENT_LOADS_DELAY;
    private static in_progress_loads_count;
    private static _queue;
    private static _maxConcurrentLoadsCountMethod;
    static setMaxConcurrentLoadsCount(method: MaxConcurrentLoadsCountMethod | undefined): void;
    private static _init_max_concurrent_loads_count;
    private static _init_concurrent_loads_delay;
    static incrementInProgressLoadsCount(): void;
    static decrementInProgressLoadsCount(url: string, texture?: Texture): void;
    static waitForMaxConcurrentLoadsQueueFreed(): Promise<void>;
}
export {};
