import { SmrtObject } from '@happyvertical/smrt-core'; import { ReferralTouchKind, ReferralTouchOptions } from '../types.js'; export declare class ReferralTouch extends SmrtObject { /** Tenant ID for multi-tenant isolation (nullable → global touches). */ tenantId: string | null; /** The ReferralLink that produced this touch (empty for touchpoints * without a link, e.g. manual assignments). */ linkId: string; /** The share code involved, when the touch came through a code/link. */ code: string; /** The Referrer this touch credits. Required. */ referrerId: string; /** The ReferralProgram the touch belongs to. */ programId: string; /** What kind of interaction this evidence records. */ kind: ReferralTouchKind; /** * Prospect identity when known — a generic `(subjectKind, subjectId)` * pair (e.g. `('lead', )`, `('email', 'a@b.test')`). Attribution * matches touches to a resolution's subject and/or target through these. */ subjectKind: string; /** Identifier within the {@link subjectKind} namespace. */ subjectId: string; /** When the interaction occurred (not when it was ingested). */ occurredAt: Date; /** * Evidence payload as a JSON object string (the code/link/url for clicks, * actor + reason for manual assignments, …). Use * {@link getEvidence}/{@link setEvidence}. */ evidence: string; /** * Free-form JSON object stored as a string. Use * {@link getMetadata}/{@link setMetadata} instead of parsing manually. */ metadata: string; constructor(options?: ReferralTouchOptions); /** * Re-coerce {@link occurredAt} after the framework reapplies raw option / * hydrated row values (SQLite hands back ISO strings). */ initialize(): Promise; /** Parse {@link evidence}; returns `{}` on empty/invalid JSON. */ getEvidence(): Record; /** Serialize and store {@link evidence}. */ setEvidence(evidence: Record): void; /** Parse {@link metadata}; returns `{}` on malformed content. */ getMetadata(): Record; /** Serialize and store {@link metadata}. */ setMetadata(data: Record): void; private static coerceDate; } export default ReferralTouch; //# sourceMappingURL=ReferralTouch.d.ts.map