import { Callback } from "../../types/types"; import { UnsubscribePromise } from '../types'; export declare type CombinatorCallback = Callback; export interface CombinatorFunction { (cb: Callback): UnsubscribePromise; } export default class Combinator { protected _allHasFired: boolean; protected _callback: CombinatorCallback; protected _fired: boolean[]; protected _fns: CombinatorFunction[]; protected _isActive: boolean; protected _results: any[]; protected _subscriptions: UnsubscribePromise[]; constructor(fns: (CombinatorFunction | [CombinatorFunction, ...any[]])[], callback: CombinatorCallback); protected allHasFired(): boolean; protected createCallback(index: number): (value: any) => void; protected triggerUpdate(): void; unsubscribe(): void; }