import { TgdContext } from "../../../context";
import { TgdMaterial } from "../../../material";
import type { TgdDataGlb } from "../../../parser";
import { TgdTextureCube } from "../../../texture";
import type { ArrayNumber3, ArrayNumber4 } from "../../../types";
import { TgdPainterMesh } from "../mesh";
export interface TgdPainterMeshGltfMaterialDescription {
    name: string;
    asset: TgdDataGlb;
    context: TgdContext;
    color?: ArrayNumber4;
    abedo?: {
        imageIndex: number;
    };
    metallicRoughness?: {
        imageIndex: number;
    };
    normal?: {
        imageIndex: number;
    };
    occlusion?: {
        imageIndex: number;
    };
    emission?: {
        imageIndex: number;
        strength: ArrayNumber3;
    };
    skybox?: TgdTextureCube;
}
export interface TgdPainterMeshGltfOptions {
    asset: TgdDataGlb;
    meshIndexOrName?: number | string;
    primitiveIndex?: number;
    name?: string;
    material?: TgdMaterial | ((this: void, options: TgdPainterMeshGltfMaterialDescription) => TgdMaterial);
    skybox?: TgdTextureCube;
}
/**
 */
export declare class TgdPainterMeshGltf extends TgdPainterMesh {
    constructor(context: TgdContext, options: TgdPainterMeshGltfOptions);
}
//# sourceMappingURL=gltf.d.ts.map