/**
 * Special-purpose eigensolvers for digital signal processing.
 * <p>
 * Methods of this class solve small eigen-problems efficiently.
 */
export declare class EigenSolver {
    /**
     * Iterative Jacobi solver. Slower, but more accurate.
     * @private
     */
    private static _SolveSymmetric3x3Jacobi;
    /**
     * Implementation of Kopp's hybrid method for real symmetric 3x3 matrices.
     * <p>
     * Computes eigenvalues and eigenvectors using Cardano's analytical method
     * for the eigenvalues and, typically, an analytical vector cross-product
     * algorithm for the eigenvectors. When necessary for accuracy, this method
     * uses a slower but more accurate QL algorithm.
     * @private
     */
    private static _SolveSymmetric3x3Hybrid;
    /**
     * Sorts eigenvalues d and eigenvectors v in descending order.
     * @private
     */
    private static _SortDescending3x3;
    /**
     * Computes eigenvalues of a symmetric 3x3 matrix using Cardano's analytical method.
     * @private
     */
    private static _GetEigenvaluesSymmetric3x3;
    /**
     * Kopps's solver for eigenvalues and eigenvectors vial QL decomposition.
     * @private
     */
    private static _SolveSymmetric3x3QL;
    /**
     * Kopp's tri-diagonal reduction for real symmetric 3x3 matrices.
     * Diagonal is { d[0], d[1], d[2] } and super-diagonal is { e[0], e[1] }.
     * Householder transformations are stored in the matrix v.
     * @private
     */
    private static _ReduceSymmetric3x3;
    /**
     * Computes eigenvalues and eigenvectors for a symmetric 2x2 matrix A.
     * If the eigenvectors are placed in columns in a matrix V, and the
     * eigenvalues are placed in corresponding columns of a diagonal
     * matrix D, then AV = VD.
     * @param a the symmetric matrix A.
     * @param v the array of eigenvectors v[0] and v[1].
     * @param d the array of eigenvalues d[0] and d[1].
     */
    static SolveSymmetric2x2(a: number[][], v: number[][], d: number[]): void;
    /**
     * Computes eigenvalues and eigenvectors for a symmetric 3x3 matrix A.
     * If the eigenvectors are placed in columns in a matrix V, and the
     * eigenvalues are placed in corresponding columns of a diagonal
     * matrix D, then AV = VD.
     * @param a the symmetric matrix A.
     * @param v the array of eigenvectors v[0], v[1], and v[2].
     * @param d the array of eigenvalues d[0], d[1] and d[2].
     * @param useJacobi true, if using the slower (but more accurate) iterative Jacobi solver. Default is false.
     */
    static SolveSymmetric3x3(a: number[][], v: number[][], d: number[], useJacobi?: boolean): void;
}
