import type { DbClientContract, EnhancementContext } from '../../types'; import type { InternalEnhancementOptions } from './create-enhancement'; import { DefaultPrismaProxyHandler } from './proxy'; export declare function withDelegate(prisma: DbClient, options: InternalEnhancementOptions, context: EnhancementContext | undefined): DbClient; export declare class DelegateProxyHandler extends DefaultPrismaProxyHandler { private readonly context; private readonly logger; private readonly queryUtils; constructor(prisma: DbClientContract, model: string, options: InternalEnhancementOptions, context: EnhancementContext | undefined); findFirst(args: any): Promise; findFirstOrThrow(args: any): Promise; findUnique(args: any): Promise; findUniqueOrThrow(args: any): Promise; findMany(args: any): Promise; private doFind; private ensureDiscriminatorSelection; private injectWhereHierarchy; private injectSelectIncludeHierarchy; private buildSelectIncludeHierarchy; private injectBaseFieldSelect; private injectBaseIncludeRecursively; private injectConcreteIncludeRecursively; private createConcreteRelationIncludePayload; create(args: any): Promise; private sanitizeMutationPayload; createMany(args: { data: any; skipDuplicates?: boolean; }): Promise<{ count: number; }>; createManyAndReturn(args: { data: any; select?: any; skipDuplicates?: boolean; }): Promise; private doCreate; private injectCreateHierarchy; private doProcessCreatePayload; private ensureBaseCreateHierarchy; private fkAssignmentToConnect; private injectBaseFieldData; update(args: any): Promise; updateMany(args: any): Promise<{ count: number; }>; upsert(args: any): Promise; private doUpdate; private doUpdateMany; private injectUpdateHierarchy; private doProcessUpdatePayload; delete(args: any): Promise; deleteMany(args: any): Promise<{ count: number; }>; private doDeleteMany; private deleteBaseRecursively; private doDelete; private getRelationDelegateEntitiesForCascadeDelete; private isFieldCascadeDelete; aggregate(args: any): Promise; count(args: any): Promise; groupBy(args: any): Promise; private checkAggregationArgs; private extractSelectInclude; private makeAuxRelationName; private getModelName; private getIdFields; private getModelInfo; private getBaseModel; private involvesDelegateModel; private isDelegateOrDescendantOfDelegate; private assembleHierarchy; private assembleUp; private assembleDown; private getUpdatedAtFromDelegateBases; }