# Interface SQLiteTableFn<TSchema>

#### Type Parameters

- TSchema extends string | undefined = undefined

- SQLiteTableFn<
  TTableName extends string,
  TColumnsMap extends
  Record<
  string,
  SQLiteColumnBuilderBase<
  ColumnBuilderBaseConfig<ColumnDataType, string>,
  object,
  >,
  >,
  >(
  name: TTableName,
  columns: TColumnsMap,
  extraConfig?: (
  self: {
  [Key in string | number | symbol]: SQLiteColumn<
  {
  baseColumn: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { baseBuilder: U }
  ? Column<
  {
  baseColumn: U["_"] extends { baseBuilder: U }
  ? (
  Column<{ name: U["_"]["name"]; tableName: TTableName; dataType: U["_"]["dataType"]; columnType: U["_"]["columnType"]; data: U["_"] extends { $type: infer U; } ? U : U["_"]["data"]; ... 9 more ...; generated: U["_"] extends { ...; } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined; },...
  )
  : never;
  columnType: U["_"]["columnType"];
  data: U["_"] extends { $type: U } ? U : (...)[(...)]["data"];
  dataType: U["_"]["dataType"];
  driverParam: U["_"]["driverParam"];
  enumValues: U["_"]["enumValues"];
  generated: U["_"] extends { generated: G }
  ? unknown extends G
  ? undefined
  : (...) extends (...) ? (...) : (...)
  : undefined;
  hasDefault: U["_"] extends { hasDefault: true } ? true : false;
  hasRuntimeDefault: U["_"] extends { hasRuntimeDefault: true }
  ? true
  : false;
  identity: U["_"] extends { identity: "always" }
  ? "always"
  : (...)[(...)] extends { identity: ... } ? "byDefault" : undefined;
  isAutoincrement: U["_"] extends { isAutoincrement: true }
  ? true
  : false;
  isPrimaryKey: U["_"] extends { isPrimaryKey: true } ? true : false;
  name: U["_"]["name"];
  notNull: U["_"] extends { notNull: true } ? true : false;
  tableName: TTableName;
  },
  {},
  {
  [K in string
  | number
  | symbol]: Omit<
  (...)[(...)],
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...),
  >[K]
  },
  >
  : never;
  columnType: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["columnType"];
  data: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { $type: U }
  ? U
  : (
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  }
  )["data"];
  dataType: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["dataType"];
  driverParam: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["driverParam"];
  enumValues: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["enumValues"];
  generated: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { generated: G }
  ? unknown extends G
  ? undefined
  : G extends undefined ? undefined : G
  : undefined;
  hasDefault: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { hasDefault: true }
  ? true
  : false;
  hasRuntimeDefault: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { hasRuntimeDefault: true }
  ? true
  : false;
  identity: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { identity: "always" }
  ? "always"
  : (
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  }
  ) extends { identity: "byDefault" }
  ? "byDefault"
  : undefined;
  isAutoincrement: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { isAutoincrement: true }
  ? true
  : false;
  isPrimaryKey: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { isPrimaryKey: true }
  ? true
  : false;
  name: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["name"];
  notNull: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { notNull: true }
  ? true
  : false;
  tableName: TTableName;
  },
  {},
  {
  [K in string
  | number
  | symbol]: Omit<
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  },
  | "dialect"
  | "name"
  | "data"
  | "driverParam"
  | "tableName"
  | "notNull"
  | "hasDefault"
  | "isPrimaryKey"
  | "isAutoincrement"
  | "hasRuntimeDefault"
  | "dataType"
  | "columnType"
  | "enumValues"
  | "identity"
  | "brand"
  | "baseColumn"
  | "generated",
  >[K]
  },
  >
  },
  ) => SQLiteTableExtraConfigValue[],
  ): SQLiteTableWithColumns<
  {
  columns: {
  [Key in string
  | number
  | symbol]: SQLiteColumn<
  {
  baseColumn: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { baseBuilder: U }
  ? Column<
  {
  baseColumn: U["_"] extends { baseBuilder: U }
  ? (
  Column<{ name: U["_"]["name"]; tableName: TTableName; dataType: U["_"]["dataType"]; columnType: U["_"]["columnType"]; data: U["_"] extends { $type: infer U; } ? U : U["_"]["data"]; ... 9 more ...; generated: U["_"] extends { ...; } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined; },...
  )
  : never;
  columnType: U["_"]["columnType"];
  data: U["_"] extends { $type: U } ? U : (...)[(...)]["data"];
  dataType: U["_"]["dataType"];
  driverParam: U["_"]["driverParam"];
  enumValues: U["_"]["enumValues"];
  generated: U["_"] extends { generated: G }
  ? unknown extends G
  ? undefined
  : (...) extends (...) ? (...) : (...)
  : undefined;
  hasDefault: U["_"] extends { hasDefault: true } ? true : false;
  hasRuntimeDefault: U["_"] extends { hasRuntimeDefault: true }
  ? true
  : false;
  identity: U["_"] extends { identity: "always" }
  ? "always"
  : (...)[(...)] extends { identity: ... } ? "byDefault" : undefined;
  isAutoincrement: U["_"] extends { isAutoincrement: true }
  ? true
  : false;
  isPrimaryKey: U["_"] extends { isPrimaryKey: true } ? true : false;
  name: U["_"]["name"];
  notNull: U["_"] extends { notNull: true } ? true : false;
  tableName: TTableName;
  },
  {},
  {
  [K in string
  | number
  | symbol]: Omit<
  (...)[(...)],
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...),
  >[K]
  },
  >
  : never;
  columnType: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["columnType"];
  data: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { $type: U }
  ? U
  : (
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  }
  )["data"];
  dataType: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["dataType"];
  driverParam: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["driverParam"];
  enumValues: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["enumValues"];
  generated: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { generated: G }
  ? unknown extends G
  ? undefined
  : G extends undefined ? undefined : G
  : undefined;
  hasDefault: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { hasDefault: true }
  ? true
  : false;
  hasRuntimeDefault: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { hasRuntimeDefault: true }
  ? true
  : false;
  identity: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { identity: "always" }
  ? "always"
  : (
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  }
  ) extends { identity: "byDefault" }
  ? "byDefault"
  : undefined;
  isAutoincrement: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { isAutoincrement: true }
  ? true
  : false;
  isPrimaryKey: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { isPrimaryKey: true }
  ? true
  : false;
  name: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["name"];
  notNull: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { notNull: true }
  ? true
  : false;
  tableName: TTableName;
  },
  {},
  {
  [K in string
  | number
  | symbol]: Omit<
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  },
  | "dialect"
  | "name"
  | "data"
  | "driverParam"
  | "tableName"
  | "notNull"
  | "hasDefault"
  | "isPrimaryKey"
  | "isAutoincrement"
  | "hasRuntimeDefault"
  | "dataType"
  | "columnType"
  | "enumValues"
  | "identity"
  | "brand"
  | "baseColumn"
  | "generated",
  >[K]
  },
  >
  };
  dialect: "sqlite";
  name: TTableName;
  schema: TSchema;
  },
  >

  #### Type Parameters

  - TTableName extends string
  - TColumnsMap extends Record<
    string,
    SQLiteColumnBuilderBase<
    ColumnBuilderBaseConfig<ColumnDataType, string>,
    object,
    >,
    >

  #### Parameters

  - name: TTableName
  - columns: TColumnsMap
  - `Optional` extraConfig: (
    self: {
    [Key in string | number | symbol]: SQLiteColumn<
    {
    baseColumn: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { baseBuilder: U }
    ? Column<
    {
    baseColumn: U["_"] extends { baseBuilder: U }
    ? (
    Column<{ name: U["_"]["name"]; tableName: TTableName; dataType: U["_"]["dataType"]; columnType: U["_"]["columnType"]; data: U["_"] extends { $type: infer U; } ? U : U["_"]["data"]; ... 9 more ...; generated: U["_"] extends { ...; } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined; },...
    )
    : never;
    columnType: U["_"]["columnType"];
    data: U["_"] extends { $type: U } ? U : (...)[(...)]["data"];
    dataType: U["_"]["dataType"];
    driverParam: U["_"]["driverParam"];
    enumValues: U["_"]["enumValues"];
    generated: U["_"] extends { generated: G }
    ? unknown extends G
    ? undefined
    : (...) extends (...) ? (...) : (...)
    : undefined;
    hasDefault: U["_"] extends { hasDefault: true } ? true : false;
    hasRuntimeDefault: U["_"] extends { hasRuntimeDefault: true }
    ? true
    : false;
    identity: U["_"] extends { identity: "always" }
    ? "always"
    : (...)[(...)] extends { identity: ... } ? "byDefault" : undefined;
    isAutoincrement: U["_"] extends { isAutoincrement: true }
    ? true
    : false;
    isPrimaryKey: U["_"] extends { isPrimaryKey: true } ? true : false;
    name: U["_"]["name"];
    notNull: U["_"] extends { notNull: true } ? true : false;
    tableName: TTableName;
    },
    {},
    {
    [K in string
    | number
    | symbol]: Omit<
    (...)[(...)],
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...),
    >[K]
    },
    >
    : never;
    columnType: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    )["columnType"];
    data: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { $type: U }
    ? U
    : (
    Omit<(...)[(...)]["_"], "name"> & {
    name: (...)[(...)] extends ""
    ? Assume<(...), (...)>
    : (...)[(...)];
    }
    )["data"];
    dataType: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    )["dataType"];
    driverParam: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    )["driverParam"];
    enumValues: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    )["enumValues"];
    generated: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { generated: G }
    ? unknown extends G
    ? undefined
    : G extends undefined ? undefined : G
    : undefined;
    hasDefault: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { hasDefault: true }
    ? true
    : false;
    hasRuntimeDefault: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { hasRuntimeDefault: true }
    ? true
    : false;
    identity: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { identity: "always" }
    ? "always"
    : (
    Omit<(...)[(...)]["_"], "name"> & {
    name: (...)[(...)] extends ""
    ? Assume<(...), (...)>
    : (...)[(...)];
    }
    ) extends { identity: "byDefault" }
    ? "byDefault"
    : undefined;
    isAutoincrement: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { isAutoincrement: true }
    ? true
    : false;
    isPrimaryKey: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { isPrimaryKey: true }
    ? true
    : false;
    name: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    )["name"];
    notNull: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { notNull: true }
    ? true
    : false;
    tableName: TTableName;
    },
    {},
    {
    [K in string
    | number
    | symbol]: Omit<
    Omit<(...)[(...)]["_"], "name"> & {
    name: (...)[(...)] extends "" ? Assume<(...), (...)> : (...)[(...)];
    },
    | "dialect"
    | "name"
    | "data"
    | "driverParam"
    | "tableName"
    | "notNull"
    | "hasDefault"
    | "isPrimaryKey"
    | "isAutoincrement"
    | "hasRuntimeDefault"
    | "dataType"
    | "columnType"
    | "enumValues"
    | "identity"
    | "brand"
    | "baseColumn"
    | "generated",
    >[K]
    },
    >
    },
    ) => SQLiteTableExtraConfigValue[]

  #### Returns SQLiteTableWithColumns<
  {
  columns: {
  [Key in string
  | number
  | symbol]: SQLiteColumn<
  {
  baseColumn: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { baseBuilder: U }
  ? Column<
  {
  baseColumn: U["_"] extends { baseBuilder: U }
  ? (
  Column<{ name: U["_"]["name"]; tableName: TTableName; dataType: U["_"]["dataType"]; columnType: U["_"]["columnType"]; data: U["_"] extends { $type: infer U; } ? U : U["_"]["data"]; ... 9 more ...; generated: U["_"] extends { ...; } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined; },...
  )
  : never;
  columnType: U["_"]["columnType"];
  data: U["_"] extends { $type: U } ? U : (...)[(...)]["data"];
  dataType: U["_"]["dataType"];
  driverParam: U["_"]["driverParam"];
  enumValues: U["_"]["enumValues"];
  generated: U["_"] extends { generated: G }
  ? unknown extends G
  ? undefined
  : (...) extends (...) ? (...) : (...)
  : undefined;
  hasDefault: U["_"] extends { hasDefault: true } ? true : false;
  hasRuntimeDefault: U["_"] extends { hasRuntimeDefault: true }
  ? true
  : false;
  identity: U["_"] extends { identity: "always" }
  ? "always"
  : (...)[(...)] extends { identity: ... } ? "byDefault" : undefined;
  isAutoincrement: U["_"] extends { isAutoincrement: true }
  ? true
  : false;
  isPrimaryKey: U["_"] extends { isPrimaryKey: true } ? true : false;
  name: U["_"]["name"];
  notNull: U["_"] extends { notNull: true } ? true : false;
  tableName: TTableName;
  },
  {},
  {
  [K in string
  | number
  | symbol]: Omit<
  (...)[(...)],
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...),
  >[K]
  },
  >
  : never;
  columnType: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["columnType"];
  data: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { $type: U }
  ? U
  : (
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  }
  )["data"];
  dataType: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["dataType"];
  driverParam: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["driverParam"];
  enumValues: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["enumValues"];
  generated: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { generated: G }
  ? unknown extends G
  ? undefined
  : G extends undefined ? undefined : G
  : undefined;
  hasDefault: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { hasDefault: true }
  ? true
  : false;
  hasRuntimeDefault: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { hasRuntimeDefault: true }
  ? true
  : false;
  identity: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { identity: "always" }
  ? "always"
  : (
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  }
  ) extends { identity: "byDefault" }
  ? "byDefault"
  : undefined;
  isAutoincrement: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { isAutoincrement: true }
  ? true
  : false;
  isPrimaryKey: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { isPrimaryKey: true }
  ? true
  : false;
  name: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["name"];
  notNull: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { notNull: true }
  ? true
  : false;
  tableName: TTableName;
  },
  {},
  {
  [K in string
  | number
  | symbol]: Omit<
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  },
  | "dialect"
  | "name"
  | "data"
  | "driverParam"
  | "tableName"
  | "notNull"
  | "hasDefault"
  | "isPrimaryKey"
  | "isAutoincrement"
  | "hasRuntimeDefault"
  | "dataType"
  | "columnType"
  | "enumValues"
  | "identity"
  | "brand"
  | "baseColumn"
  | "generated",
  >[K]
  },
  >
  };
  dialect: "sqlite";
  name: TTableName;
  schema: TSchema;
  },
  >

  - Defined in node_modules/.pnpm/drizzle-orm@0.44.6_@cloudflare+workers-types@4.20251014.0_@opentelemetry+api@1.9.0_@typ_31a6f5ca8f102af87864dd251ed08d88/node_modules/drizzle-orm/sqlite-core/table.d.ts:22
