declare interface Feature { bands: number[]; deltaBands: number[]; volume: number; centroid: number; } export declare class Lipsync { features: Feature | null; viseme: VISEMES; private audioContext; private analyser; private dataArray; private history; private historySize; private sampleRate; private binWidth; private bands; private audioSource?; private state; private visemeStartTime; private maxVisemeDuration; constructor(params?: { fftSize: number; historySize: number; }); connectAudio(audio: HTMLMediaElement): void; connectMicrophone(): Promise; extractFeatures(): { bands: number[]; deltaBands: number[]; volume: number; centroid: number; }; getAveragedFeatures(): Feature; detectState(): void; computeVisemeScores(current: Feature, avg: Feature, dVolume: number, dCentroid: number): { viseme_sil: number; viseme_PP: number; viseme_FF: number; viseme_TH: number; viseme_DD: number; viseme_kk: number; viseme_CH: number; viseme_SS: number; viseme_nn: number; viseme_RR: number; viseme_aa: number; viseme_E: number; viseme_I: number; viseme_O: number; viseme_U: number; }; adjustScoresForConsistency(scores: Record): { viseme_sil: number; viseme_PP: number; viseme_FF: number; viseme_TH: number; viseme_DD: number; viseme_kk: number; viseme_CH: number; viseme_SS: number; viseme_nn: number; viseme_RR: number; viseme_aa: number; viseme_E: number; viseme_I: number; viseme_O: number; viseme_U: number; }; processAudio(): void; } export declare enum VISEMES { sil = "viseme_sil", PP = "viseme_PP", FF = "viseme_FF", TH = "viseme_TH", DD = "viseme_DD", kk = "viseme_kk", CH = "viseme_CH", SS = "viseme_SS", nn = "viseme_nn", RR = "viseme_RR", aa = "viseme_aa", E = "viseme_E", I = "viseme_I", O = "viseme_O", U = "viseme_U" } export { }