import { Source } from "../_core"; import { Transaction } from "../_tx"; import { Observable } from "../Observable"; import { Property } from "../Property"; import { Operator } from "./_base"; export declare const slidingWindow: CurriedSlidingWindow; export interface CurriedSlidingWindow { (min: number, max: number, observable: Observable): Property; (min: number): (max: number, observable: Observable) => Property; (min: number, max: number): (observable: Observable) => Property; (min: number): (max: number) => (observable: Observable) => Property; } export declare abstract class Sliding extends Operator { private min; private max; private win; constructor(source: Source, min: number, max: number, win: A[]); next(tx: Transaction, val: A): void; protected abstract nextWin(tx: Transaction, win: A[]): void; }