import { Extension, ExtensionProperty, PropertyType, ReaderContext, WriterContext } from "@gltf-transform/core"; export declare const NEEDLE_PROGRESSIVE_EXTENSION_NAME = "NEEDLE_progressive"; export type ProgressiveLoadingInfo = { /** guid of the asset the LODs belong to */ guid: string; /** lod infos and paths */ lods?: Array; }; type LodInfo = { /** Relative path to the LOD file */ path: string; /** Hash of the LOD file. It has been generated using the file content and settings */ hash: string; }; export type ProgressiveTextureLodEntry = LodInfo & { width: number; height: number; }; export type ProgressiveTextureModel = ProgressiveLoadingInfo & { lods?: Array; }; export type ProgressiveMeshModel = ProgressiveLoadingInfo & { lods?: Array; }>; }; export declare class NEEDLE_progressive extends Extension { static EXTENSION_NAME: string; extensionName: string; createTexture(data: ProgressiveTextureModel): NEEDLE_progressive_property; createMesh(data: ProgressiveMeshModel): NEEDLE_progressive_property; read(_context: ReaderContext): this; write(context: WriterContext): this; } export declare class NEEDLE_progressive_property extends ExtensionProperty { static EXTENSION_NAME: string; readonly extensionName: string; parentTypes: PropertyType[]; propertyType: string; init(): void; model: ProgressiveLoadingInfo; } export {};