import { ISmoothedValue, IParams } from '../../utils/smoothedValue/types';
import { IValueSubject } from '@vkontakte/videoplayer-shared';
export declare abstract class BaseSmoothedValue implements ISmoothedValue {
    private prevReported;
    private rawSeries$;
    private smoothedSeries$;
    private reportedSeries$;
    protected smoothed: number;
    protected pastMeasures: number[];
    protected takenMeasures: number;
    protected measuresCursor: number;
    protected params: IParams;
    smoothed$: IValueSubject<number>;
    debounced$: IValueSubject<number>;
    constructor(params: IParams);
    protected abstract updateSmoothedValue(value: number): void;
    next(value: number): void;
}
