import { Vector3 } from "@babylonjs/core"; export declare const VISIBILITY_THRESHOLD: number; export interface FilterParams { R?: number; Q?: number; oneEuroCutoff?: number; oneEuroBeta?: number; type: string; gaussianSigma?: number; } export declare const gaussianKernel1d: (size: number, sigma: number) => any[]; export declare class OneEuroVectorFilter { t_prev: number; x_prev: Vector3; private dx_prev; min_cutoff: number; beta: number; d_cutoff: number; constructor(t_prev: number, x_prev: Vector3, dx_prev?: Vector3, min_cutoff?: number, beta?: number, d_cutoff?: number); private static smoothing_factor; private static exponential_smoothing; next(t: number, x: Vector3): Vector3; } export declare class KalmanVectorFilter { R: number; Q: number; private readonly kalmanFilterX; private readonly kalmanFilterY; private readonly kalmanFilterZ; constructor(R?: number, Q?: number); next(t: number, vec: Vector3): Vector3; } export declare class GaussianVectorFilter { readonly size: number; private readonly sigma; private _values; get values(): Vector3[]; private readonly kernel; constructor(size: number, sigma: number); push(v: Vector3): void; reset(): void; apply(): Vector3; } export declare class EuclideanHighPassFilter { private readonly threshold; private _value; get value(): Vector3; constructor(threshold: number); update(v: Vector3): void; reset(): void; }