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