import { type PluginOptions } from '@zenstackhq/sdk';
import { type Model } from '@zenstackhq/sdk/ast';
import { type DMMF } from '@zenstackhq/sdk/prisma';
import { Project } from 'ts-morph';
export declare class EnhancerGenerator {
    private readonly model;
    private readonly options;
    private readonly project;
    private readonly outDir;
    private readonly modelsWithAuthInDefaultCreateInputPattern;
    private readonly modelsWithJsonTypeFields;
    private readonly modelsWithJsonTypeFieldsInputOutputPattern;
    private reversedShortNameMap;
    constructor(model: Model, options: PluginOptions, project: Project, outDir: string);
    generate(): Promise<{
        dmmf: DMMF.Document | undefined;
        newPrismaClientDtsPath: string | undefined;
    }>;
    private getZodImport;
    private createSimplePrismaImports;
    private createSimplePrismaEnhanceFunction;
    private createLogicalPrismaImports;
    private createLogicalPrismaEnhanceFunction;
    private get needsLogicalClient();
    private hasDelegateModel;
    private hasAuthInDefault;
    private hasTypeDef;
    private generateLogicalPrisma;
    private getLogicalDMMF;
    private shouldBeOptional;
    private getPrismaClientGeneratorName;
    private processClientTypes;
    private transformPrismaTypes;
    private transformPrismaModule;
    private transformVariableStatement;
    private transformInterface;
    private transformTypeAlias;
    private fixDelegatePayloadType;
    private removeCreateFromDelegateInput;
    private removeDiscriminatorFromConcreteInput;
    private removeAuxFieldsFromTypeAlias;
    private readonly CreateUpdateWithoutDelegateRelationRegex;
    private removeDelegateFieldsFromNestedMutationInput;
    private resolveName;
    private fixDefaultAuthType;
    private fixJsonFieldType;
    private generateExtraTypes;
    private findNamedProperty;
    private findAuxDecls;
    private saveSourceFile;
    private get generatePermissionChecker();
    private removeFromSource;
    private trimEmptyLines;
}
