import type { LoaderContext } from '@loaders.gl/loader-utils';
import type { Texture } from '@loaders.gl/schema';
import type { TextureLoaderOptions } from "../texture-api/texture-api-types.js";
import { type ImageCubeTexture, type ImageTextureCubeDirectionAlias, type ImageTextureCubeFace } from "./image-texture-cube.js";
export type ImageTextureTemplateSource = {
    mipLevels: number | 'auto';
    template: string;
};
export type ImageTextureSource = string | string[] | ImageTextureTemplateSource;
export type ImageTextureManifest = {
    shape: 'image-texture';
    image?: string;
    mipLevels?: number | 'auto';
    template?: string;
    mipmaps?: string[];
};
export type ImageTextureArrayManifest = {
    shape: 'image-texture-array';
    layers: ImageTextureSource[];
};
export type ImageTextureCubeFaces = Partial<Record<ImageTextureCubeFace | ImageTextureCubeDirectionAlias, ImageTextureSource>>;
export type ImageTextureCubeManifest = {
    shape: 'image-texture-cube';
    faces: ImageTextureCubeFaces;
};
export type ImageTextureCubeArrayLayer = {
    faces: ImageTextureCubeFaces;
};
export type ImageTextureCubeArrayManifest = {
    shape: 'image-texture-cube-array';
    layers: ImageTextureCubeArrayLayer[];
};
export type CompositeImageManifest = ImageTextureManifest | ImageTextureArrayManifest | ImageTextureCubeManifest | ImageTextureCubeArrayManifest;
export type CompositeImageUrlTree = ImageTextureSource | ImageTextureSource[] | ImageCubeTexture | ImageCubeTexture[];
export declare function parseCompositeImageManifest(text: string, expectedShape: CompositeImageManifest['shape'], options?: TextureLoaderOptions, context?: LoaderContext): Promise<any>;
export declare function testCompositeImageManifestShape(text: string, shape: CompositeImageManifest['shape']): boolean;
export declare function loadCompositeImageManifest(manifest: CompositeImageManifest, options?: TextureLoaderOptions, context?: LoaderContext): Promise<Texture>;
export declare function loadCompositeImageUrlTree(urlTree: CompositeImageUrlTree, options?: TextureLoaderOptions, context?: LoaderContext): Promise<any>;
export declare function loadCompositeImageMember(url: string, options?: TextureLoaderOptions, context?: LoaderContext): Promise<any>;
export declare function getCompositeImageUrlTree(manifest: CompositeImageManifest, options?: TextureLoaderOptions, context?: LoaderContext): Promise<CompositeImageUrlTree>;
export declare function normalizeCompositeImageOptions(options?: TextureLoaderOptions): TextureLoaderOptions;
export declare function resolveCompositeImageUrl(url: string, options?: TextureLoaderOptions, context?: LoaderContext): string;
//# sourceMappingURL=parse-composite-image.d.ts.map