import { Source, Subscriber, Subscription } from "../_core"; import { In, Out } from "../_interfaces"; import { Property } from "../Property"; export declare const sampleWith: CurriedSampleWith; export interface CurriedSampleWith { (sampler: In, project: (value: ValueType, sample: SampleType) => ResultType, value: Property): Out; (sampler: In): (project: (value: ValueType, sample: SampleType) => ResultType, value: Property) => Out; (sampler: In, project: (value: ValueType, sample: SampleType) => ResultType): (value: Property) => Out; (sampler: In): (project: (value: ValueType, sample: SampleType) => ResultType) => (value: Property) => Out; } export declare const sampleBy: CurriedSampleBy; export interface CurriedSampleBy { (sampler: In, value: Property): Out; (sampler: In): (value: Property) => Out; } export declare class SVSource implements Source, Subscription { vSrc: Source; sSrc: Source; vDest: Subscriber; readonly weight: number; private vSubs; private sSubs; constructor(vSrc: Source, sSrc: Source, vDest: Subscriber); subscribe(subscriber: Subscriber, order: number): Subscription; activate(initialNeeded: boolean): void; reorder(order: number): void; dispose(): void; disposeValue(): void; }