import { Document, ILogger, vec2, Texture } from '@gltf-transform/core'; import { ETC1SOptions, UASTCOptions } from './toktx_types.js'; export declare const KTX_SOFTWARE_VERSION_MIN = "4.3.0"; export declare const Filter: { BOX: string; TENT: string; BELL: string; BSPLINE: string; MITCHELL: string; LANCZOS3: string; LANCZOS4: string; LANCZOS6: string; LANCZOS12: string; BLACKMAN: string; KAISER: string; GAUSSIAN: string; CATMULLROM: string; QUADRATIC_INTERP: string; QUADRATIC_APPROX: string; QUADRATIC_MIX: string; }; /********************************************************************************************** * Interfaces. */ export declare const Mode: { ETC1S: string; UASTC: string; }; export type TextureModeArgs = { doc: Document; texture: Texture; index: number; options: ETC1SOptions | UASTCOptions; }; export type TextureParamsArgs = { doc: Document; texture: Texture; index: number; params: Array; }; export interface ToktxOptions { toktxPath?: string; /** return false if texture should not be compressed */ modifyOptions?: (args: TextureModeArgs) => void | boolean; modifyParams?: (args: TextureParamsArgs) => void; } /********************************************************************************************** * Utilities. */ /** Create CLI parameters from the given options. Attempts to write only non-default options. */ export declare function createParams(texture: Texture, slots: string[], channels: number, size: vec2, logger: ILogger, numTextures: number, options: ETC1SOptions | UASTCOptions): (string | number)[]; export declare function checkKTXSoftware(logger: ILogger, env?: any): Promise;