/**
 * FeatureRenderer
 *
 * Renders static features (trees, rocks, buildings) in the 3D scene.
 * Supports different feature types and selection states.
 *
 * @packageDocumentation
 */
import React from 'react';
import type { IsometricFeature } from '../../types/isometric';
export interface FeatureRendererProps {
    /** Array of features to render */
    features: IsometricFeature[];
    /** Grid cell size */
    cellSize?: number;
    /** Grid offset X */
    offsetX?: number;
    /** Grid offset Z */
    offsetZ?: number;
    /** Called when feature is clicked */
    onFeatureClick?: (feature: IsometricFeature) => void;
    /** Called when feature is hovered */
    onFeatureHover?: (feature: IsometricFeature | null) => void;
    /** Selected feature IDs */
    selectedFeatureIds?: string[];
    /** Feature color overrides */
    featureColors?: Record<string, string>;
}
/**
 * Self-contained FeatureRenderer. three.js geometry only renders inside an
 * `@react-three/fiber` `<Canvas>`. When already inside one (the fiber context is
 * set) it renders the raw group; standalone it bundles a default `<Canvas>`
 * (camera + lighting) so it shows on its own. The Canvas is an implementation
 * detail, and the conditional check keeps it composable inside a larger scene
 * (no nested Canvas).
 */
export declare function FeatureRenderer(props: FeatureRendererProps): React.JSX.Element;
export default FeatureRenderer;
