import type { UpdateQueryBuilder } from '../query-builder/update-query-builder.js'; import type { UpdateResult } from '../query-builder/update-result.js'; import type { ShallowRecord } from '../util/type-utils.js'; import type { ExtractTableAlias, From, FromTables, TableExpressionOrList } from './table-parser.js'; export type UpdateTable> = [ TE ] extends [keyof DB] ? UpdateQueryBuilder, ExtractTableAlias, UpdateResult> : [ TE ] extends [`${infer T} as ${infer A}`] ? T extends keyof DB ? UpdateQueryBuilder, A, A, UpdateResult> : never : TE extends ReadonlyArray ? UpdateQueryBuilder, FromTables, FromTables, UpdateResult> : UpdateQueryBuilder, FromTables, FromTables, UpdateResult>;