import * as DMMF from '@prisma/dmmf'; import * as ts from '@prisma/ts-builders'; import type { Generable } from './Generable'; import { GenerateContext } from './GenerateContext'; export declare class Model implements Generable { protected readonly model: DMMF.Model; protected readonly context: GenerateContext; protected type: DMMF.OutputType; protected createManyAndReturnType: undefined | DMMF.OutputType; protected updateManyAndReturnType: undefined | DMMF.OutputType; protected mapping?: DMMF.ModelMapping; private dmmf; constructor(model: DMMF.Model, context: GenerateContext); protected get argsTypes(): ts.Export[]; private rootFieldNameForAction; private getGroupByTypes; private getAggregationTypes; toTSWithoutNamespace(): string; toTS(): string; } export declare class ModelDelegate implements Generable { protected readonly outputType: DMMF.OutputType; protected readonly context: GenerateContext; constructor(outputType: DMMF.OutputType, context: GenerateContext); /** * Returns all available non-aggregate or group actions * Includes both dmmf and client-only actions * * @param availableActions * @returns */ private getNonAggregateActions; toTS(): string; } type GetReturnTypeOptions = { modelName: string; actionName: DMMF.ModelAction; isChaining?: boolean; isNullable?: boolean; }; /** * Get the complicated extract output * @param name Model name * @param actionName action name */ export declare function getReturnType({ modelName, actionName, isChaining, isNullable, }: GetReturnTypeOptions): ts.TypeBuilder; export {};