import type { BaseEstimator } from '../base'; import type { FeatureImportanceCapability } from '../base/capabilities'; export interface ForestMember extends BaseEstimator, FeatureImportanceCapability { fit(X: number[][], y: number[]): void; predict(X: number[][]): number[]; } export interface ForestFitOptions { nEstimators: number; bootstrap: boolean; randomState?: number; /** Injects the tree family while the skeleton owns sampling and seeding. */ createEstimator: (randomState: number) => TMember; } /** Shared bootstrap/training skeleton used by RandomForest and ExtraTrees. */ export declare function fitForest(X: number[][], y: number[], options: ForestFitOptions): TMember[]; export declare function predictForestClassification(estimators: ForestMember[], X: number[][]): number[]; export declare function predictForestRegression(estimators: ForestMember[], X: number[][]): number[];