export interface MultiKernelELMOptions {
    kernels: Array<{
        type: 'rbf' | 'polynomial' | 'linear';
        weight?: number;
        params?: {
            gamma?: number;
            degree?: number;
            coef0?: number;
        };
    }>;
    ridgeLambda?: number;
    learnWeights?: boolean;
    nystrom?: {
        m?: number;
        strategy?: 'uniform' | 'random';
    };
}
export interface MultiKernelELMResult {
    label: string;
    prob: number;
}
/**
 * Multi-Kernel ELM that combines multiple kernel types
 * Uses weighted combination of kernels for improved accuracy
 */
export declare class MultiKernelELM {
    private kelms;
    private kernelWeights;
    private categories;
    private options;
    private trained;
    constructor(categories: string[], options: MultiKernelELMOptions);
    /**
     * Train the multi-kernel ELM
     */
    fit(X: number[][], y: number[][] | number[]): void;
    /**
     * Predict with multi-kernel combination
     */
    predict(X: number[] | number[][], topK?: number): MultiKernelELMResult[];
    /**
     * Learn optimal kernel weights using validation performance
     */
    private _learnKernelWeights;
    private _toOneHot;
    private _softmax;
    private _argmax;
    /**
     * Get current kernel weights
     */
    getKernelWeights(): number[];
}
//# sourceMappingURL=multi-kernel-elm.d.ts.map