import type { PlanningStateEventV1 } from "./planning-event-payloads.js";
import { type PlanningSyncDomainId } from "../persistence/planning-canonical-sync-domains.js";
import type { PlanningStateApplierError, PlanningStateProjectionV1 } from "./planning-projection-types.js";
export declare function createEmptyPlanningStateProjection(lastUpdated?: string): PlanningStateProjectionV1;
export type PlanningSyncApplyOptions = {
    enabledDomains?: ReadonlySet<PlanningSyncDomainId>;
};
export declare function applyPlanningStateEvent(projection: PlanningStateProjectionV1, event: PlanningStateEventV1, options?: PlanningSyncApplyOptions): {
    ok: true;
    projection: PlanningStateProjectionV1;
} | {
    ok: false;
    error: PlanningStateApplierError;
};
export declare function replayPlanningStateEvents(events: PlanningStateEventV1[], options?: PlanningSyncApplyOptions): {
    ok: true;
    projection: PlanningStateProjectionV1;
} | {
    ok: false;
    error: PlanningStateApplierError;
};
