import { a4 as AnyEdgeType, v as EdgeIndexConfig, r as EdgeIndexDeclaration, a5 as NodeType, O as NodeIndexConfig, u as NodeIndexDeclaration, D as IndexWhereExpression } from './types-BynPp5kU.cjs'; declare function defineNodeIndex(node: N, config: NodeIndexConfig): NodeIndexDeclaration; declare function defineEdgeIndex(edge: E, config: EdgeIndexConfig): EdgeIndexDeclaration; /** The TypeGraph relations that carry system indexes. */ type SystemIndexTable = "nodes" | "edges" | "recordedNodes" | "recordedEdges"; type LiveColumn = "graph_id" | "kind" | "id" | "deleted_at" | "valid_from" | "valid_to" | "created_at"; type LiveEdgeColumn = LiveColumn | "from_kind" | "from_id" | "to_kind" | "to_id"; type RecordedColumn = "graph_id" | "kind" | "id" | "valid_from" | "valid_to" | "recorded_from" | "recorded_to"; type RecordedEdgeColumn = RecordedColumn | "from_kind" | "from_id" | "to_kind" | "to_id"; type SystemIndexColumnsFor = T extends "nodes" ? LiveColumn : T extends "edges" ? LiveEdgeColumn : T extends "recordedNodes" ? RecordedColumn : RecordedEdgeColumn; type SystemIndexDeclarationFor = Readonly<{ table: T; /** Physical index name is `${physicalTableName}_${suffix}`. */ suffix: string; columns: readonly [SystemIndexColumnsFor, ...SystemIndexColumnsFor[]]; }>; type SystemIndexDeclaration = SystemIndexDeclarationFor<"nodes"> | SystemIndexDeclarationFor<"edges"> | SystemIndexDeclarationFor<"recordedNodes"> | SystemIndexDeclarationFor<"recordedEdges">; declare const SYSTEM_INDEX_DECLARATIONS: readonly SystemIndexDeclaration[]; /** * Runtime DDL for one system index — byte-compatible with the index the * bootstrap path creates from the Drizzle schema (same name, same * columns), plus `CONCURRENTLY` where the dialect supports building * without blocking writes. */ declare function generateSystemIndexDDL(declaration: SystemIndexDeclaration, physicalTableName: string, options: Readonly<{ concurrent: boolean; }>): string; declare function andWhere(...predicates: [IndexWhereExpression, ...IndexWhereExpression[]]): IndexWhereExpression; declare function orWhere(...predicates: [IndexWhereExpression, ...IndexWhereExpression[]]): IndexWhereExpression; declare function notWhere(predicate: IndexWhereExpression): IndexWhereExpression; export { SYSTEM_INDEX_DECLARATIONS as S, type SystemIndexDeclaration as a, type SystemIndexTable as b, andWhere as c, defineEdgeIndex as d, defineNodeIndex as e, generateSystemIndexDDL as g, notWhere as n, orWhere as o };