import type { LixChangeRaw } from "../../change/schema-definition.js";
import { type LixVersion } from "../../version/schema-definition.js";
export type MaterializedState = LixChangeRaw & {
    lixcol_version_id: string;
    lixcol_commit_id: string;
    writer_key?: string | null;
};
export type DomainChangeInput = LixChangeRaw & {
    version_id: string;
    writer_key?: string | null;
};
/**
 * Generates commit change rows per version that has payload (domain changes)
 * and returns cache updates for domain rows and domain-only CSE.
 */
export declare function generateCommit(args: {
    timestamp: string;
    /**
     * Accounts considered active at commit time. Used to derive commit authorship snapshots.
     * Optional for now; implementation may ignore until author snapshots are wired.
     */
    activeAccounts?: string[];
    changes: DomainChangeInput[];
    versions: Map<string, {
        parent_commit_ids: string[];
        snapshot: LixVersion;
    }>;
    generateUuid: () => string;
}): {
    changes: LixChangeRaw[];
    materializedState: MaterializedState[];
};
//# sourceMappingURL=generate-commit.d.ts.map