import * as THREE from 'three';
import { BaseExtension } from './base';
import type { Parser } from '../parser';
import { Mesh, MeshPrimitive } from '../glTF';
import type { GaussianSplattingExtensionSpz2 } from './KHR_gaussian_splatting_compression_spz_2';
export interface GaussianSplattingExtensionOld {
    antialiased: boolean;
    bufferView: number;
    compression: {
        extension: "KHR_gaussian_splatting_compression_spz";
    };
    count: number;
}
export interface GaussianSplattingExtension {
    colorSpace: "srgb_rec709_display" | "lin_rec709_display";
    kernel: "ellipse";
    sortingMethod: "cameraDistance";
    projection: "perspective";
    extensions: {
        KHR_gaussian_splatting_compression_spz_2?: GaussianSplattingExtensionSpz2;
    };
}
export declare class KHR_gaussian_splatting extends BaseExtension {
    loadMeshPrimitive(meshDef: Mesh, primitiveDef: MeshPrimitive, parser: Parser): null | Promise<THREE.Points | THREE.Line | THREE.Mesh>;
    private loadGaussianSplating;
}