- SQLiteTableFn<
  TTableName extends string,
  TColumnsMap extends
  Record<
  string,
  SQLiteColumnBuilderBase<
  ColumnBuilderBaseConfig<ColumnDataType, string>,
  object,
  >,
  >,
  >(
  name: TTableName,
  columns: (
  columnTypes: {
  blob: {
  (): SQLiteBlobJsonBuilderInitial<"">;
  <TMode extends BlobMode = BlobMode>(
  config?: BlobConfig<TMode>,
  ): Equal<TMode, "bigint"> extends true
  ? SQLiteBigIntBuilderInitial<"">
  : Equal<TMode, "buffer"> extends true
  ? SQLiteBlobBufferBuilderInitial<"">
  : SQLiteBlobJsonBuilderInitial<"">;
  <TName extends string, TMode extends BlobMode = BlobMode>(
  name: TName,
  config?: BlobConfig<TMode>,
  ): Equal<TMode, "bigint"> extends true
  ? SQLiteBigIntBuilderInitial<TName>
  : Equal<TMode, "buffer"> extends true
  ? SQLiteBlobBufferBuilderInitial<TName>
  : SQLiteBlobJsonBuilderInitial<TName>;
  };
  customType: <T extends CustomTypeValues = CustomTypeValues>(
  customTypeParams: CustomTypeParams<T>,
  ) => Equal<T["configRequired"], true> extends true
  ? {
  <TConfig extends Record<string, any>>(
  fieldConfig: TConfig,
  ): SQLiteCustomColumnBuilder<ConvertCustomConfig<"", T>>;
  <TName extends string>(
  dbName: TName,
  fieldConfig: T["config"],
  ): SQLiteCustomColumnBuilder<ConvertCustomConfig<TName, T>>;
  }
  : {
  (): SQLiteCustomColumnBuilder<ConvertCustomConfig<"", T>>;
  <TConfig extends Record<string, any>>(
  fieldConfig?: TConfig,
  ): SQLiteCustomColumnBuilder<ConvertCustomConfig<"", T>>;
  <TName extends string>(
  dbName: TName,
  fieldConfig?: T["config"],
  ): SQLiteCustomColumnBuilder<ConvertCustomConfig<TName, T>>;
  };
  integer: {
  (): SQLiteIntegerBuilderInitial<"">;
  <TMode extends "number" | "boolean" | "timestamp" | "timestamp_ms">(
  config?: IntegerConfig<TMode>,
  ): Or<Equal<TMode, "timestamp">, Equal<TMode, "timestamp_ms">> extends true
  ? SQLiteTimestampBuilderInitial<"">
  : Equal<TMode, "boolean"> extends true
  ? SQLiteBooleanBuilderInitial<"">
  : SQLiteIntegerBuilderInitial<"">;
  <
  TName extends string,
  TMode extends "number" | "boolean" | "timestamp" | "timestamp_ms",
  >(
  name: TName,
  config?: IntegerConfig<TMode>,
  ): Or<Equal<TMode, "timestamp">, Equal<TMode, "timestamp_ms">> extends true
  ? SQLiteTimestampBuilderInitial<TName>
  : Equal<TMode, "boolean"> extends true
  ? SQLiteBooleanBuilderInitial<TName>
  : SQLiteIntegerBuilderInitial<TName>;
  };
  numeric: {
  <TMode extends "string" | "number" | "bigint">(
  config?: SQLiteNumericConfig<TMode>,
  ): Equal<TMode, "number"> extends true
  ? SQLiteNumericNumberBuilderInitial<"">
  : Equal<TMode, "bigint"> extends true
  ? SQLiteNumericBigIntBuilderInitial<"">
  : SQLiteNumericBuilderInitial<"">;
  <TName extends string, TMode extends "string" | "number" | "bigint">(
  name: TName,
  config?: SQLiteNumericConfig<TMode>,
  ): Equal<TMode, "number"> extends true
  ? SQLiteNumericNumberBuilderInitial<TName>
  : Equal<TMode, "bigint"> extends true
  ? SQLiteNumericBigIntBuilderInitial<TName>
  : SQLiteNumericBuilderInitial<TName>;
  };
  real: {
  (): SQLiteRealBuilderInitial<"">;
  <TName extends string>(name: TName): SQLiteRealBuilderInitial<TName>;
  };
  text: {
  (): SQLiteTextBuilderInitial<"", [string, ...string[]], undefined>;
  <
  U extends string,
  T extends readonly [U, U],
  L extends number | undefined,
  TMode extends "json" | "text" = "json" | "text",
  >(
  config?: SQLiteTextConfig<TMode, T | Writable<T>, L>,
  ): Equal<TMode, "json"> extends true
  ? SQLiteTextJsonBuilderInitial<"">
  : SQLiteTextBuilderInitial<"", Writable<T>, L>;
  <
  TName extends string,
  U extends string,
  T extends readonly [U, U],
  L extends number | undefined,
  TMode extends "json" | "text" = "json" | "text",
  >(
  name: TName,
  config?: SQLiteTextConfig<TMode, T | Writable<T>, L>,
  ): Equal<TMode, "json"> extends true
  ? SQLiteTextJsonBuilderInitial<TName>
  : SQLiteTextBuilderInitial<TName, Writable<T>, L>;
  };
  },
  ) => TColumnsMap,
  extraConfig?: (
  self: {
  [Key in string | number | symbol]: SQLiteColumn<
  {
  baseColumn: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { baseBuilder: U }
  ? Column<
  {
  baseColumn: U["_"] extends { baseBuilder: U }
  ? (
  Column<{ name: U["_"]["name"]; tableName: TTableName; dataType: U["_"]["dataType"]; columnType: U["_"]["columnType"]; data: U["_"] extends { $type: infer U; } ? U : U["_"]["data"]; ... 9 more ...; generated: U["_"] extends { ...; } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined; },...
  )
  : never;
  columnType: U["_"]["columnType"];
  data: U["_"] extends { $type: U } ? U : (...)[(...)]["data"];
  dataType: U["_"]["dataType"];
  driverParam: U["_"]["driverParam"];
  enumValues: U["_"]["enumValues"];
  generated: U["_"] extends { generated: G }
  ? unknown extends G
  ? undefined
  : (...) extends (...) ? (...) : (...)
  : undefined;
  hasDefault: U["_"] extends { hasDefault: true } ? true : false;
  hasRuntimeDefault: U["_"] extends { hasRuntimeDefault: true }
  ? true
  : false;
  identity: U["_"] extends { identity: "always" }
  ? "always"
  : (...)[(...)] extends { identity: ... } ? "byDefault" : undefined;
  isAutoincrement: U["_"] extends { isAutoincrement: true }
  ? true
  : false;
  isPrimaryKey: U["_"] extends { isPrimaryKey: true } ? true : false;
  name: U["_"]["name"];
  notNull: U["_"] extends { notNull: true } ? true : false;
  tableName: TTableName;
  },
  {},
  {
  [K in string
  | number
  | symbol]: Omit<
  (...)[(...)],
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...),
  >[K]
  },
  >
  : never;
  columnType: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["columnType"];
  data: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { $type: U }
  ? U
  : (
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  }
  )["data"];
  dataType: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["dataType"];
  driverParam: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["driverParam"];
  enumValues: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["enumValues"];
  generated: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { generated: G }
  ? unknown extends G
  ? undefined
  : G extends undefined ? undefined : G
  : undefined;
  hasDefault: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { hasDefault: true }
  ? true
  : false;
  hasRuntimeDefault: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { hasRuntimeDefault: true }
  ? true
  : false;
  identity: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { identity: "always" }
  ? "always"
  : (
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  }
  ) extends { identity: "byDefault" }
  ? "byDefault"
  : undefined;
  isAutoincrement: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { isAutoincrement: true }
  ? true
  : false;
  isPrimaryKey: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { isPrimaryKey: true }
  ? true
  : false;
  name: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["name"];
  notNull: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { notNull: true }
  ? true
  : false;
  tableName: TTableName;
  },
  {},
  {
  [K in string
  | number
  | symbol]: Omit<
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  },
  | "dialect"
  | "name"
  | "data"
  | "driverParam"
  | "tableName"
  | "notNull"
  | "hasDefault"
  | "isPrimaryKey"
  | "isAutoincrement"
  | "hasRuntimeDefault"
  | "dataType"
  | "columnType"
  | "enumValues"
  | "identity"
  | "brand"
  | "baseColumn"
  | "generated",
  >[K]
  },
  >
  },
  ) => SQLiteTableExtraConfigValue[],
  ): SQLiteTableWithColumns<
  {
  columns: {
  [Key in string
  | number
  | symbol]: SQLiteColumn<
  {
  baseColumn: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { baseBuilder: U }
  ? Column<
  {
  baseColumn: U["_"] extends { baseBuilder: U }
  ? (
  Column<{ name: U["_"]["name"]; tableName: TTableName; dataType: U["_"]["dataType"]; columnType: U["_"]["columnType"]; data: U["_"] extends { $type: infer U; } ? U : U["_"]["data"]; ... 9 more ...; generated: U["_"] extends { ...; } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined; },...
  )
  : never;
  columnType: U["_"]["columnType"];
  data: U["_"] extends { $type: U } ? U : (...)[(...)]["data"];
  dataType: U["_"]["dataType"];
  driverParam: U["_"]["driverParam"];
  enumValues: U["_"]["enumValues"];
  generated: U["_"] extends { generated: G }
  ? unknown extends G
  ? undefined
  : (...) extends (...) ? (...) : (...)
  : undefined;
  hasDefault: U["_"] extends { hasDefault: true } ? true : false;
  hasRuntimeDefault: U["_"] extends { hasRuntimeDefault: true }
  ? true
  : false;
  identity: U["_"] extends { identity: "always" }
  ? "always"
  : (...)[(...)] extends { identity: ... } ? "byDefault" : undefined;
  isAutoincrement: U["_"] extends { isAutoincrement: true }
  ? true
  : false;
  isPrimaryKey: U["_"] extends { isPrimaryKey: true } ? true : false;
  name: U["_"]["name"];
  notNull: U["_"] extends { notNull: true } ? true : false;
  tableName: TTableName;
  },
  {},
  {
  [K in string
  | number
  | symbol]: Omit<
  (...)[(...)],
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...),
  >[K]
  },
  >
  : never;
  columnType: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["columnType"];
  data: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { $type: U }
  ? U
  : (
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  }
  )["data"];
  dataType: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["dataType"];
  driverParam: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["driverParam"];
  enumValues: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["enumValues"];
  generated: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { generated: G }
  ? unknown extends G
  ? undefined
  : G extends undefined ? undefined : G
  : undefined;
  hasDefault: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { hasDefault: true }
  ? true
  : false;
  hasRuntimeDefault: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { hasRuntimeDefault: true }
  ? true
  : false;
  identity: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { identity: "always" }
  ? "always"
  : (
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  }
  ) extends { identity: "byDefault" }
  ? "byDefault"
  : undefined;
  isAutoincrement: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { isAutoincrement: true }
  ? true
  : false;
  isPrimaryKey: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { isPrimaryKey: true }
  ? true
  : false;
  name: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["name"];
  notNull: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { notNull: true }
  ? true
  : false;
  tableName: TTableName;
  },
  {},
  {
  [K in string
  | number
  | symbol]: Omit<
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  },
  | "dialect"
  | "name"
  | "data"
  | "driverParam"
  | "tableName"
  | "notNull"
  | "hasDefault"
  | "isPrimaryKey"
  | "isAutoincrement"
  | "hasRuntimeDefault"
  | "dataType"
  | "columnType"
  | "enumValues"
  | "identity"
  | "brand"
  | "baseColumn"
  | "generated",
  >[K]
  },
  >
  };
  dialect: "sqlite";
  name: TTableName;
  schema: TSchema;
  },
  >

  #### Type Parameters

  - TTableName extends string
  - TColumnsMap extends Record<
    string,
    SQLiteColumnBuilderBase<
    ColumnBuilderBaseConfig<ColumnDataType, string>,
    object,
    >,
    >

  #### Parameters

  - name: TTableName
  - columns: (
    columnTypes: {
    blob: {
    (): SQLiteBlobJsonBuilderInitial<"">;
    <TMode extends BlobMode = BlobMode>(
    config?: BlobConfig<TMode>,
    ): Equal<TMode, "bigint"> extends true
    ? SQLiteBigIntBuilderInitial<"">
    : Equal<TMode, "buffer"> extends true
    ? SQLiteBlobBufferBuilderInitial<"">
    : SQLiteBlobJsonBuilderInitial<"">;
    <TName extends string, TMode extends BlobMode = BlobMode>(
    name: TName,
    config?: BlobConfig<TMode>,
    ): Equal<TMode, "bigint"> extends true
    ? SQLiteBigIntBuilderInitial<TName>
    : Equal<TMode, "buffer"> extends true
    ? SQLiteBlobBufferBuilderInitial<TName>
    : SQLiteBlobJsonBuilderInitial<TName>;
    };
    customType: <T extends CustomTypeValues = CustomTypeValues>(
    customTypeParams: CustomTypeParams<T>,
    ) => Equal<T["configRequired"], true> extends true
    ? {
    <TConfig extends Record<string, any>>(
    fieldConfig: TConfig,
    ): SQLiteCustomColumnBuilder<ConvertCustomConfig<"", T>>;
    <TName extends string>(
    dbName: TName,
    fieldConfig: T["config"],
    ): SQLiteCustomColumnBuilder<ConvertCustomConfig<TName, T>>;
    }
    : {
    (): SQLiteCustomColumnBuilder<ConvertCustomConfig<"", T>>;
    <TConfig extends Record<string, any>>(
    fieldConfig?: TConfig,
    ): SQLiteCustomColumnBuilder<ConvertCustomConfig<"", T>>;
    <TName extends string>(
    dbName: TName,
    fieldConfig?: T["config"],
    ): SQLiteCustomColumnBuilder<ConvertCustomConfig<TName, T>>;
    };
    integer: {
    (): SQLiteIntegerBuilderInitial<"">;
    <TMode extends "number" | "boolean" | "timestamp" | "timestamp_ms">(
    config?: IntegerConfig<TMode>,
    ): Or<Equal<TMode, "timestamp">, Equal<TMode, "timestamp_ms">> extends true
    ? SQLiteTimestampBuilderInitial<"">
    : Equal<TMode, "boolean"> extends true
    ? SQLiteBooleanBuilderInitial<"">
    : SQLiteIntegerBuilderInitial<"">;
    <
    TName extends string,
    TMode extends "number" | "boolean" | "timestamp" | "timestamp_ms",
    >(
    name: TName,
    config?: IntegerConfig<TMode>,
    ): Or<Equal<TMode, "timestamp">, Equal<TMode, "timestamp_ms">> extends true
    ? SQLiteTimestampBuilderInitial<TName>
    : Equal<TMode, "boolean"> extends true
    ? SQLiteBooleanBuilderInitial<TName>
    : SQLiteIntegerBuilderInitial<TName>;
    };
    numeric: {
    <TMode extends "string" | "number" | "bigint">(
    config?: SQLiteNumericConfig<TMode>,
    ): Equal<TMode, "number"> extends true
    ? SQLiteNumericNumberBuilderInitial<"">
    : Equal<TMode, "bigint"> extends true
    ? SQLiteNumericBigIntBuilderInitial<"">
    : SQLiteNumericBuilderInitial<"">;
    <TName extends string, TMode extends "string" | "number" | "bigint">(
    name: TName,
    config?: SQLiteNumericConfig<TMode>,
    ): Equal<TMode, "number"> extends true
    ? SQLiteNumericNumberBuilderInitial<TName>
    : Equal<TMode, "bigint"> extends true
    ? SQLiteNumericBigIntBuilderInitial<TName>
    : SQLiteNumericBuilderInitial<TName>;
    };
    real: {
    (): SQLiteRealBuilderInitial<"">;
    <TName extends string>(name: TName): SQLiteRealBuilderInitial<TName>;
    };
    text: {
    (): SQLiteTextBuilderInitial<"", [string, ...string[]], undefined>;
    <
    U extends string,
    T extends readonly [U, U],
    L extends number | undefined,
    TMode extends "json" | "text" = "json" | "text",
    >(
    config?: SQLiteTextConfig<TMode, T | Writable<T>, L>,
    ): Equal<TMode, "json"> extends true
    ? SQLiteTextJsonBuilderInitial<"">
    : SQLiteTextBuilderInitial<"", Writable<T>, L>;
    <
    TName extends string,
    U extends string,
    T extends readonly [U, U],
    L extends number | undefined,
    TMode extends "json" | "text" = "json" | "text",
    >(
    name: TName,
    config?: SQLiteTextConfig<TMode, T | Writable<T>, L>,
    ): Equal<TMode, "json"> extends true
    ? SQLiteTextJsonBuilderInitial<TName>
    : SQLiteTextBuilderInitial<TName, Writable<T>, L>;
    };
    },
    ) => TColumnsMap
  - `Optional` extraConfig: (
    self: {
    [Key in string | number | symbol]: SQLiteColumn<
    {
    baseColumn: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { baseBuilder: U }
    ? Column<
    {
    baseColumn: U["_"] extends { baseBuilder: U }
    ? (
    Column<{ name: U["_"]["name"]; tableName: TTableName; dataType: U["_"]["dataType"]; columnType: U["_"]["columnType"]; data: U["_"] extends { $type: infer U; } ? U : U["_"]["data"]; ... 9 more ...; generated: U["_"] extends { ...; } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined; },...
    )
    : never;
    columnType: U["_"]["columnType"];
    data: U["_"] extends { $type: U } ? U : (...)[(...)]["data"];
    dataType: U["_"]["dataType"];
    driverParam: U["_"]["driverParam"];
    enumValues: U["_"]["enumValues"];
    generated: U["_"] extends { generated: G }
    ? unknown extends G
    ? undefined
    : (...) extends (...) ? (...) : (...)
    : undefined;
    hasDefault: U["_"] extends { hasDefault: true } ? true : false;
    hasRuntimeDefault: U["_"] extends { hasRuntimeDefault: true }
    ? true
    : false;
    identity: U["_"] extends { identity: "always" }
    ? "always"
    : (...)[(...)] extends { identity: ... } ? "byDefault" : undefined;
    isAutoincrement: U["_"] extends { isAutoincrement: true }
    ? true
    : false;
    isPrimaryKey: U["_"] extends { isPrimaryKey: true } ? true : false;
    name: U["_"]["name"];
    notNull: U["_"] extends { notNull: true } ? true : false;
    tableName: TTableName;
    },
    {},
    {
    [K in string
    | number
    | symbol]: Omit<
    (...)[(...)],
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...),
    >[K]
    },
    >
    : never;
    columnType: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    )["columnType"];
    data: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { $type: U }
    ? U
    : (
    Omit<(...)[(...)]["_"], "name"> & {
    name: (...)[(...)] extends ""
    ? Assume<(...), (...)>
    : (...)[(...)];
    }
    )["data"];
    dataType: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    )["dataType"];
    driverParam: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    )["driverParam"];
    enumValues: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    )["enumValues"];
    generated: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { generated: G }
    ? unknown extends G
    ? undefined
    : G extends undefined ? undefined : G
    : undefined;
    hasDefault: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { hasDefault: true }
    ? true
    : false;
    hasRuntimeDefault: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { hasRuntimeDefault: true }
    ? true
    : false;
    identity: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { identity: "always" }
    ? "always"
    : (
    Omit<(...)[(...)]["_"], "name"> & {
    name: (...)[(...)] extends ""
    ? Assume<(...), (...)>
    : (...)[(...)];
    }
    ) extends { identity: "byDefault" }
    ? "byDefault"
    : undefined;
    isAutoincrement: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { isAutoincrement: true }
    ? true
    : false;
    isPrimaryKey: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { isPrimaryKey: true }
    ? true
    : false;
    name: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    )["name"];
    notNull: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { notNull: true }
    ? true
    : false;
    tableName: TTableName;
    },
    {},
    {
    [K in string
    | number
    | symbol]: Omit<
    Omit<(...)[(...)]["_"], "name"> & {
    name: (...)[(...)] extends "" ? Assume<(...), (...)> : (...)[(...)];
    },
    | "dialect"
    | "name"
    | "data"
    | "driverParam"
    | "tableName"
    | "notNull"
    | "hasDefault"
    | "isPrimaryKey"
    | "isAutoincrement"
    | "hasRuntimeDefault"
    | "dataType"
    | "columnType"
    | "enumValues"
    | "identity"
    | "brand"
    | "baseColumn"
    | "generated",
    >[K]
    },
    >
    },
    ) => SQLiteTableExtraConfigValue[]

  #### Returns SQLiteTableWithColumns<
  {
  columns: {
  [Key in string
  | number
  | symbol]: SQLiteColumn<
  {
  baseColumn: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { baseBuilder: U }
  ? Column<
  {
  baseColumn: U["_"] extends { baseBuilder: U }
  ? (
  Column<{ name: U["_"]["name"]; tableName: TTableName; dataType: U["_"]["dataType"]; columnType: U["_"]["columnType"]; data: U["_"] extends { $type: infer U; } ? U : U["_"]["data"]; ... 9 more ...; generated: U["_"] extends { ...; } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined; },...
  )
  : never;
  columnType: U["_"]["columnType"];
  data: U["_"] extends { $type: U } ? U : (...)[(...)]["data"];
  dataType: U["_"]["dataType"];
  driverParam: U["_"]["driverParam"];
  enumValues: U["_"]["enumValues"];
  generated: U["_"] extends { generated: G }
  ? unknown extends G
  ? undefined
  : (...) extends (...) ? (...) : (...)
  : undefined;
  hasDefault: U["_"] extends { hasDefault: true } ? true : false;
  hasRuntimeDefault: U["_"] extends { hasRuntimeDefault: true }
  ? true
  : false;
  identity: U["_"] extends { identity: "always" }
  ? "always"
  : (...)[(...)] extends { identity: ... } ? "byDefault" : undefined;
  isAutoincrement: U["_"] extends { isAutoincrement: true }
  ? true
  : false;
  isPrimaryKey: U["_"] extends { isPrimaryKey: true } ? true : false;
  name: U["_"]["name"];
  notNull: U["_"] extends { notNull: true } ? true : false;
  tableName: TTableName;
  },
  {},
  {
  [K in string
  | number
  | symbol]: Omit<
  (...)[(...)],
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...),
  >[K]
  },
  >
  : never;
  columnType: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["columnType"];
  data: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { $type: U }
  ? U
  : (
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  }
  )["data"];
  dataType: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["dataType"];
  driverParam: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["driverParam"];
  enumValues: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["enumValues"];
  generated: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { generated: G }
  ? unknown extends G
  ? undefined
  : G extends undefined ? undefined : G
  : undefined;
  hasDefault: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { hasDefault: true }
  ? true
  : false;
  hasRuntimeDefault: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { hasRuntimeDefault: true }
  ? true
  : false;
  identity: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { identity: "always" }
  ? "always"
  : (
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  }
  ) extends { identity: "byDefault" }
  ? "byDefault"
  : undefined;
  isAutoincrement: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { isAutoincrement: true }
  ? true
  : false;
  isPrimaryKey: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { isPrimaryKey: true }
  ? true
  : false;
  name: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["name"];
  notNull: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { notNull: true }
  ? true
  : false;
  tableName: TTableName;
  },
  {},
  {
  [K in string
  | number
  | symbol]: Omit<
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  },
  | "dialect"
  | "name"
  | "data"
  | "driverParam"
  | "tableName"
  | "notNull"
  | "hasDefault"
  | "isPrimaryKey"
  | "isAutoincrement"
  | "hasRuntimeDefault"
  | "dataType"
  | "columnType"
  | "enumValues"
  | "identity"
  | "brand"
  | "baseColumn"
  | "generated",
  >[K]
  },
  >
  };
  dialect: "sqlite";
  name: TTableName;
  schema: TSchema;
  },
  >

  - Defined in node_modules/.pnpm/drizzle-orm@0.44.6_@cloudflare+workers-types@4.20251014.0_@opentelemetry+api@1.9.0_@typ_31a6f5ca8f102af87864dd251ed08d88/node_modules/drizzle-orm/sqlite-core/table.d.ts:28
