///
///
import type * as DMMF from '@prisma/dmmf';
import type { ActiveConnectorType, BinaryPaths, DataSource, GeneratorConfig, SqlQueryOutput } from '@prisma/generator';
import type { O } from 'ts-toolbelt';
import { GeneratedFileExtension, ImportFileExtension } from './file-extensions';
import { ModuleFormat } from './module-format';
import type { RuntimeTargetInternal } from './runtime-targets';
export declare class DenylistError extends Error {
constructor(message: string);
}
export interface GenerateClientOptions {
datamodel: string;
schemaPath: string;
/** Runtime path used in runtime/type imports */
runtimeBase: string;
outputDir: string;
generator: GeneratorConfig;
dmmf: DMMF.Document;
datasources: DataSource[];
binaryPaths: BinaryPaths;
engineVersion: string;
clientVersion: string;
activeProvider: ActiveConnectorType;
typedSql?: SqlQueryOutput[];
target: RuntimeTargetInternal;
generatedFileExtension: GeneratedFileExtension;
importFileExtension: ImportFileExtension;
moduleFormat: ModuleFormat;
/** Include a "@ts-nocheck" comment at the top of all generated TS files */
tsNoCheckPreamble: Boolean;
compilerBuild: 'fast' | 'small';
}
export interface FileMap {
[name: string]: string | Buffer | FileMap;
}
export interface BuildClientResult {
fileMap: FileMap;
prismaClientDmmf: DMMF.Document;
}
export declare function buildClient({ schemaPath, runtimeBase, datamodel, binaryPaths, outputDir, generator, dmmf, datasources, engineVersion, clientVersion, activeProvider, typedSql, target, generatedFileExtension, importFileExtension, moduleFormat, tsNoCheckPreamble, compilerBuild, }: O.Required): BuildClientResult;
export declare function generateClient(options: GenerateClientOptions): Promise;