import type { DMMF } from "@prisma/generator-helper"; import type { GeneratorConfig } from "../../../GeneratorConfig"; import type { Enum, Field } from "../../../types"; interface ParseField { documentation?: string; isInputType: boolean; isList: boolean; isNullable?: boolean; isRequired: boolean; location: DMMF.FieldLocation; name: string; relationName?: string; type: DMMF.OutputType | DMMF.SchemaEnum | string; } interface TSField { isList: boolean; location: DMMF.FieldLocation; type: DMMF.OutputType | DMMF.SchemaEnum | string; } interface TSFieldOptions { isInputType: boolean; isRequired: boolean; } export declare class BaseParser { readonly config: GeneratorConfig; readonly dmmf: DMMF.Document; readonly graphqlScalarImports: Set; readonly inputTypeList: Set; readonly jsonImports: Set; readonly modelsList: string[]; readonly nestJSImports: Set; readonly outputTypeList: Set; readonly prismaImport = "Prisma"; constructor(config: GeneratorConfig, dmmf: DMMF.Document); getEnumImports({ enumImports, field: { location, type }, }: { enumImports: Set; field: { location: DMMF.FieldLocation; type: DMMF.ArgType | DMMF.SchemaField["outputType"]["type"]; }; }): Set; getEnumName(type: DMMF.ArgType | DMMF.SchemaField["outputType"]["type"]): string; getGraphqlScalarImports({ graphqlScalarImports, type, }: { graphqlScalarImports: Set; type: string; }): Set; getInputType(inputTypes: DMMF.SchemaArgInputType[]): TSField; getInputTypeName(name: string): string; getJsonImports({ field: { location, type }, jsonImports, tsType, }: { field: { location: DMMF.FieldLocation; type: DMMF.ArgType | DMMF.SchemaField["outputType"]["type"]; }; jsonImports: Set; tsType: string; }): Set; getModelName(input: string): string | undefined; parseField({ enums, field, field: { documentation, isInputType, isList, isRequired, location, name, relationName, type }, }: { enums: Enum[]; field: ParseField; }): Field; parseGraphQLType(inputTypes: DMMF.SchemaArgInputType[]): string; parseTSFieldType({ enums, field: { isList, location, type }, fieldOptions: { isInputType, isRequired }, }: { enums: Enum[]; field: TSField; fieldOptions: TSFieldOptions; }): string; pascalCase(word: string): string; private _mapScalarToGraphQLType; private _mapScalarToTSType; } export {};