import type { Entity } from '../Entity'; import type { OmitEntityCollections, OmitFunctions } from '../types'; import type { WhereQuery } from './WhereQuery'; type OnConflictTargets> = string & keyof OmitFunctions>> = K[] | { columns: K[]; where: WhereQuery; }; export interface OnConflictIgnoreOptions> = string & keyof OmitFunctions>> { onConflict: { action: 'ignore'; targets: OnConflictTargets; }; } export interface OnConflictMergeOptions> = string & keyof OmitFunctions>> { onConflict: { action: 'merge'; targets: OnConflictTargets; merge?: K[] | { columns?: K[]; where: WhereQuery; }; }; } export type OnConflictOptions> = string & keyof OmitFunctions>> = OnConflictIgnoreOptions | OnConflictMergeOptions; export {};