export type MarketingBadgeVariant = 'default' | 'primary' | 'success' | 'warning' | 'error' | 'info'; export type DateLike = Date | string | number | null | undefined; export interface CampaignSummaryView { id: string; campaignKey: string; name: string; objective?: string; status: string; startAt?: DateLike; endAt?: DateLike; budgetCents: number; currency: string; spendCents?: number; impressions?: number; clicks?: number; conversions?: number; leads?: number; channelCount?: number; } export interface CampaignDetailView extends CampaignSummaryView { description?: string; } export interface CampaignChannelView { id: string; channelKind: string; channelRef: string; label?: string; status: string; allocatedBudgetCents: number; spendCents: number; impressions?: number; clicks?: number; conversions?: number; leads?: number; } export interface BudgetPacingView { campaignId: string; campaignChannelId?: string; currency: string; budgetCents: number; spendCents: number; remainingCents: number; expectedSpendCents: number | null; varianceCents: number | null; budgetFraction: number | null; elapsedFraction: number | null; status: string; } export interface CurrencyMarketingTotal { currency: string; budgetCents: number; spendCents: number; } export interface MarketingDashboardSummary { campaignCount: number; activeCampaignCount: number; channelCount: number; impressions: number; clicks: number; conversions: number; leads: number; currencyTotals: CurrencyMarketingTotal[]; } export interface ChannelMixEntry extends CampaignChannelView { spendFraction: number; allocationFraction: number; } export declare function campaignStatusBadgeVariant(status: string): MarketingBadgeVariant; export declare function pacingStatusBadgeVariant(status: string): MarketingBadgeVariant; export declare function summarizeMarketingDashboard(campaigns: CampaignSummaryView[]): MarketingDashboardSummary; export declare function calculateChannelMix(channels: CampaignChannelView[]): ChannelMixEntry[]; export declare function cappedBudgetProgress(pacing: BudgetPacingView): number; //# sourceMappingURL=types.d.ts.map