import { ThreeViewer } from '../../viewer';
import { BufferGeometry } from 'three';
import { IGeometry } from '../../core';
import { SimplifyModifierPlugin } from './SimplifyModifierPlugin';
/**
 * Simplify modifier using [meshoptimizer](https://github.com/zeux/meshoptimizer) library.
 * Loads the library at runtime from a customisable cdn url.
 */
export declare class MeshOptSimplifyModifierPlugin extends SimplifyModifierPlugin {
    readonly rootNode: HTMLHeadElement;
    static readonly PluginType = "MeshOptSimplifyModifierPlugin";
    constructor(initialize?: boolean, rootNode?: HTMLHeadElement);
    get initialized(): boolean;
    /**
     * Path to the meshopt simplifier library, default uses unpkg cdn
     */
    static SIMPLIFIER_URL: string;
    onAdded(viewer: ThreeViewer): void;
    protected _initializing?: Promise<void>;
    protected _script?: HTMLScriptElement;
    initialize(): Promise<void>;
    dispose(): void;
    errorThreshold: number;
    lockBorder: boolean;
    protected _simplify(geometry: BufferGeometry, count: number): IGeometry;
}
declare global {
    interface Window {
        MeshoptSimplifier?: any;
    }
}
//# sourceMappingURL=../../src/plugins/extras/MeshOptSimplifyModifierPlugin.d.ts.map