import type { ModuleCommandResult, ModuleLifecycleContext } from "../../../contracts/module-contract.js";
import type { TaskStateEventV1 } from "../task-state-events/event-payloads.js";
import type { PlanningStateEventV1 } from "../task-state-events/planning-event-payloads.js";
import type { OpenedPlanningStores } from "./planning-open.js";
import type { TaskStore } from "./store.js";
export type CanonicalCommitInput = {
    ctx: ModuleLifecycleContext;
    store: TaskStore;
    planning?: OpenedPlanningStores;
    events: TaskStateEventV1[];
    planningEvents?: PlanningStateEventV1[];
    policyApproval?: {
        confirmed: boolean;
        rationale: string;
    };
    /** When false, publish only (no local SQLite projection refresh). */
    applyProjection?: boolean;
};
export declare function commitCanonicalTaskStateEvents(input: CanonicalCommitInput): Promise<ModuleCommandResult | null>;
