import { r as EdgeIndexDeclaration, s as SqlDialect, t as RelationalIndexDeclaration, u as NodeIndexDeclaration, I as IndexDeclaration } from '../types-BynPp5kU.cjs'; export { v as EdgeIndexConfig, w as EdgeIndexDirection, x as EdgeIndexWhereBuilder, y as IndexOrigin, z as IndexScope, D as IndexWhereExpression, H as IndexWhereFieldBuilder, L as IndexWhereInput, M as NODE_SYSTEM_COLUMN_NAMES, O as NodeIndexConfig, P as NodeIndexKey, U as NodeIndexKeyInput, X as NodeIndexWhereBuilder, Y as NodeSystemColumnName, Z as SystemColumnName, _ as VectorIndexDeclaration, $ as VectorIndexImplementation, a0 as VectorIndexMetric, a1 as VectorIndexParams } from '../types-BynPp5kU.cjs'; export { S as SYSTEM_INDEX_DECLARATIONS, a as SystemIndexDeclaration, b as SystemIndexTable, c as andWhere, d as defineEdgeIndex, e as defineNodeIndex, g as generateSystemIndexDDL, n as notWhere, o as orWhere } from '../where-D1gBDqQ_.cjs'; import { D as DeclaredIndex } from '../types-JG-4CG6P.cjs'; import 'zod'; type GenerateIndexDdlOptions = Readonly<{ nodesTableName?: string | undefined; edgesTableName?: string | undefined; ifNotExists?: boolean | undefined; /** * Emit `CREATE INDEX CONCURRENTLY` (Postgres only). Required for * `store.materializeIndexes()` so live tables don't take an * `AccessExclusiveLock`. Ignored on SQLite (no equivalent; SQLite is * single-writer regardless). When true on Postgres, the resulting * statement cannot be executed inside a transaction. */ concurrent?: boolean | undefined; }>; /** * Generate `CREATE INDEX` DDL for a single relational index declaration. * * Vector index declarations (`entity: "vector"`) are NOT handled here — * they go through `backend.createVectorIndex` instead because the DDL * is dialect-specific (`USING hnsw (...) WITH (m=..., ef_construction=...)` * on Postgres) and operates on the strategy's per-`(kind, field)` embedding * tables, not `typegraph_nodes` / `typegraph_edges`. Callers narrow to the * relational subset before calling this function. */ declare function generateIndexDDL(index: RelationalIndexDeclaration, dialect: SqlDialect, options?: GenerateIndexDdlOptions): string; declare function generateNodeIndexDDL(index: NodeIndexDeclaration, dialect: SqlDialect, options?: GenerateIndexDdlOptions): string; declare function generateEdgeIndexDDL(index: EdgeIndexDeclaration, dialect: SqlDialect, options?: GenerateIndexDdlOptions): string; declare function toDeclaredIndex(index: RelationalIndexDeclaration): DeclaredIndex; /** * Vector indexes are excluded from the profiler-format conversion — * the profiler operates on relational tables (`typegraph_nodes` / * `typegraph_edges`) where index hits / misses can be measured against * SQL plans. Vector indexes live on the strategy's per-`(kind, field)` * embedding tables with a different access pattern. */ declare function toDeclaredIndexes(indexes: readonly IndexDeclaration[]): readonly DeclaredIndex[]; export { EdgeIndexDeclaration, type GenerateIndexDdlOptions, IndexDeclaration, NodeIndexDeclaration, RelationalIndexDeclaration, generateEdgeIndexDDL, generateIndexDDL, generateNodeIndexDDL, toDeclaredIndex, toDeclaredIndexes };