import { CampaignMetricOutcome } from "./campaign-metrics.js"; export interface CampaignModel { readonly ghost: Ghost; readonly ledger: Ledger; } export declare function createCampaignModel(init: { readonly ghost: Ghost; readonly ledger: Ledger; }): CampaignModel; export declare function reconcileCampaignModel(model: CampaignModel, ledger: Ledger): CampaignModel; export declare function applyAcceptedGhostTransition(model: CampaignModel, outcome: CampaignMetricOutcome, transition: (ghost: Ghost) => Ghost): CampaignModel;