import type { ISceneLoaderProgressEvent } from "@babylonjs/core/Loading/sceneLoader"; import type { Nullable } from "@babylonjs/core/types"; /** @internal */ export interface IProgressTask { readonly name: string; readonly cost: number; } /** @internal */ export declare class Progress { readonly lengthComputable: boolean; readonly total: number; private readonly _onProgress; private readonly _unprocessedTasks; private readonly _processingTasks; private readonly _endedTaskNames; private _endedTasksTotal; constructor(lengthComputable: boolean, tasks: IProgressTask[], onProgress: Nullable<(progress: ISceneLoaderProgressEvent) => void>); private _getTaskState; processTask(taskName: string, cost: number): void; setTaskProgress(taskName: string, progress: number): boolean; setTaskProgressRatio(taskName: string, ratio: number, useFloor: boolean): boolean; endTask(taskName: string): void; invokeProgressEvent(): void; get loaded(): number; }