import type { DB } from '../db/client.js'; export interface SlotDeliveryOptions { db: DB; } export interface SlotItem { id: number; slug: string; title: string; body: string; cta_text: string | null; cta_url: string | null; video_url: string | null; weight: number; } export declare class SlotDelivery { readonly db: DB; constructor({ db }: SlotDeliveryOptions); getActiveItems(): Promise; pickForUser(whatsapp: string, { recentHours, rng }?: { recentHours?: number; rng?: () => number; }): Promise; recordImpression(whatsapp: string, itemId: number, slot: string): Promise; usersForSlot(slot: string, { limit }?: { limit?: number; }): Promise<{ whatsapp: string; }[]>; } export declare function weightedPick(items: T[], rng?: () => number): T | null; //# sourceMappingURL=slot_delivery.d.ts.map