import type { Application } from '../../../declarations'; export interface CampaignRunResult { sent: string[]; failed: string[]; } export interface CampaignRule { id: string; subject: string; template: string; cooldownDays?: number; resolve: (app: Application, user: any) => Promise; condition: (ctx: TContext) => boolean; from?: string; replyTo?: string; bcc?: string; } export declare function triggerCampaignsForUser(app: Application, user: any, campaignIds: string[], allCampaigns: CampaignRule[]): Promise; export declare function runCampaignsForUser(app: Application, user: any, campaigns: CampaignRule[], options?: { force?: boolean; }): Promise;