import { SimilarityFunction } from "./types"; /** * Generalizing elements in Sequences to nodes * This class generalizes the character elements in sequences where each element * is represented by a character from some alphabet. It represents elements in the sequence * as nodes. * * @member label: arbitrary type, id/char/description of an event * @member transTime number, transition time between events */ export declare class GenericSeqNode { label: LabelType; transTime: number | undefined; constructor(label: LabelType, transTime?: number); computeSimilarity(seqNode: GenericSeqNode): number; /** * implement temporal penalty function -- in case of using temporal alignment */ computeTemporalPenalty(accumTseq1: number, accumTseq2: number, T_penalty?: number): number; } /** * Character node in a sequence */ export declare class CharSeqNode extends GenericSeqNode { /** * get the score based on the scoring matrix/substitution matrix */ computeSimilarity(seqNode: GenericSeqNode, scoreMatrix?: Map<[LabelType, LabelType], number>): number; } /** * generate sequence nodes from character elements in a string * @param s string of character elements * @param transTimes representing the transition time between elements in the sequence. * @returns a list of CharSeqNode elements */ export declare function generateCharSeqNodes(s: string, transTimes?: number[]): CharSeqNode[]; /** * Node in a sequence * * This class generalizes the character elements in sequences where usually each element * is represented by a character from some alphabet. * The aim of this class is to represent elements in the sequence as nodes where each node * is represented by certain properties in a feature vector. * * @member label string, id/char/description of an event * @member transTime number, transition time between events * @member featureVector numpy array, feature vector */ export declare class SeqNode extends GenericSeqNode { featureVector: number[]; constructor(label: LabelType, featureVector: number[], transTime?: number); /** * compute similarity between two feature vector representations * @param seqNode instance of `GenericSeqNode`, `CharSeqNode` or `SeqNode` * @param scoreType Euclidean, Minkowski, Cosine or Jaccard * @param changeScale bool, transform score to -1,1 range * @returns similarity score */ computeSimilarity(seqNode: SeqNode, scoreType?: SimilarityFunction, changeScale?: boolean): number; } export declare type Sequence = GenericSeqNode[];