- SQLiteTableFn<
  TTableName extends string,
  TColumnsMap extends
  Record<
  string,
  SQLiteColumnBuilderBase<
  ColumnBuilderBaseConfig<ColumnDataType, string>,
  object,
  >,
  >,
  >(
  name: TTableName,
  columns: TColumnsMap,
  extraConfig?: (
  self: {
  [Key in string | number | symbol]: SQLiteColumn<
  {
  baseColumn: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { baseBuilder: U }
  ? Column<
  {
  baseColumn: U["_"] extends { baseBuilder: U }
  ? (
  Column<{ name: U["_"]["name"]; tableName: TTableName; dataType: U["_"]["dataType"]; columnType: U["_"]["columnType"]; data: U["_"] extends { $type: infer U; } ? U : U["_"]["data"]; ... 9 more ...; generated: U["_"] extends { ...; } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined; },...
  )
  : never;
  columnType: U["_"]["columnType"];
  data: U["_"] extends { $type: U } ? U : (...)[(...)]["data"];
  dataType: U["_"]["dataType"];
  driverParam: U["_"]["driverParam"];
  enumValues: U["_"]["enumValues"];
  generated: U["_"] extends { generated: G }
  ? unknown extends G
  ? undefined
  : (...) extends (...) ? (...) : (...)
  : undefined;
  hasDefault: U["_"] extends { hasDefault: true } ? true : false;
  hasRuntimeDefault: U["_"] extends { hasRuntimeDefault: true }
  ? true
  : false;
  identity: U["_"] extends { identity: "always" }
  ? "always"
  : (...)[(...)] extends { identity: ... } ? "byDefault" : undefined;
  isAutoincrement: U["_"] extends { isAutoincrement: true }
  ? true
  : false;
  isPrimaryKey: U["_"] extends { isPrimaryKey: true } ? true : false;
  name: U["_"]["name"];
  notNull: U["_"] extends { notNull: true } ? true : false;
  tableName: TTableName;
  },
  {},
  {
  [K in string
  | number
  | symbol]: Omit<
  (...)[(...)],
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...),
  >[K]
  },
  >
  : never;
  columnType: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["columnType"];
  data: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { $type: U }
  ? U
  : (
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  }
  )["data"];
  dataType: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["dataType"];
  driverParam: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["driverParam"];
  enumValues: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["enumValues"];
  generated: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { generated: G }
  ? unknown extends G
  ? undefined
  : G extends undefined ? undefined : G
  : undefined;
  hasDefault: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { hasDefault: true }
  ? true
  : false;
  hasRuntimeDefault: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { hasRuntimeDefault: true }
  ? true
  : false;
  identity: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { identity: "always" }
  ? "always"
  : (
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  }
  ) extends { identity: "byDefault" }
  ? "byDefault"
  : undefined;
  isAutoincrement: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { isAutoincrement: true }
  ? true
  : false;
  isPrimaryKey: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { isPrimaryKey: true }
  ? true
  : false;
  name: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["name"];
  notNull: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { notNull: true }
  ? true
  : false;
  tableName: TTableName;
  },
  {},
  {
  [K in string
  | number
  | symbol]: Omit<
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  },
  | "dialect"
  | "name"
  | "data"
  | "driverParam"
  | "tableName"
  | "notNull"
  | "hasDefault"
  | "isPrimaryKey"
  | "isAutoincrement"
  | "hasRuntimeDefault"
  | "dataType"
  | "columnType"
  | "enumValues"
  | "identity"
  | "brand"
  | "baseColumn"
  | "generated",
  >[K]
  },
  >
  },
  ) => SQLiteTableExtraConfig,
  ): SQLiteTableWithColumns<
  {
  columns: {
  [Key in string
  | number
  | symbol]: SQLiteColumn<
  {
  baseColumn: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { baseBuilder: U }
  ? Column<
  {
  baseColumn: U["_"] extends { baseBuilder: U }
  ? (
  Column<{ name: U["_"]["name"]; tableName: TTableName; dataType: U["_"]["dataType"]; columnType: U["_"]["columnType"]; data: U["_"] extends { $type: infer U; } ? U : U["_"]["data"]; ... 9 more ...; generated: U["_"] extends { ...; } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined; },...
  )
  : never;
  columnType: U["_"]["columnType"];
  data: U["_"] extends { $type: U } ? U : (...)[(...)]["data"];
  dataType: U["_"]["dataType"];
  driverParam: U["_"]["driverParam"];
  enumValues: U["_"]["enumValues"];
  generated: U["_"] extends { generated: G }
  ? unknown extends G
  ? undefined
  : (...) extends (...) ? (...) : (...)
  : undefined;
  hasDefault: U["_"] extends { hasDefault: true } ? true : false;
  hasRuntimeDefault: U["_"] extends { hasRuntimeDefault: true }
  ? true
  : false;
  identity: U["_"] extends { identity: "always" }
  ? "always"
  : (...)[(...)] extends { identity: ... } ? "byDefault" : undefined;
  isAutoincrement: U["_"] extends { isAutoincrement: true }
  ? true
  : false;
  isPrimaryKey: U["_"] extends { isPrimaryKey: true } ? true : false;
  name: U["_"]["name"];
  notNull: U["_"] extends { notNull: true } ? true : false;
  tableName: TTableName;
  },
  {},
  {
  [K in string
  | number
  | symbol]: Omit<
  (...)[(...)],
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...),
  >[K]
  },
  >
  : never;
  columnType: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["columnType"];
  data: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { $type: U }
  ? U
  : (
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  }
  )["data"];
  dataType: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["dataType"];
  driverParam: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["driverParam"];
  enumValues: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["enumValues"];
  generated: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { generated: G }
  ? unknown extends G
  ? undefined
  : G extends undefined ? undefined : G
  : undefined;
  hasDefault: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { hasDefault: true }
  ? true
  : false;
  hasRuntimeDefault: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { hasRuntimeDefault: true }
  ? true
  : false;
  identity: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { identity: "always" }
  ? "always"
  : (
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  }
  ) extends { identity: "byDefault" }
  ? "byDefault"
  : undefined;
  isAutoincrement: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { isAutoincrement: true }
  ? true
  : false;
  isPrimaryKey: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { isPrimaryKey: true }
  ? true
  : false;
  name: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["name"];
  notNull: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { notNull: true }
  ? true
  : false;
  tableName: TTableName;
  },
  {},
  {
  [K in string
  | number
  | symbol]: Omit<
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  },
  | "dialect"
  | "name"
  | "data"
  | "driverParam"
  | "tableName"
  | "notNull"
  | "hasDefault"
  | "isPrimaryKey"
  | "isAutoincrement"
  | "hasRuntimeDefault"
  | "dataType"
  | "columnType"
  | "enumValues"
  | "identity"
  | "brand"
  | "baseColumn"
  | "generated",
  >[K]
  },
  >
  };
  dialect: "sqlite";
  name: TTableName;
  schema: TSchema;
  },
  >

  #### Type Parameters

  - TTableName extends string
  - TColumnsMap extends Record<
    string,
    SQLiteColumnBuilderBase<
    ColumnBuilderBaseConfig<ColumnDataType, string>,
    object,
    >,
    >

  #### Parameters

  - name: TTableName
  - columns: TColumnsMap
  - `Optional` extraConfig: (
    self: {
    [Key in string | number | symbol]: SQLiteColumn<
    {
    baseColumn: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { baseBuilder: U }
    ? Column<
    {
    baseColumn: U["_"] extends { baseBuilder: U }
    ? (
    Column<{ name: U["_"]["name"]; tableName: TTableName; dataType: U["_"]["dataType"]; columnType: U["_"]["columnType"]; data: U["_"] extends { $type: infer U; } ? U : U["_"]["data"]; ... 9 more ...; generated: U["_"] extends { ...; } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined; },...
    )
    : never;
    columnType: U["_"]["columnType"];
    data: U["_"] extends { $type: U } ? U : (...)[(...)]["data"];
    dataType: U["_"]["dataType"];
    driverParam: U["_"]["driverParam"];
    enumValues: U["_"]["enumValues"];
    generated: U["_"] extends { generated: G }
    ? unknown extends G
    ? undefined
    : (...) extends (...) ? (...) : (...)
    : undefined;
    hasDefault: U["_"] extends { hasDefault: true } ? true : false;
    hasRuntimeDefault: U["_"] extends { hasRuntimeDefault: true }
    ? true
    : false;
    identity: U["_"] extends { identity: "always" }
    ? "always"
    : (...)[(...)] extends { identity: ... } ? "byDefault" : undefined;
    isAutoincrement: U["_"] extends { isAutoincrement: true }
    ? true
    : false;
    isPrimaryKey: U["_"] extends { isPrimaryKey: true } ? true : false;
    name: U["_"]["name"];
    notNull: U["_"] extends { notNull: true } ? true : false;
    tableName: TTableName;
    },
    {},
    {
    [K in string
    | number
    | symbol]: Omit<
    (...)[(...)],
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...),
    >[K]
    },
    >
    : never;
    columnType: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    )["columnType"];
    data: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { $type: U }
    ? U
    : (
    Omit<(...)[(...)]["_"], "name"> & {
    name: (...)[(...)] extends ""
    ? Assume<(...), (...)>
    : (...)[(...)];
    }
    )["data"];
    dataType: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    )["dataType"];
    driverParam: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    )["driverParam"];
    enumValues: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    )["enumValues"];
    generated: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { generated: G }
    ? unknown extends G
    ? undefined
    : G extends undefined ? undefined : G
    : undefined;
    hasDefault: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { hasDefault: true }
    ? true
    : false;
    hasRuntimeDefault: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { hasRuntimeDefault: true }
    ? true
    : false;
    identity: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { identity: "always" }
    ? "always"
    : (
    Omit<(...)[(...)]["_"], "name"> & {
    name: (...)[(...)] extends ""
    ? Assume<(...), (...)>
    : (...)[(...)];
    }
    ) extends { identity: "byDefault" }
    ? "byDefault"
    : undefined;
    isAutoincrement: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { isAutoincrement: true }
    ? true
    : false;
    isPrimaryKey: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { isPrimaryKey: true }
    ? true
    : false;
    name: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    )["name"];
    notNull: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { notNull: true }
    ? true
    : false;
    tableName: TTableName;
    },
    {},
    {
    [K in string
    | number
    | symbol]: Omit<
    Omit<(...)[(...)]["_"], "name"> & {
    name: (...)[(...)] extends "" ? Assume<(...), (...)> : (...)[(...)];
    },
    | "dialect"
    | "name"
    | "data"
    | "driverParam"
    | "tableName"
    | "notNull"
    | "hasDefault"
    | "isPrimaryKey"
    | "isAutoincrement"
    | "hasRuntimeDefault"
    | "dataType"
    | "columnType"
    | "enumValues"
    | "identity"
    | "brand"
    | "baseColumn"
    | "generated",
    >[K]
    },
    >
    },
    ) => SQLiteTableExtraConfig

  #### Returns SQLiteTableWithColumns<
  {
  columns: {
  [Key in string
  | number
  | symbol]: SQLiteColumn<
  {
  baseColumn: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { baseBuilder: U }
  ? Column<
  {
  baseColumn: U["_"] extends { baseBuilder: U }
  ? (
  Column<{ name: U["_"]["name"]; tableName: TTableName; dataType: U["_"]["dataType"]; columnType: U["_"]["columnType"]; data: U["_"] extends { $type: infer U; } ? U : U["_"]["data"]; ... 9 more ...; generated: U["_"] extends { ...; } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined; },...
  )
  : never;
  columnType: U["_"]["columnType"];
  data: U["_"] extends { $type: U } ? U : (...)[(...)]["data"];
  dataType: U["_"]["dataType"];
  driverParam: U["_"]["driverParam"];
  enumValues: U["_"]["enumValues"];
  generated: U["_"] extends { generated: G }
  ? unknown extends G
  ? undefined
  : (...) extends (...) ? (...) : (...)
  : undefined;
  hasDefault: U["_"] extends { hasDefault: true } ? true : false;
  hasRuntimeDefault: U["_"] extends { hasRuntimeDefault: true }
  ? true
  : false;
  identity: U["_"] extends { identity: "always" }
  ? "always"
  : (...)[(...)] extends { identity: ... } ? "byDefault" : undefined;
  isAutoincrement: U["_"] extends { isAutoincrement: true }
  ? true
  : false;
  isPrimaryKey: U["_"] extends { isPrimaryKey: true } ? true : false;
  name: U["_"]["name"];
  notNull: U["_"] extends { notNull: true } ? true : false;
  tableName: TTableName;
  },
  {},
  {
  [K in string
  | number
  | symbol]: Omit<
  (...)[(...)],
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...),
  >[K]
  },
  >
  : never;
  columnType: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["columnType"];
  data: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { $type: U }
  ? U
  : (
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  }
  )["data"];
  dataType: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["dataType"];
  driverParam: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["driverParam"];
  enumValues: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["enumValues"];
  generated: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { generated: G }
  ? unknown extends G
  ? undefined
  : G extends undefined ? undefined : G
  : undefined;
  hasDefault: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { hasDefault: true }
  ? true
  : false;
  hasRuntimeDefault: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { hasRuntimeDefault: true }
  ? true
  : false;
  identity: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { identity: "always" }
  ? "always"
  : (
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  }
  ) extends { identity: "byDefault" }
  ? "byDefault"
  : undefined;
  isAutoincrement: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { isAutoincrement: true }
  ? true
  : false;
  isPrimaryKey: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { isPrimaryKey: true }
  ? true
  : false;
  name: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["name"];
  notNull: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { notNull: true }
  ? true
  : false;
  tableName: TTableName;
  },
  {},
  {
  [K in string
  | number
  | symbol]: Omit<
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  },
  | "dialect"
  | "name"
  | "data"
  | "driverParam"
  | "tableName"
  | "notNull"
  | "hasDefault"
  | "isPrimaryKey"
  | "isAutoincrement"
  | "hasRuntimeDefault"
  | "dataType"
  | "columnType"
  | "enumValues"
  | "identity"
  | "brand"
  | "baseColumn"
  | "generated",
  >[K]
  },
  >
  };
  dialect: "sqlite";
  name: TTableName;
  schema: TSchema;
  },
  >

  #### Deprecated

  The third parameter of sqliteTable is changing and will only accept an array instead of an object

  #### Example

  Deprecated version:

      export const users = sqliteTable("users", {
      	id: int(),
      }, (t) => ({
      	idx: index('custom_name').on(t.id)
      }));

  New API:

      export const users = sqliteTable("users", {
      	id: int(),
      }, (t) => [
      	index('custom_name').on(t.id)
      ]);

  - Defined in node_modules/.pnpm/drizzle-orm@0.44.6_@cloudflare+workers-types@4.20251014.0_@opentelemetry+api@1.9.0_@typ_31a6f5ca8f102af87864dd251ed08d88/node_modules/drizzle-orm/sqlite-core/table.d.ts:56
