import { RunnerClassifyResponseSuccess } from "./classifier/linux-impulse-runner-types"; export declare class MovingAverageFilter { private _filterSize; private _state; /** * Create a moving average filter to smooth over results * @param filterSize Size of the filter, e.g. number of classifications per second for audio models * @param labels All labels in the model */ constructor(filterSize: number, labels: string[]); /** * Apply the moving average filter over incoming results * @param result Classification results * @returns Classification results with the filter applied */ run(result: RunnerClassifyResponseSuccess): RunnerClassifyResponseSuccess & { result: Omit<{ classification?: { [k: string]: number; } | undefined; bounding_boxes?: { label: string; value: number; x: number; y: number; width: number; height: number; }[] | undefined; object_tracking?: { object_id: number; label: string; value: number; x: number; y: number; width: number; height: number; }[] | undefined; visual_anomaly_grid?: { label: string; value: number; x: number; y: number; width: number; height: number; }[] | undefined; visual_anomaly_max?: number | undefined; visual_anomaly_mean?: number | undefined; anomaly?: number | undefined; resizeMode?: "none" | "fit-shortest" | "fit-longest" | "squash" | undefined; resized?: { originalWidth: number; originalHeight: number; newWidth: number; newHeight: number; } | undefined; freeform?: "shm" | number[][] | undefined; }, "freeform"> & { freeform?: number[][] | undefined; } & { classification: { [k: string]: number; }; }; }; }