import type { AnyColumn, Column } from './column.js'; import type { SQL } from './sql/sql.js'; import type { Subquery } from './subquery.js'; import type { Table } from './table.js'; export type RequiredKeyOnly = T extends AnyColumn<{ notNull: true; hasDefault: false; }> ? TKey : never; export type OptionalKeyOnly = TKey extends RequiredKeyOnly ? never : T extends { _: { generated: undefined; }; } ? (T extends { _: { identity: undefined; }; } ? TKey : T['_']['identity'] extends 'always' ? OverrideT extends true ? TKey : never : TKey) : never; export type SelectedFieldsFlat = Record; export type SelectedFieldsFlatFull = Record; export type SelectedFields = Record[string] | TTable | SelectedFieldsFlat>; export type SelectedFieldsOrdered = { path: string[]; field: TColumn | SQL | SQL.Aliased | Subquery; }[]; //# sourceMappingURL=operations.d.ts.map