import * as THREE from "three";
import { LoadResultType } from './shared';
import { Fetcher } from "../../utils/ajax";
import { WorkModel } from "../../work";
import { PBMMesh } from "../objects/pbmMesh";
import { TextureOptions } from "../../types/imageOptions";
export declare function loadDome(url: string, options?: {
    upAxis?: 'Y' | 'Z';
    light?: boolean;
    textureOptions?: TextureOptions;
    textureBaseUri?: string;
    fetcher?: Fetcher;
    onDownloadProgress?: (percent: number, loaded?: number, total?: number) => void;
}): Promise<LoadResultType>;
declare function parse(domeBuffer: ArrayLike<number>, light: boolean, textureBase: WorkModel["textureBase"], textureOptions: TextureOptions, fetcher: Fetcher): Promise<{
    createAt: number;
    description: string;
    objects: (THREE.Group | PBMMesh)[];
    textures: THREE.Texture[];
    dispose: () => void;
}>;
export { parse };
