import { Subscriber } from '../Subscriber'; import { Subscription } from '../Subscription'; import { Observable } from '../Observable'; import { GroupedObservable } from './groupBy-support'; export declare function groupBy(keySelector: (value: T) => string, elementSelector?: (value: T) => R, durationSelector?: (grouped: GroupedObservable) => Observable): GroupByObservable; export declare class GroupByObservable extends Observable> { source: Observable; private keySelector; private elementSelector; private durationSelector; constructor(source: Observable, keySelector: (value: T) => string, elementSelector?: (value: T) => R, durationSelector?: (grouped: GroupedObservable) => Observable); _subscribe(subscriber: Subscriber): Subscription | Function | void; }