import { BaseEstimator, Params } from '../base/estimator'; /** * Structural contract for the wrapped single-output estimator. Validated at * runtime by shape so any estimator following the BaseEstimator contract * works. */ export interface SingleOutputEstimator extends BaseEstimator { fit(X: number[][], y: number[], sampleWeight?: number[]): void; predict(X: number[][]): number[]; predictProba?(X: number[][]): number[][]; } export declare function validateSingleOutputEstimator(estimator: unknown, wrapper: string): SingleOutputEstimator; /** Validate the 2-D multi-output target matrix against X. */ export declare function validateMultiOutputTargets(X: number[][], Y: number[][], wrapper: string): void; /** * Split params into the wrapper's own params and nested params addressed as * `estimator__` (grid-search style, mirroring Pipeline's * `step__param` addressing). */ export declare function splitEstimatorParams(params: Params, className: string): { own: Params; nested: Params; };