/**
 * @module vim-loader
 */
import { Transparency } from './geometry';
import * as THREE from 'three';
export type FileType = 'vim' | 'vimx' | undefined;
/**
 * Represents settings for configuring the behavior and rendering of a vim object.
 */
export type VimSettings = {
    /**
     * The positional offset for the vim object.
     */
    position: THREE.Vector3;
    /**
     * The XYZ rotation applied to the vim object.
     */
    rotation: THREE.Vector3;
    /**
     * The scaling factor applied to the vim object.
     */
    scale: number;
    /**
     * The matrix representation of the vim object's position, rotation, and scale.
     * Setting this will override individual position, rotation, and scale properties.
     */
    matrix: THREE.Matrix4;
    /**
     * Determines whether objects are drawn based on their transparency.
     */
    transparency: Transparency.Mode;
    /**
     * Set to true to enable verbose HTTP logging.
     */
    verboseHttp: boolean;
    /**
     * Specifies the file type (vim or vimx) if it cannot or should not be inferred from the file extension.
     */
    fileType: FileType;
    /**
     * Set to true to stream geometry to the scene. Only supported with vimx files.
     */
    progressive: boolean;
    /**
     * The time in milliseconds between each scene refresh during progressive loading.
     */
    progressiveInterval: number;
};
/**
 * Default configuration settings for a vim object.
 */
export declare function getDefaultVimSettings(): VimSettings;
/**
 * Represents a partial configuration of settings for a vim object.
 */
export type VimPartialSettings = Partial<VimSettings>;
/**
 * Wraps Vim options, converting values to related THREE.js types and providing default values.
 * @param {VimPartialSettings} [options] - Optional partial settings for the Vim object.
 * @returns {VimSettings} The complete settings for the Vim object, including defaults.
 */
export declare function createVimSettings(options?: VimPartialSettings): VimSettings;
