/** * Proportional editing system for mesh operations * Allows editing vertices with falloff based on distance from selection */ import { Mesh } from '../geometry/mesh'; export interface ProportionalEditConfig { enabled: boolean; range: number; falloff: 'linear' | 'hermite_spline' | 'constant'; selection: 'linear' | 'connections'; } export declare class ProportionalEdit { private static vertexWeights; /** * Calculate vertex weights for proportional editing */ static calculateWeights(mesh: Mesh, selectedVertices: string[], config: ProportionalEditConfig): Record; /** * Get cached weights for a mesh */ static getWeights(mesh: Mesh): Record; /** * Apply proportional editing to vertices */ static editVertices(mesh: Mesh, selectedVertices: string[], config: ProportionalEditConfig, perVertex: (vkey: string, blend: number) => void): void; /** * Clear cached weights for a mesh */ static clearWeights(mesh: Mesh): void; /** * Clear all cached weights */ static clearAllWeights(): void; } //# sourceMappingURL=proportional_edit.d.ts.map