import { Scene } from '@babylonjs/core/scene';


export type ModelLoadProgressDetail = {
    url?: string;
    lengthComputable?: boolean;
    loadedBytes?: number;
    totalBytes?: number;
};

export type ModelLoadProgressPayload = {
    loaded: number;
    total: number;
    url?: string;
    urls?: string[];
    success?: boolean;
    progress?: number;
    percentage?: number;
    detail?: ModelLoadProgressDetail;
};

export type ModelLoadErrorPayload = {
    url: string;
    error?: unknown;
};

export type ModelLoadedPayload = {
    urls: string[];
};

export type ModelClickPayload = {
    meshName?: string;
};

export type SceneReadyPayload = {
    scene: Scene | null;
};
