import { GroupedObservable, ObservableInput, OperatorFunction } from 'rxjs'; interface StateAndOptionalOutput { state: T; output?: O; } export type StateAndOutput = Required>; export declare function mergeMapWithState(fn: (state: T, input: I) => ObservableInput>, initialState: T, concurrency?: number): OperatorFunction; export declare function mapWithState(fn: (state: T, input: I) => StateAndOutput, initialState: T): OperatorFunction; export interface CloseableGroupedObservable extends GroupedObservable { close(): void; } /** * An RX OperatorFunction similar to `groupBy`. * The returned GroupedObservable has a `close()` method. */ export declare function closeableGroupBy(keyFunc: (t: T) => K): OperatorFunction>; export {};