import { SmrtClassOptions } from '@happyvertical/smrt-core'; import { CampaignChannelCollection, CampaignCollection, CampaignMetricSnapshotCollection } from '../collections/index.js'; import { BudgetPacingResult } from '../types.js'; /** Computes spend-to-budget pacing from immutable snapshots; stores nothing. */ export declare class BudgetPacingService { private readonly campaigns; private readonly channels; private readonly snapshots; constructor(campaigns: CampaignCollection, channels: CampaignChannelCollection, snapshots: CampaignMetricSnapshotCollection); static create(classOptions?: SmrtClassOptions): Promise; getCampaignPacing(campaignId: string, at?: Date): Promise; getChannelPacing(campaignChannelId: string, at?: Date): Promise; /** * Prefer a campaign rollup for each exact reporting period, while retaining * channel evidence for periods that do not yet have a rollup. This prevents * double counting without dropping earlier/later channel-only periods. */ private selectCampaignEvidence; private periodKey; } export default BudgetPacingService; //# sourceMappingURL=BudgetPacingService.d.ts.map