import type { FromLixSchemaDefinition } from "../schema-definition/definition.js";
export type LixCommit = FromLixSchemaDefinition<typeof LixCommitSchema>;
export declare const LixCommitSchema: {
    readonly "x-lix-key": "lix_commit";
    readonly "x-lix-version": "1.0";
    readonly "x-lix-primary-key": readonly ["/id"];
    readonly "x-lix-override-lixcols": {
        readonly lixcol_file_id: "\"lix\"";
        readonly lixcol_plugin_key: "\"lix_sdk\"";
        readonly lixcol_version_id: "\"global\"";
    };
    readonly "x-lix-foreign-keys": readonly [{
        readonly properties: readonly ["/change_set_id"];
        readonly references: {
            readonly schemaKey: "lix_change_set";
            readonly properties: readonly ["/id"];
        };
        readonly mode: "materialized";
    }];
    readonly type: "object";
    readonly properties: {
        readonly id: {
            readonly type: "string";
            readonly description: "Commit identifier";
            readonly "x-lix-default": "lix_uuid_v7()";
        };
        readonly change_set_id: {
            readonly type: "string";
            readonly description: "Identifier of the change set associated with this commit (materialized in cache)";
        };
        readonly change_ids: {
            readonly type: readonly ["array", "null"];
            readonly items: {
                readonly type: "string";
            };
            readonly description: "Domain change identifiers contained in this commit. Excludes meta changes; used to derive change_set_elements.";
        };
        readonly author_account_ids: {
            readonly type: readonly ["array", "null"];
            readonly items: {
                readonly type: "string";
            };
            readonly description: "Commit-level author account identifiers. Explicit per-change overrides live in lix_change_author.";
        };
        readonly parent_commit_ids: {
            readonly type: readonly ["array", "null"];
            readonly items: {
                readonly type: "string";
            };
            readonly description: "Direct parent commit identifiers; used to derive commit edges and ancestry.";
        };
        readonly meta_change_ids: {
            readonly type: readonly ["array", "null"];
            readonly items: {
                readonly type: "string";
            };
            readonly description: "Meta change identifiers (e.g., version tip) associated with this commit and kept separate from domain membership.";
        };
    };
    readonly required: readonly ["id", "change_set_id"];
    readonly additionalProperties: false;
};
export type LixCommitEdge = FromLixSchemaDefinition<typeof LixCommitEdgeSchema>;
export declare const LixCommitEdgeSchema: {
    readonly "x-lix-key": "lix_commit_edge";
    readonly "x-lix-version": "1.0";
    readonly "x-lix-primary-key": readonly ["/parent_id", "/child_id"];
    readonly "x-lix-override-lixcols": {
        readonly lixcol_file_id: "\"lix\"";
        readonly lixcol_plugin_key: "\"lix_sdk\"";
    };
    readonly "x-lix-foreign-keys": readonly [{
        readonly properties: readonly ["/parent_id"];
        readonly references: {
            readonly schemaKey: "lix_commit";
            readonly properties: readonly ["/id"];
        };
    }, {
        readonly properties: readonly ["/child_id"];
        readonly references: {
            readonly schemaKey: "lix_commit";
            readonly properties: readonly ["/id"];
        };
    }];
    readonly type: "object";
    readonly properties: {
        readonly parent_id: {
            readonly type: "string";
        };
        readonly child_id: {
            readonly type: "string";
        };
    };
    readonly required: readonly ["parent_id", "child_id"];
    readonly additionalProperties: false;
};
//# sourceMappingURL=schema-definition.d.ts.map