- SQLiteTableFn<
  TTableName extends string,
  TColumnsMap extends
  Record<
  string,
  SQLiteColumnBuilderBase<
  ColumnBuilderBaseConfig<ColumnDataType, string>,
  object,
  >,
  >,
  >(
  name: TTableName,
  columns: (
  columnTypes: {
  blob: {
  (): SQLiteBlobJsonBuilderInitial<"">;
  <TMode extends BlobMode = BlobMode>(
  config?: BlobConfig<TMode>,
  ): Equal<TMode, "bigint"> extends true
  ? SQLiteBigIntBuilderInitial<"">
  : Equal<TMode, "buffer"> extends true
  ? SQLiteBlobBufferBuilderInitial<"">
  : SQLiteBlobJsonBuilderInitial<"">;
  <TName extends string, TMode extends BlobMode = BlobMode>(
  name: TName,
  config?: BlobConfig<TMode>,
  ): Equal<TMode, "bigint"> extends true
  ? SQLiteBigIntBuilderInitial<TName>
  : Equal<TMode, "buffer"> extends true
  ? SQLiteBlobBufferBuilderInitial<TName>
  : SQLiteBlobJsonBuilderInitial<TName>;
  };
  customType: <T extends CustomTypeValues = CustomTypeValues>(
  customTypeParams: CustomTypeParams<T>,
  ) => Equal<T["configRequired"], true> extends true
  ? {
  <TConfig extends Record<string, any>>(
  fieldConfig: TConfig,
  ): SQLiteCustomColumnBuilder<ConvertCustomConfig<"", T>>;
  <TName extends string>(
  dbName: TName,
  fieldConfig: T["config"],
  ): SQLiteCustomColumnBuilder<ConvertCustomConfig<TName, T>>;
  }
  : {
  (): SQLiteCustomColumnBuilder<ConvertCustomConfig<"", T>>;
  <TConfig extends Record<string, any>>(
  fieldConfig?: TConfig,
  ): SQLiteCustomColumnBuilder<ConvertCustomConfig<"", T>>;
  <TName extends string>(
  dbName: TName,
  fieldConfig?: T["config"],
  ): SQLiteCustomColumnBuilder<ConvertCustomConfig<TName, T>>;
  };
  integer: {
  (): SQLiteIntegerBuilderInitial<"">;
  <TMode extends "number" | "boolean" | "timestamp" | "timestamp_ms">(
  config?: IntegerConfig<TMode>,
  ): Or<Equal<TMode, "timestamp">, Equal<TMode, "timestamp_ms">> extends true
  ? SQLiteTimestampBuilderInitial<"">
  : Equal<TMode, "boolean"> extends true
  ? SQLiteBooleanBuilderInitial<"">
  : SQLiteIntegerBuilderInitial<"">;
  <
  TName extends string,
  TMode extends "number" | "boolean" | "timestamp" | "timestamp_ms",
  >(
  name: TName,
  config?: IntegerConfig<TMode>,
  ): Or<Equal<TMode, "timestamp">, Equal<TMode, "timestamp_ms">> extends true
  ? SQLiteTimestampBuilderInitial<TName>
  : Equal<TMode, "boolean"> extends true
  ? SQLiteBooleanBuilderInitial<TName>
  : SQLiteIntegerBuilderInitial<TName>;
  };
  numeric: {
  <TMode extends "string" | "number" | "bigint">(
  config?: SQLiteNumericConfig<TMode>,
  ): Equal<TMode, "number"> extends true
  ? SQLiteNumericNumberBuilderInitial<"">
  : Equal<TMode, "bigint"> extends true
  ? SQLiteNumericBigIntBuilderInitial<"">
  : SQLiteNumericBuilderInitial<"">;
  <TName extends string, TMode extends "string" | "number" | "bigint">(
  name: TName,
  config?: SQLiteNumericConfig<TMode>,
  ): Equal<TMode, "number"> extends true
  ? SQLiteNumericNumberBuilderInitial<TName>
  : Equal<TMode, "bigint"> extends true
  ? SQLiteNumericBigIntBuilderInitial<TName>
  : SQLiteNumericBuilderInitial<TName>;
  };
  real: {
  (): SQLiteRealBuilderInitial<"">;
  <TName extends string>(name: TName): SQLiteRealBuilderInitial<TName>;
  };
  text: {
  (): SQLiteTextBuilderInitial<"", [string, ...string[]], undefined>;
  <
  U extends string,
  T extends readonly [U, U],
  L extends number | undefined,
  TMode extends "json" | "text" = "json" | "text",
  >(
  config?: SQLiteTextConfig<TMode, T | Writable<T>, L>,
  ): Equal<TMode, "json"> extends true
  ? SQLiteTextJsonBuilderInitial<"">
  : SQLiteTextBuilderInitial<"", Writable<T>, L>;
  <
  TName extends string,
  U extends string,
  T extends readonly [U, U],
  L extends number | undefined,
  TMode extends "json" | "text" = "json" | "text",
  >(
  name: TName,
  config?: SQLiteTextConfig<TMode, T | Writable<T>, L>,
  ): Equal<TMode, "json"> extends true
  ? SQLiteTextJsonBuilderInitial<TName>
  : SQLiteTextBuilderInitial<TName, Writable<T>, L>;
  };
  },
  ) => TColumnsMap,
  extraConfig?: (
  self: {
  [Key in string | number | symbol]: SQLiteColumn<
  {
  baseColumn: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { baseBuilder: U }
  ? Column<
  {
  baseColumn: U["_"] extends { baseBuilder: U }
  ? (
  Column<{ name: U["_"]["name"]; tableName: TTableName; dataType: U["_"]["dataType"]; columnType: U["_"]["columnType"]; data: U["_"] extends { $type: infer U; } ? U : U["_"]["data"]; ... 9 more ...; generated: U["_"] extends { ...; } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined; },...
  )
  : never;
  columnType: U["_"]["columnType"];
  data: U["_"] extends { $type: U } ? U : (...)[(...)]["data"];
  dataType: U["_"]["dataType"];
  driverParam: U["_"]["driverParam"];
  enumValues: U["_"]["enumValues"];
  generated: U["_"] extends { generated: G }
  ? unknown extends G
  ? undefined
  : (...) extends (...) ? (...) : (...)
  : undefined;
  hasDefault: U["_"] extends { hasDefault: true } ? true : false;
  hasRuntimeDefault: U["_"] extends { hasRuntimeDefault: true }
  ? true
  : false;
  identity: U["_"] extends { identity: "always" }
  ? "always"
  : (...)[(...)] extends { identity: ... } ? "byDefault" : undefined;
  isAutoincrement: U["_"] extends { isAutoincrement: true }
  ? true
  : false;
  isPrimaryKey: U["_"] extends { isPrimaryKey: true } ? true : false;
  name: U["_"]["name"];
  notNull: U["_"] extends { notNull: true } ? true : false;
  tableName: TTableName;
  },
  {},
  {
  [K in string
  | number
  | symbol]: Omit<
  (...)[(...)],
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...),
  >[K]
  },
  >
  : never;
  columnType: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["columnType"];
  data: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { $type: U }
  ? U
  : (
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  }
  )["data"];
  dataType: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["dataType"];
  driverParam: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["driverParam"];
  enumValues: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["enumValues"];
  generated: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { generated: G }
  ? unknown extends G
  ? undefined
  : G extends undefined ? undefined : G
  : undefined;
  hasDefault: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { hasDefault: true }
  ? true
  : false;
  hasRuntimeDefault: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { hasRuntimeDefault: true }
  ? true
  : false;
  identity: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { identity: "always" }
  ? "always"
  : (
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  }
  ) extends { identity: "byDefault" }
  ? "byDefault"
  : undefined;
  isAutoincrement: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { isAutoincrement: true }
  ? true
  : false;
  isPrimaryKey: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { isPrimaryKey: true }
  ? true
  : false;
  name: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["name"];
  notNull: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { notNull: true }
  ? true
  : false;
  tableName: TTableName;
  },
  {},
  {
  [K in string
  | number
  | symbol]: Omit<
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  },
  | "dialect"
  | "name"
  | "data"
  | "driverParam"
  | "tableName"
  | "notNull"
  | "hasDefault"
  | "isPrimaryKey"
  | "isAutoincrement"
  | "hasRuntimeDefault"
  | "dataType"
  | "columnType"
  | "enumValues"
  | "identity"
  | "brand"
  | "baseColumn"
  | "generated",
  >[K]
  },
  >
  },
  ) => SQLiteTableExtraConfig,
  ): SQLiteTableWithColumns<
  {
  columns: {
  [Key in string
  | number
  | symbol]: SQLiteColumn<
  {
  baseColumn: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { baseBuilder: U }
  ? Column<
  {
  baseColumn: U["_"] extends { baseBuilder: U }
  ? (
  Column<{ name: U["_"]["name"]; tableName: TTableName; dataType: U["_"]["dataType"]; columnType: U["_"]["columnType"]; data: U["_"] extends { $type: infer U; } ? U : U["_"]["data"]; ... 9 more ...; generated: U["_"] extends { ...; } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined; },...
  )
  : never;
  columnType: U["_"]["columnType"];
  data: U["_"] extends { $type: U } ? U : (...)[(...)]["data"];
  dataType: U["_"]["dataType"];
  driverParam: U["_"]["driverParam"];
  enumValues: U["_"]["enumValues"];
  generated: U["_"] extends { generated: G }
  ? unknown extends G
  ? undefined
  : (...) extends (...) ? (...) : (...)
  : undefined;
  hasDefault: U["_"] extends { hasDefault: true } ? true : false;
  hasRuntimeDefault: U["_"] extends { hasRuntimeDefault: true }
  ? true
  : false;
  identity: U["_"] extends { identity: "always" }
  ? "always"
  : (...)[(...)] extends { identity: ... } ? "byDefault" : undefined;
  isAutoincrement: U["_"] extends { isAutoincrement: true }
  ? true
  : false;
  isPrimaryKey: U["_"] extends { isPrimaryKey: true } ? true : false;
  name: U["_"]["name"];
  notNull: U["_"] extends { notNull: true } ? true : false;
  tableName: TTableName;
  },
  {},
  {
  [K in string
  | number
  | symbol]: Omit<
  (...)[(...)],
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...),
  >[K]
  },
  >
  : never;
  columnType: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["columnType"];
  data: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { $type: U }
  ? U
  : (
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  }
  )["data"];
  dataType: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["dataType"];
  driverParam: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["driverParam"];
  enumValues: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["enumValues"];
  generated: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { generated: G }
  ? unknown extends G
  ? undefined
  : G extends undefined ? undefined : G
  : undefined;
  hasDefault: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { hasDefault: true }
  ? true
  : false;
  hasRuntimeDefault: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { hasRuntimeDefault: true }
  ? true
  : false;
  identity: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { identity: "always" }
  ? "always"
  : (
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  }
  ) extends { identity: "byDefault" }
  ? "byDefault"
  : undefined;
  isAutoincrement: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { isAutoincrement: true }
  ? true
  : false;
  isPrimaryKey: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { isPrimaryKey: true }
  ? true
  : false;
  name: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["name"];
  notNull: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { notNull: true }
  ? true
  : false;
  tableName: TTableName;
  },
  {},
  {
  [K in string
  | number
  | symbol]: Omit<
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  },
  | "dialect"
  | "name"
  | "data"
  | "driverParam"
  | "tableName"
  | "notNull"
  | "hasDefault"
  | "isPrimaryKey"
  | "isAutoincrement"
  | "hasRuntimeDefault"
  | "dataType"
  | "columnType"
  | "enumValues"
  | "identity"
  | "brand"
  | "baseColumn"
  | "generated",
  >[K]
  },
  >
  };
  dialect: "sqlite";
  name: TTableName;
  schema: TSchema;
  },
  >

  #### Type Parameters

  - TTableName extends string
  - TColumnsMap extends Record<
    string,
    SQLiteColumnBuilderBase<
    ColumnBuilderBaseConfig<ColumnDataType, string>,
    object,
    >,
    >

  #### Parameters

  - name: TTableName
  - columns: (
    columnTypes: {
    blob: {
    (): SQLiteBlobJsonBuilderInitial<"">;
    <TMode extends BlobMode = BlobMode>(
    config?: BlobConfig<TMode>,
    ): Equal<TMode, "bigint"> extends true
    ? SQLiteBigIntBuilderInitial<"">
    : Equal<TMode, "buffer"> extends true
    ? SQLiteBlobBufferBuilderInitial<"">
    : SQLiteBlobJsonBuilderInitial<"">;
    <TName extends string, TMode extends BlobMode = BlobMode>(
    name: TName,
    config?: BlobConfig<TMode>,
    ): Equal<TMode, "bigint"> extends true
    ? SQLiteBigIntBuilderInitial<TName>
    : Equal<TMode, "buffer"> extends true
    ? SQLiteBlobBufferBuilderInitial<TName>
    : SQLiteBlobJsonBuilderInitial<TName>;
    };
    customType: <T extends CustomTypeValues = CustomTypeValues>(
    customTypeParams: CustomTypeParams<T>,
    ) => Equal<T["configRequired"], true> extends true
    ? {
    <TConfig extends Record<string, any>>(
    fieldConfig: TConfig,
    ): SQLiteCustomColumnBuilder<ConvertCustomConfig<"", T>>;
    <TName extends string>(
    dbName: TName,
    fieldConfig: T["config"],
    ): SQLiteCustomColumnBuilder<ConvertCustomConfig<TName, T>>;
    }
    : {
    (): SQLiteCustomColumnBuilder<ConvertCustomConfig<"", T>>;
    <TConfig extends Record<string, any>>(
    fieldConfig?: TConfig,
    ): SQLiteCustomColumnBuilder<ConvertCustomConfig<"", T>>;
    <TName extends string>(
    dbName: TName,
    fieldConfig?: T["config"],
    ): SQLiteCustomColumnBuilder<ConvertCustomConfig<TName, T>>;
    };
    integer: {
    (): SQLiteIntegerBuilderInitial<"">;
    <TMode extends "number" | "boolean" | "timestamp" | "timestamp_ms">(
    config?: IntegerConfig<TMode>,
    ): Or<Equal<TMode, "timestamp">, Equal<TMode, "timestamp_ms">> extends true
    ? SQLiteTimestampBuilderInitial<"">
    : Equal<TMode, "boolean"> extends true
    ? SQLiteBooleanBuilderInitial<"">
    : SQLiteIntegerBuilderInitial<"">;
    <
    TName extends string,
    TMode extends "number" | "boolean" | "timestamp" | "timestamp_ms",
    >(
    name: TName,
    config?: IntegerConfig<TMode>,
    ): Or<Equal<TMode, "timestamp">, Equal<TMode, "timestamp_ms">> extends true
    ? SQLiteTimestampBuilderInitial<TName>
    : Equal<TMode, "boolean"> extends true
    ? SQLiteBooleanBuilderInitial<TName>
    : SQLiteIntegerBuilderInitial<TName>;
    };
    numeric: {
    <TMode extends "string" | "number" | "bigint">(
    config?: SQLiteNumericConfig<TMode>,
    ): Equal<TMode, "number"> extends true
    ? SQLiteNumericNumberBuilderInitial<"">
    : Equal<TMode, "bigint"> extends true
    ? SQLiteNumericBigIntBuilderInitial<"">
    : SQLiteNumericBuilderInitial<"">;
    <TName extends string, TMode extends "string" | "number" | "bigint">(
    name: TName,
    config?: SQLiteNumericConfig<TMode>,
    ): Equal<TMode, "number"> extends true
    ? SQLiteNumericNumberBuilderInitial<TName>
    : Equal<TMode, "bigint"> extends true
    ? SQLiteNumericBigIntBuilderInitial<TName>
    : SQLiteNumericBuilderInitial<TName>;
    };
    real: {
    (): SQLiteRealBuilderInitial<"">;
    <TName extends string>(name: TName): SQLiteRealBuilderInitial<TName>;
    };
    text: {
    (): SQLiteTextBuilderInitial<"", [string, ...string[]], undefined>;
    <
    U extends string,
    T extends readonly [U, U],
    L extends number | undefined,
    TMode extends "json" | "text" = "json" | "text",
    >(
    config?: SQLiteTextConfig<TMode, T | Writable<T>, L>,
    ): Equal<TMode, "json"> extends true
    ? SQLiteTextJsonBuilderInitial<"">
    : SQLiteTextBuilderInitial<"", Writable<T>, L>;
    <
    TName extends string,
    U extends string,
    T extends readonly [U, U],
    L extends number | undefined,
    TMode extends "json" | "text" = "json" | "text",
    >(
    name: TName,
    config?: SQLiteTextConfig<TMode, T | Writable<T>, L>,
    ): Equal<TMode, "json"> extends true
    ? SQLiteTextJsonBuilderInitial<TName>
    : SQLiteTextBuilderInitial<TName, Writable<T>, L>;
    };
    },
    ) => TColumnsMap
  - `Optional` extraConfig: (
    self: {
    [Key in string | number | symbol]: SQLiteColumn<
    {
    baseColumn: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { baseBuilder: U }
    ? Column<
    {
    baseColumn: U["_"] extends { baseBuilder: U }
    ? (
    Column<{ name: U["_"]["name"]; tableName: TTableName; dataType: U["_"]["dataType"]; columnType: U["_"]["columnType"]; data: U["_"] extends { $type: infer U; } ? U : U["_"]["data"]; ... 9 more ...; generated: U["_"] extends { ...; } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined; },...
    )
    : never;
    columnType: U["_"]["columnType"];
    data: U["_"] extends { $type: U } ? U : (...)[(...)]["data"];
    dataType: U["_"]["dataType"];
    driverParam: U["_"]["driverParam"];
    enumValues: U["_"]["enumValues"];
    generated: U["_"] extends { generated: G }
    ? unknown extends G
    ? undefined
    : (...) extends (...) ? (...) : (...)
    : undefined;
    hasDefault: U["_"] extends { hasDefault: true } ? true : false;
    hasRuntimeDefault: U["_"] extends { hasRuntimeDefault: true }
    ? true
    : false;
    identity: U["_"] extends { identity: "always" }
    ? "always"
    : (...)[(...)] extends { identity: ... } ? "byDefault" : undefined;
    isAutoincrement: U["_"] extends { isAutoincrement: true }
    ? true
    : false;
    isPrimaryKey: U["_"] extends { isPrimaryKey: true } ? true : false;
    name: U["_"]["name"];
    notNull: U["_"] extends { notNull: true } ? true : false;
    tableName: TTableName;
    },
    {},
    {
    [K in string
    | number
    | symbol]: Omit<
    (...)[(...)],
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...)
    | (...),
    >[K]
    },
    >
    : never;
    columnType: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    )["columnType"];
    data: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { $type: U }
    ? U
    : (
    Omit<(...)[(...)]["_"], "name"> & {
    name: (...)[(...)] extends ""
    ? Assume<(...), (...)>
    : (...)[(...)];
    }
    )["data"];
    dataType: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    )["dataType"];
    driverParam: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    )["driverParam"];
    enumValues: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    )["enumValues"];
    generated: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { generated: G }
    ? unknown extends G
    ? undefined
    : G extends undefined ? undefined : G
    : undefined;
    hasDefault: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { hasDefault: true }
    ? true
    : false;
    hasRuntimeDefault: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { hasRuntimeDefault: true }
    ? true
    : false;
    identity: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { identity: "always" }
    ? "always"
    : (
    Omit<(...)[(...)]["_"], "name"> & {
    name: (...)[(...)] extends ""
    ? Assume<(...), (...)>
    : (...)[(...)];
    }
    ) extends { identity: "byDefault" }
    ? "byDefault"
    : undefined;
    isAutoincrement: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { isAutoincrement: true }
    ? true
    : false;
    isPrimaryKey: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { isPrimaryKey: true }
    ? true
    : false;
    name: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    )["name"];
    notNull: (
    Omit<TColumnsMap[Key]["_"], "name"> & {
    name: (...)[(...)]["name"] extends ""
    ? Assume<Key, string>
    : (...)[(...)]["name"];
    }
    ) extends { notNull: true }
    ? true
    : false;
    tableName: TTableName;
    },
    {},
    {
    [K in string
    | number
    | symbol]: Omit<
    Omit<(...)[(...)]["_"], "name"> & {
    name: (...)[(...)] extends "" ? Assume<(...), (...)> : (...)[(...)];
    },
    | "dialect"
    | "name"
    | "data"
    | "driverParam"
    | "tableName"
    | "notNull"
    | "hasDefault"
    | "isPrimaryKey"
    | "isAutoincrement"
    | "hasRuntimeDefault"
    | "dataType"
    | "columnType"
    | "enumValues"
    | "identity"
    | "brand"
    | "baseColumn"
    | "generated",
    >[K]
    },
    >
    },
    ) => SQLiteTableExtraConfig

  #### Returns SQLiteTableWithColumns<
  {
  columns: {
  [Key in string
  | number
  | symbol]: SQLiteColumn<
  {
  baseColumn: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { baseBuilder: U }
  ? Column<
  {
  baseColumn: U["_"] extends { baseBuilder: U }
  ? (
  Column<{ name: U["_"]["name"]; tableName: TTableName; dataType: U["_"]["dataType"]; columnType: U["_"]["columnType"]; data: U["_"] extends { $type: infer U; } ? U : U["_"]["data"]; ... 9 more ...; generated: U["_"] extends { ...; } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined; },...
  )
  : never;
  columnType: U["_"]["columnType"];
  data: U["_"] extends { $type: U } ? U : (...)[(...)]["data"];
  dataType: U["_"]["dataType"];
  driverParam: U["_"]["driverParam"];
  enumValues: U["_"]["enumValues"];
  generated: U["_"] extends { generated: G }
  ? unknown extends G
  ? undefined
  : (...) extends (...) ? (...) : (...)
  : undefined;
  hasDefault: U["_"] extends { hasDefault: true } ? true : false;
  hasRuntimeDefault: U["_"] extends { hasRuntimeDefault: true }
  ? true
  : false;
  identity: U["_"] extends { identity: "always" }
  ? "always"
  : (...)[(...)] extends { identity: ... } ? "byDefault" : undefined;
  isAutoincrement: U["_"] extends { isAutoincrement: true }
  ? true
  : false;
  isPrimaryKey: U["_"] extends { isPrimaryKey: true } ? true : false;
  name: U["_"]["name"];
  notNull: U["_"] extends { notNull: true } ? true : false;
  tableName: TTableName;
  },
  {},
  {
  [K in string
  | number
  | symbol]: Omit<
  (...)[(...)],
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...)
  | (...),
  >[K]
  },
  >
  : never;
  columnType: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["columnType"];
  data: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { $type: U }
  ? U
  : (
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  }
  )["data"];
  dataType: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["dataType"];
  driverParam: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["driverParam"];
  enumValues: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["enumValues"];
  generated: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { generated: G }
  ? unknown extends G
  ? undefined
  : G extends undefined ? undefined : G
  : undefined;
  hasDefault: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { hasDefault: true }
  ? true
  : false;
  hasRuntimeDefault: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { hasRuntimeDefault: true }
  ? true
  : false;
  identity: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { identity: "always" }
  ? "always"
  : (
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  }
  ) extends { identity: "byDefault" }
  ? "byDefault"
  : undefined;
  isAutoincrement: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { isAutoincrement: true }
  ? true
  : false;
  isPrimaryKey: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { isPrimaryKey: true }
  ? true
  : false;
  name: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  )["name"];
  notNull: (
  Omit<TColumnsMap[Key]["_"], "name"> & {
  name: (...)[(...)]["name"] extends ""
  ? Assume<Key, string>
  : (...)[(...)]["name"];
  }
  ) extends { notNull: true }
  ? true
  : false;
  tableName: TTableName;
  },
  {},
  {
  [K in string
  | number
  | symbol]: Omit<
  Omit<(...)[(...)]["_"], "name"> & {
  name: (...)[(...)] extends ""
  ? Assume<(...), (...)>
  : (...)[(...)];
  },
  | "dialect"
  | "name"
  | "data"
  | "driverParam"
  | "tableName"
  | "notNull"
  | "hasDefault"
  | "isPrimaryKey"
  | "isAutoincrement"
  | "hasRuntimeDefault"
  | "dataType"
  | "columnType"
  | "enumValues"
  | "identity"
  | "brand"
  | "baseColumn"
  | "generated",
  >[K]
  },
  >
  };
  dialect: "sqlite";
  name: TTableName;
  schema: TSchema;
  },
  >

  #### Deprecated

  The third parameter of sqliteTable is changing and will only accept an array instead of an object

  #### Example

  Deprecated version:

      export const users = sqliteTable("users", {
      	id: int(),
      }, (t) => ({
      	idx: index('custom_name').on(t.id)
      }));

  New API:

      export const users = sqliteTable("users", {
      	id: int(),
      }, (t) => [
      	index('custom_name').on(t.id)
      ]);

  - Defined in node_modules/.pnpm/drizzle-orm@0.44.6_@cloudflare+workers-types@4.20251014.0_@opentelemetry+api@1.9.0_@typ_31a6f5ca8f102af87864dd251ed08d88/node_modules/drizzle-orm/sqlite-core/table.d.ts:84