import type { BinaryPaths, Generator as IGenerator, GeneratorConfig, GeneratorManifest, GeneratorOptions } from '@prisma/generator'; export declare abstract class Generator { manifest: GeneratorManifest | null; config: GeneratorConfig; options?: GeneratorOptions; constructor(config: GeneratorConfig); init(): Promise; protected abstract initImpl(): Promise; protected abstract getManifest(): Promise; abstract stop(): void; generate(): Promise; protected abstract generateImpl(options: GeneratorOptions): Promise; setOptions(options: GeneratorOptions): void; setBinaryPaths(binaryPaths: BinaryPaths): void; /** * Returns the pretty name of the generator specified in the manifest (e.g., * "Prisma Client"), or, if the former is not defined, the generator's * provider name (e.g., "prisma-client-js") as a fallback. */ getPrettyName(): string; /** * Returns the provider name, parsed and resolved from environment variable * if necessary. */ getProvider(): string; } export declare class JsonRpcGenerator extends Generator { #private; constructor(executablePath: string, config: GeneratorConfig, isNode?: boolean); protected initImpl(): Promise; protected getManifest(): Promise; protected generateImpl(options: GeneratorOptions): Promise; stop(): void; } export declare class InProcessGenerator extends Generator { #private; constructor(config: GeneratorConfig, generator: IGenerator); protected initImpl(): Promise; protected getManifest(): Promise; protected generateImpl(options: GeneratorOptions): Promise; stop(): void; }