import type { DB } from '../db/client.js'; import type { WhatsAppClient } from '../client/whatsapp.js'; export interface ReEngagementQuestion { body: string; yesLabel?: string; noLabel?: string; } export interface ReEngagementTemplate { name: string; language?: string; } export interface ReEngagementOptions { client: WhatsAppClient; db: DB; topicId: number; question: ReEngagementQuestion; template?: ReEngagementTemplate | null; } export interface DayProgress { day_of_week: number; date: string; answer: string | null; } export declare class ReEngagement { readonly client: WhatsAppClient; readonly db: DB; readonly topicId: number; readonly question: Required; readonly template: ReEngagementTemplate | null; constructor({ client, db, topicId, question, template }: ReEngagementOptions); get yesId(): string; get noId(): string; ask(whatsapp: string, { useTemplate }?: { useTemplate?: boolean; }): Promise; /** * Record a user's answer. `daysAgo` defaults to 1 — answers usually arrive * the day *after* the question went out, so we attribute them to yesterday. */ recordAnswer(whatsapp: string, buttonOrAnswer: string, { daysAgo }?: { daysAgo?: number; }): Promise; /** * Returns a 7-row array (one per day for the trailing week), with `answer` * = null for days the user didn't respond. Day 1 = 7 days ago, Day 7 = today. */ weekProgress(whatsapp: string): Promise; } //# sourceMappingURL=reengagement.d.ts.map