import { SmrtCollection } from '@happyvertical/smrt-core'; import { ReferralTouch } from '../models/ReferralTouch.js'; /** Input for {@link ReferralTouchCollection.findByTargetWindow}. */ export interface TouchWindowQuery { subjectKind: string; subjectId: string; /** Restrict to one program's touches. */ programId: string; /** Only touches occurring at or after this instant. */ since: Date; } export declare class ReferralTouchCollection extends SmrtCollection { static readonly _itemClass: typeof ReferralTouch; /** All touches for a referrer, oldest first. */ findByReferrer(referrerId: string): Promise; /** * Every touch recorded against one subject identity, oldest first — * attribution's raw candidate stream. */ findBySubject(subjectKind: string, subjectId: string): Promise; /** * Touches for one subject within one program occurring at or after * `since`, oldest first. The date bound is applied in memory after the * indexed equality filters (sibling-module pattern — the semantics hold * whether an adapter returns ISO strings or Dates). */ findByTargetWindow(query: TouchWindowQuery): Promise; } export default ReferralTouchCollection; //# sourceMappingURL=ReferralTouchCollection.d.ts.map