import type { ImportStage } from "./ImportPipeline";
export type MeshAttributeValue = number | readonly number[];
export interface MeshOptimizationInput {
    readonly vertexCount: number;
    readonly indices: readonly number[];
    readonly attributes?: Readonly<Record<string, readonly MeshAttributeValue[]>>;
}
export interface MeshOptimizationResult {
    readonly vertexCount: number;
    readonly indices: readonly number[];
    readonly attributes: Readonly<Record<string, readonly MeshAttributeValue[]>>;
    readonly remap: readonly number[];
    readonly removedVertices: number;
}
export interface MeshOptimizationStageOptions {
    readonly name?: string;
}
export declare function optimizeIndexedMesh(input: MeshOptimizationInput): MeshOptimizationResult;
export declare function createMeshOptimizationStage(options?: MeshOptimizationStageOptions): ImportStage<MeshOptimizationInput, MeshOptimizationResult>;
//# sourceMappingURL=MeshOptimization.d.ts.map