import { PrismaQlRelationType } from './field-relation-collector.cjs'; import '@prisma/generator-helper'; type BasePrismaQlDSLAction = "GET" | "ADD" | "DELETE" | "UPDATE" | "PRINT" | "VALIDATE"; type BasePrismaQLDSLCommand = "MODELS" | "MODEL" | "FIELD" | "FIELDS" | "RELATIONS" | "DB" | "ENUM_RELATIONS" | "ENUMS" | "ENUM" | "MODELS_LIST" | "RELATION" | "GENERATOR" | "GENERATORS"; type PrismaQlDSLAction = A; type PrismaQLDSLCommand = C; type PrismaQlDSLType = "query" | "mutation"; type PrismaQlDSLMutationAction = "ADD" | "DELETE" | "UPDATE"; type PrismaQlDSLQueryAction = "GET" | "PRINT" | "VALIDATE"; type PrismaQLDSLArgs = { models?: string[]; fields?: string[]; enums?: string[]; generators?: string[]; }; type DSLPrismaRelationType = PrismaQlRelationType; type PrismaQlDSLOptionMap = { GET: { ENUMS: { raw?: boolean; }; RELATIONS: { depth?: number; }; }; ADD: { RELATION: { type: DSLPrismaRelationType; pivotTable?: string | true; pivotOnly?: boolean; fkHolder?: string; required?: boolean; relationName?: string; pluralName?: string; fkName?: string; refName?: string; }; MODEL: { empty?: boolean; }; }; UPDATE: { ENUM: { replace: boolean; }; GENERATOR: { output?: string; provider?: string; }; DB: { provider?: string; url?: string; }; }; DELETE: { RELATION: { fieldA?: string; fieldB?: string; relationName?: string; }; }; }; type PrismaQlDSLOptions = A extends keyof PrismaQlDSLOptionMap ? C extends keyof PrismaQlDSLOptionMap[A] ? PrismaQlDSLOptionMap[A][C] : Record> : Record>; interface PrismaQLParsedDSL { action: A; command?: C; args?: PrismaQLDSLArgs; options?: PrismaQlDSLOptions; prismaBlock?: string; raw: string; type: T; } type PrismaQlDSLArgsProcessor = (parsedArgs: PrismaQLDSLArgs, rawArgs: string | undefined) => PrismaQLDSLArgs; declare class PrismaQlDslParser { argsProcessors: Record; } & Partial>>>; private customCommands; private actionTypeMap; constructor(argsProcessors: Record; } & Partial>>>); registerCommand(action: A, command: C, type: PrismaQlDSLType): void; getCommands(): Record; parseCommand(input: string): PrismaQLParsedDSL; parseParams(input: string): PrismaQlDSLOptions; parseArgs(argsStr: string | undefined): PrismaQLDSLArgs; detectActionType(source: string): PrismaQlDSLType | null; isValid(source: string): boolean | Error; } declare const basePrismaQlAgsProcessor: Record; } & Partial>>>; declare const prismaQlParser: PrismaQlDslParser; export { type BasePrismaQLDSLCommand, type BasePrismaQlDSLAction, type DSLPrismaRelationType, type PrismaQLDSLArgs, type PrismaQLDSLCommand, type PrismaQLParsedDSL, type PrismaQlDSLAction, type PrismaQlDSLArgsProcessor, type PrismaQlDSLMutationAction, type PrismaQlDSLOptionMap, type PrismaQlDSLOptions, type PrismaQlDSLQueryAction, type PrismaQlDSLType, PrismaQlDslParser, basePrismaQlAgsProcessor, prismaQlParser };