import { BaseEstimator, TransformerBase } from '../base'; import { Params } from '../base/estimator'; interface RegressorLike extends BaseEstimator { fit(X: number[][], y: number[]): void; predict(X: number[][]): number[]; } interface ImputationStep { feature: number; estimator: RegressorLike; } export interface IterativeImputerProps { estimator?: RegressorLike; maxIter?: number; tol?: number; initialStrategy?: 'mean' | 'median' | 'mostFrequent' | 'constant'; fillValue?: number; imputationOrder?: 'ascending' | 'descending' | 'roman' | 'arabic' | 'random'; skipComplete?: boolean; minValue?: number; maxValue?: number; randomState?: number; } export declare class IterativeImputer extends TransformerBase { private estimator; private maxIter; private tol; private initialStrategy; private fillValue; private imputationOrder; private skipComplete; private minValue; private maxValue; private randomState?; private initialStatistics; private sequenceState; private nIterState; private nFeaturesState; constructor(props?: IterativeImputerProps); getParams(): Params; setParams(params: Params): this; private validate; private initialize; private featureOrder; private predictors; fit(X: number[][]): void; fitTransform(X: number[][]): number[][]; transform(X: number[][]): number[][]; get imputationSequence(): ImputationStep[]; get nIter(): number; } export {};