import type { LoaderOptions } from '@loaders.gl/loader-utils';
import type { TextureFormat, TextureLevel } from '@loaders.gl/schema';
import { parseBasis } from "./lib/parsers/parse-basis.js";
import type { BasisFormat } from "./lib/parsers/parse-basis.js";
type BasisFormatOption = BasisFormat | Uppercase<BasisFormat>;
type BasisTargetFormat = 'auto' | BasisFormatOption | {
    alpha: BasisFormatOption;
    noAlpha: BasisFormatOption;
};
/** Options for the BasisLoader */
export type BasisLoaderOptions = LoaderOptions & {
    /** Options for the BasisLoader */
    basis?: {
        /** Supported texture formats - app would typically query a WebGPU device or WebGL context to obtain the list of supported formats.*/
        supportedTextureFormats?: TextureFormat[];
        /** Override the URL to the worker bundle (by default loads from unpkg.com) */
        workerUrl?: string;
        /** What container format is used? */
        containerFormat?: 'auto' | 'ktx2' | 'basis';
        /** Format for texture data. auto selects based on platform caps (but gl context doesn't exist on a worker thread) */
        format?: BasisTargetFormat;
        /** What module to use for transcoding? */
        module?: 'transcoder' | 'encoder';
    };
};
/**
 * Worker loader for Basis super compressed textures
 */
export declare const BasisWorkerLoader: {
    readonly dataType: TextureLevel[][];
    readonly batchType: never;
    readonly name: "Basis";
    readonly id: "basis";
    readonly module: "textures";
    readonly version: any;
    readonly worker: true;
    readonly extensions: ["basis", "ktx2"];
    readonly mimeTypes: ["application/octet-stream", "image/ktx2"];
    readonly tests: ["sB"];
    readonly binary: true;
    readonly options: {
        readonly basis: {
            readonly format: "auto";
            readonly containerFormat: "auto";
            readonly module: "transcoder";
        };
    };
};
/**
 * Loader for Basis super compressed textures
 */
export declare const BasisLoader: {
    readonly parse: typeof parseBasis;
    readonly dataType: TextureLevel[][];
    readonly batchType: never;
    readonly name: "Basis";
    readonly id: "basis";
    readonly module: "textures";
    readonly version: any;
    readonly worker: true;
    readonly extensions: ["basis", "ktx2"];
    readonly mimeTypes: ["application/octet-stream", "image/ktx2"];
    readonly tests: ["sB"];
    readonly binary: true;
    readonly options: {
        readonly basis: {
            readonly format: "auto";
            readonly containerFormat: "auto";
            readonly module: "transcoder";
        };
    };
};
export {};
//# sourceMappingURL=basis-loader.d.ts.map