import { ILogger, Texture, Transform, vec2 } from '@gltf-transform/core'; import { Config } from '../config/index.js'; declare interface ProgressiveOptions { path: string | Array; /** Directory to output progressive assets to */ outpath?: string; results: Array; config: Config; debug?: boolean; verbose?: boolean; useCache?: boolean; logger: ILogger; } export declare function make_progressive(opts: ProgressiveOptions): Promise; export declare function createTransform(name: string, fn: Transform): Transform; export declare function make_progressive_textures(filePath: string, _options: TextureResizeOptions, opts: ProgressiveOptions): Transform; /** Options for the {@link textureResize} function. */ export interface TextureResizeOptions { /** * Maximum width/height to enforce, preserving aspect ratio. For example, * a 4096x8192 texture, resized with limit [2048, 2048] will be reduced * to 1024x2048. */ size: vec2; /** Resampling filter method. LANCZOS3 is sharper, LANCZOS2 is smoother. */ filter?: TextureResizeFilter; /** Pattern identifying textures to resize, matched to name or URI. */ pattern?: RegExp | null; /** Pattern to match slots usage for resizing. */ slots?: RegExp | null; } /** Resampling filter methods. LANCZOS3 is sharper, LANCZOS2 is smoother. */ export declare enum TextureResizeFilter { /** Lanczos3 (sharp) */ LANCZOS3 = "lanczos3", /** Lanczos2 (smooth) */ LANCZOS2 = "lanczos2" } export declare const TEXTURE_RESIZE_DEFAULTS: TextureResizeOptions; export declare function resizeTextureToMax(texture: Texture, maxSize: number, logger: ILogger): Promise; export declare function make_progressive_meshes(filePath: string, _options: any, opts?: ProgressiveOptions): Transform; export declare function isMeshLOD(filepath: string): boolean; export declare function isImageLOD(filepath: string): boolean; export declare function isLOD(filepath: string): boolean; export {};