(function (global, factory) {
  if (typeof define === "function" && define.amd) {
    define(["exports"], factory);
  } else if (typeof exports !== "undefined") {
    factory(exports);
  } else {
    var mod = {
      exports: {}
    };
    factory(mod.exports);
    global.columnRefRegistry = mod.exports;
  }
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports) {
  "use strict";

  Object.defineProperty(_exports, "__esModule", {
    value: true
  });
  _exports.getColumnDefinitionToSQL = getColumnDefinitionToSQL;
  _exports.getColumnRefToSQL = getColumnRefToSQL;
  _exports.getFullTextSearchToSQL = getFullTextSearchToSQL;
  _exports.registerColumnFunctions = registerColumnFunctions;
  // Registry pattern to handle circular dependencies
  // This module serves as a central registry for column-related functions

  const registry = {
    columnRefToSQL: null,
    fullTextSearchToSQL: null,
    columnDefinitionToSQL: null
  };
  function registerColumnFunctions(funcs) {
    Object.assign(registry, funcs);
  }
  function getColumnRefToSQL() {
    return registry.columnRefToSQL;
  }
  function getFullTextSearchToSQL() {
    return registry.fullTextSearchToSQL;
  }
  function getColumnDefinitionToSQL() {
    return registry.columnDefinitionToSQL;
  }
});