/** * Tree Generator * * Creates tree instances with proper positioning, sizing, and type selection. * Composes TreePlacementResolver and EcologicalPatternProvider for generation. */ import type { Dimensions } from "../../../../core/domain/types.js"; import type { TreeType, TreeTypeVisibility, RenderedTree, LayerConfig } from "../../domain/models/tree-silhouette-models.js"; import type { ITreePlacementResolver } from "./TreePlacementResolver.js"; import type { IEcologicalPatternProvider } from "./EcologicalPatternProvider.js"; interface Tree extends RenderedTree { } export interface ITreeGenerator { /** Get list of enabled tree types based on visibility settings */ getEnabledTypes(): TreeType[]; /** Set tree type visibility */ setTreeVisibility(visibility: Partial): void; /** Get current tree type visibility */ getTreeVisibility(): TreeTypeVisibility; /** Create all trees for the scene */ createTrees(dimensions: Dimensions): Tree[]; } export declare function createTreeGenerator(placementResolver: ITreePlacementResolver, patternProvider: IEcologicalPatternProvider, layerConfigs?: readonly LayerConfig[]): ITreeGenerator; export {}; //# sourceMappingURL=TreeGenerator.d.ts.map