import { TransformerBase } from '../base'; import { Params } from '../base/estimator'; export type NMFInit = 'random' | 'nndsvd' | 'nndsvda' | 'nndsvdar'; export interface NMFProps { nComponents?: number; init?: NMFInit; maxIter?: number; tol?: number; alphaW?: number; alphaH?: number; l1Ratio?: number; randomState?: number; } export declare class NMF extends TransformerBase { private nComponents; private init; private maxIter; private tol; private alphaW; private alphaH; private l1Ratio; private randomState?; private componentsState; private WState; private reconstructionErrState; private nIterState; constructor(props?: NMFProps); getParams(): Params; private initialize; private updateW; private updateH; fit(X: number[][]): void; fitTransform(X: number[][]): number[][]; transform(X: number[][]): number[][]; inverseTransform(X: number[][]): number[][]; get components(): number[][]; get reconstructionErr(): number; get nIter(): number; }