import type { Generated, Insertable, Selectable, Updateable } from "kysely";
import type { LixEngine } from "../../engine/boot.js";
export type StateByVersionView = {
    entity_id: string;
    schema_key: string;
    file_id: string;
    plugin_key: string;
    snapshot_content: Record<string, any>;
    schema_version: string;
    version_id: string;
    created_at: Generated<string>;
    updated_at: Generated<string>;
    inherited_from_version_id: string | null;
    change_id: Generated<string>;
    untracked: Generated<boolean>;
    commit_id: Generated<string>;
    writer_key: string | null;
    metadata: Generated<Record<string, any> | null>;
};
export type StateByVersionRow = Selectable<StateByVersionView>;
export type NewStateByVersionRow = Insertable<StateByVersionView>;
export type StateByVersionRowUpdate = Updateable<StateByVersionView>;
/**
 * Creates the public state_by_version view (no tombstones) over the internal vtable,
 * plus INSTEAD OF triggers to forward writes to the internal vtable.
 */
export declare function applyStateByVersionView(args: {
    engine: Pick<LixEngine, "sqlite">;
}): void;
//# sourceMappingURL=state-by-version.d.ts.map