import type { IStream } from '../types.js'; /** * Sample values from one stream at the times of events in another * * values: -1-2-3-4-5-6-7-8-> * sampler: ---x---x---x-----> * sample: ---2---4---6-----> */ export declare const sample: ISampleCurry; /** * Combine values from two streams at sample times * * values: -1-2-3-4-5-6-> * sampler: ---a---b---c-> * sampleMap: ---A---B---C-> * | | | * | | +-- [6,c] * | +-- [4,b] * +-- [2,a] */ export declare const sampleMap: ISampleMapCurry; export interface ISampleCurry { (values: IStream, sampler: IStream): IStream; (values: IStream): (sampler: IStream) => IStream; } export interface ISampleMapCurry { (f: (a: A, b: B) => C, values: IStream, sampler: IStream): IStream; (f: (a: A, b: B) => C, values: IStream): (sampler: IStream) => IStream; (f: (a: A, b: B) => C): (values: IStream) => (sampler: IStream) => IStream; }