import { BaseEstimator } from '../base'; import { Params } from '../base/estimator'; interface PLSProps { nComponents?: number; scale?: boolean; maxIter?: number; tol?: number; } type Targets = number[] | number[][]; declare abstract class BasePLS extends BaseEstimator { protected nComponents: number; protected scale: boolean; protected maxIter: number; protected tol: number; protected mode: 'A' | 'B'; protected canonical: boolean; protected xMean: number[]; protected yMean: number[]; protected xStd: number[]; protected yStd: number[]; protected xWeightsState: number[][]; protected yWeightsState: number[][]; protected xLoadingsState: number[][]; protected yLoadingsState: number[][]; protected xRotationsState: number[][]; protected yRotationsState: number[][]; protected nIterState: number[]; protected yWas1d: boolean; constructor(props: PLSProps, mode: 'A' | 'B', canonical: boolean); getParams(): Params; private normalize; private pseudoInverse; fit(X: number[][], y: Targets): void; transform(X: number[][]): number[][]; predict(X: number[][]): number[] | number[][]; score(X: number[][], y: Targets): number; get xWeights(): number[][]; get yWeights(): number[][]; get xLoadings(): number[][]; get yLoadings(): number[][]; get xRotations(): number[][]; get nIter(): number[]; } export interface PLSRegressionProps extends PLSProps { } export declare class PLSRegression extends BasePLS { constructor(props?: PLSRegressionProps); } export interface CCAProps extends PLSProps { } export declare class CCA extends BasePLS { constructor(props?: CCAProps); } export {};