import { Combiner, Slot } from "./signals"; /** * An example of a combiner to get the sum of the return values of all slots */ export declare class SumCombiner implements Combiner { private sum_; get value(): number; before(): void; invoke(val: number, iterator: Iterator>): void; } export interface FilterValue { /** * the value passed to the slot */ value: T; /** * If set to false will stop subsequent slot calls */ next: boolean; } export declare type FilterCallback = (val: FilterValue, i: number, solt: Slot) => void; /** * An example of a combiner that processes arguments before passing them to a slot and can determine whether to continue calling subsequent slots */ export declare class FilterCombiner implements Combiner { readonly pipe: FilterCallback; constructor(pipe: FilterCallback); invoke(val: T, iterator: Iterator>): void; }