export declare enum SimilarityFunction { Euclidean = 0, Minkowski = 1, Cosine = 2, AngularCosine = 3, Jaccard = 4 } /** * defines gaps parameters required for alignment * * @member gapOpen: number, penalty for opening a gap * @member gapExt: number or None (default), penalty for extending an existing gap. * if gap_ext is None, the scoring assumes a linear gap penalty, * else the scoring assumes affine gap penalty */ export declare type GapsParams = { gapOpen: number; gapExt: number | undefined; }; export declare enum GapType { LINEAR = 0, AFFINE = 1 } export declare type Triple = [number, number, number]; export declare type TripleTable = Triple[][]; export declare type DynamicTable = number[][]; export declare type AffineGapAlignment = { V: DynamicTable; Vp: TripleTable; E: DynamicTable; Ep: TripleTable; F: DynamicTable; Fp: TripleTable; end_i: number; end_j: number; }; export declare type LinearGapAlignment = { V: DynamicTable; Vp: TripleTable; end_i: number; end_j: number; }; export declare function isAffineGapAlignment(alignment: LinearGapAlignment | AffineGapAlignment): alignment is AffineGapAlignment; export declare type Graph = Map; export declare enum TableName { None = 0, V = 1, E = 2, F = 3 } export declare type DirectedPosition = [Position, TableName]; export declare type AlignmentPair = [LabelType, LabelType]; export declare type Path = Array>; export declare type PathMap = Map>; export declare enum AlignType { Global = 0, Local = 1, SemiGlobal = 2, EndGapFree = 3 } export declare type Position = [number, number]; export declare type AlignmentResult = { score: number; paths: Path[]; };