import * as THREE from 'three';
export interface IObjectLoader {
    /**
     * 파일 로드
     * @param files
     * @param filesMap
     */
    objectLoadAsFolder(files: File[]): Promise<any>;
    plyLoad(path: string): Promise<THREE.Mesh>;
    mtlLoad(mtlPath: string, objPath: string): Promise<THREE.Object3D<THREE.Event>>;
}
declare class ObjectLoaderService implements IObjectLoader {
    #private;
    plyLoad(path: string): Promise<THREE.Mesh>;
    mtlLoad(mtlPath: string, objPath: string): Promise<THREE.Object3D<THREE.Event>>;
    /**
     * mtl파일이 포함된 obj 파일 형식을 로드
     * @param files
     * @param filesMap
     */
    objectLoadAsFolder(files: File[]): Promise<THREE.Group | THREE.Points<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[]> | undefined>;
}
export default ObjectLoaderService;
