UNPKG

prisma

Version:

Prisma is an open-source database toolkit. It includes a JavaScript/TypeScript ORM for Node.js, migrations and a modern GUI to view and edit the data in your database. You can use Prisma in new projects or add it to an existing one.

1,078 lines (985 loc) • 32.6 kB
/// <reference types="node" /> import { inspect } from 'util'; declare namespace DMMF { interface Document { datamodel: Datamodel; schema: Schema; mappings: Mappings; } interface Mappings { modelOperations: ModelMapping[]; otherOperations: { read: string[]; write: string[]; }; } interface OtherOperationMappings { read: string[]; write: string[]; } interface DatamodelEnum { name: string; values: EnumValue[]; dbName?: string | null; documentation?: string; } interface SchemaEnum { name: string; values: string[]; } interface EnumValue { name: string; dbName: string | null; } interface Datamodel { models: Model[]; enums: DatamodelEnum[]; } interface uniqueIndex { name: string; fields: string[]; } interface PrimaryKey { name: string | null; fields: string[]; } interface Model { name: string; isEmbedded: boolean; dbName: string | null; fields: Field[]; fieldMap?: Record<string, Field>; uniqueFields: string[][]; uniqueIndexes: uniqueIndex[]; documentation?: string; primaryKey: PrimaryKey | null; [key: string]: any; } type FieldKind = 'scalar' | 'object' | 'enum' | 'unsupported'; type FieldNamespace = 'model' | 'prisma'; type FieldLocation = 'scalar' | 'inputObjectTypes' | 'outputObjectTypes' | 'enumTypes'; interface Field { kind: FieldKind; name: string; isRequired: boolean; isList: boolean; isUnique: boolean; isId: boolean; type: string; dbNames?: string[] | null; isGenerated: boolean; hasDefaultValue: boolean; default?: FieldDefault | string | boolean | number; relationToFields?: any[]; relationOnDelete?: string; relationName?: string; documentation?: string; [key: string]: any; } interface FieldDefault { name: string; args: any[]; } interface Schema { rootQueryType?: string; rootMutationType?: string; inputObjectTypes: { model?: InputType[]; prisma: InputType[]; }; outputObjectTypes: { model: OutputType[]; prisma: OutputType[]; }; enumTypes: { model?: SchemaEnum[]; prisma: SchemaEnum[]; }; } interface Query { name: string; args: SchemaArg[]; output: QueryOutput; } interface QueryOutput { name: string; isRequired: boolean; isList: boolean; } type ArgType = string | InputType | SchemaEnum; interface SchemaArgInputType { isList: boolean; type: ArgType; location: FieldLocation; namespace?: FieldNamespace; } interface SchemaArg { name: string; comment?: string; isNullable: boolean; isRequired: boolean; inputTypes: SchemaArgInputType[]; deprecation?: Deprecation; } interface OutputType { name: string; fields: SchemaField[]; fieldMap?: Record<string, SchemaField>; isEmbedded?: boolean; } interface SchemaField { name: string; isNullable?: boolean; outputType: { type: string | OutputType | SchemaEnum; isList: boolean; location: FieldLocation; namespace?: FieldNamespace; }; args: SchemaArg[]; deprecation?: Deprecation; } interface Deprecation { sinceVersion: string; reason: string; plannedRemovalVersion?: string; } interface InputType { name: string; constraints: { maxNumFields: number | null; minNumFields: number | null; }; fields: SchemaArg[]; fieldMap?: Record<string, SchemaArg>; } interface ModelMapping { model: string; plural: string; findUnique?: string | null; findFirst?: string | null; findMany?: string | null; create?: string | null; createMany?: string | null; update?: string | null; updateMany?: string | null; upsert?: string | null; delete?: string | null; deleteMany?: string | null; aggregate?: string | null; groupBy?: string | null; count?: string | null; } enum ModelAction { findUnique = "findUnique", findFirst = "findFirst", findMany = "findMany", create = "create", createMany = "createMany", update = "update", updateMany = "updateMany", upsert = "upsert", delete = "delete", deleteMany = "deleteMany", groupBy = "groupBy", count = "count", aggregate = "aggregate" } } declare type Dictionary$1<T> = { [key: string]: T; }; interface GeneratorConfig { name: string; output: EnvValue | null; isCustomOutput?: boolean; provider: EnvValue; config: Dictionary$1<string>; binaryTargets: BinaryTargetsEnvValue[]; previewFeatures: string[]; } interface EnvValue { fromEnvVar: null | string; value: string; } interface BinaryTargetsEnvValue { fromEnvVar: null | string; value: string; } declare type ConnectorType = 'mysql' | 'mongodb' | 'sqlite' | 'postgresql' | 'sqlserver'; interface DataSource { name: string; activeProvider: ConnectorType; provider: ConnectorType; url: EnvValue; config: { [key: string]: string; }; } interface Dictionary<T> { [key: string]: T; } declare class DMMFClass implements DMMF.Document { datamodel: DMMF.Datamodel; schema: DMMF.Schema; mappings: DMMF.Mappings; queryType: DMMF.OutputType; mutationType: DMMF.OutputType; outputTypes: { model: DMMF.OutputType[]; prisma: DMMF.OutputType[]; }; outputTypeMap: Dictionary<DMMF.OutputType>; inputObjectTypes: { model?: DMMF.InputType[]; prisma: DMMF.InputType[]; }; inputTypeMap: Dictionary<DMMF.InputType>; enumMap: Dictionary<DMMF.SchemaEnum>; datamodelEnumMap: Dictionary<DMMF.DatamodelEnum>; modelMap: Dictionary<DMMF.Model>; mappingsMap: Dictionary<DMMF.ModelMapping>; rootFieldMap: Dictionary<DMMF.SchemaField>; constructor({ datamodel, schema, mappings }: DMMF.Document); get [Symbol.toStringTag](): string; protected outputTypeToMergedOutputType: (outputType: DMMF.OutputType) => DMMF.OutputType; protected resolveOutputTypes(): void; protected resolveInputTypes(): void; protected resolveFieldArgumentTypes(): void; protected getQueryType(): DMMF.OutputType; protected getMutationType(): DMMF.OutputType; protected getOutputTypes(): { model: DMMF.OutputType[]; prisma: DMMF.OutputType[]; }; protected getDatamodelEnumMap(): Dictionary<DMMF.DatamodelEnum>; protected getEnumMap(): Dictionary<DMMF.SchemaEnum>; protected getModelMap(): Dictionary<DMMF.Model>; protected getMergedOutputTypeMap(): Dictionary<DMMF.OutputType>; protected getInputTypeMap(): Dictionary<DMMF.InputType>; protected getMappingsMap(): Dictionary<DMMF.ModelMapping>; protected getRootFieldMap(): Dictionary<DMMF.SchemaField>; } interface ArgError { path: string[]; id?: string; error: InvalidArgError; } interface FieldError { path: string[]; error: InvalidFieldError; } declare type InvalidFieldError = InvalidFieldNameError | InvalidFieldTypeError | EmptySelectError | NoTrueSelectError | IncludeAndSelectError | EmptyIncludeError; interface InvalidFieldTypeError { type: 'invalidFieldType'; modelName: string; fieldName: string; providedValue: any; } interface InvalidFieldNameError { type: 'invalidFieldName'; modelName: string; didYouMean?: string | null; providedName: string; isInclude?: boolean; isIncludeScalar?: boolean; outputType: DMMF.OutputType; } interface EmptySelectError { type: 'emptySelect'; field: DMMF.SchemaField; } interface EmptyIncludeError { type: 'emptyInclude'; field: DMMF.SchemaField; } interface NoTrueSelectError { type: 'noTrueSelect'; field: DMMF.SchemaField; } interface IncludeAndSelectError { type: 'includeAndSelect'; field: DMMF.SchemaField; } declare type InvalidArgError = InvalidArgNameError | MissingArgError | InvalidArgTypeError | AtLeastOneError | AtMostOneError | InvalidNullArgError; /** * This error occurs if the user provides an arg name that doens't exist */ interface InvalidArgNameError { type: 'invalidName'; providedName: string; providedValue: any; didYouMeanArg?: string; didYouMeanField?: string; originalType: DMMF.ArgType; possibilities?: DMMF.SchemaArgInputType[]; outputType?: DMMF.OutputType; } /** * Opposite of InvalidArgNameError - if the user *doesn't* provide an arg that should be provided * This error both happens with an implicit and explicit `undefined` */ interface MissingArgError { type: 'missingArg'; missingName: string; missingArg: DMMF.SchemaArg; atLeastOne: boolean; atMostOne: boolean; } /** * If a user incorrectly provided null where she shouldn't have */ interface InvalidNullArgError { type: 'invalidNullArg'; name: string; invalidType: DMMF.SchemaArgInputType[]; atLeastOne: boolean; atMostOne: boolean; } interface AtMostOneError { type: 'atMostOne'; key: string; inputType: DMMF.InputType; providedKeys: string[]; } interface AtLeastOneError { type: 'atLeastOne'; key: string; inputType: DMMF.InputType; } /** * If the scalar type of an arg is not matching what is required */ interface InvalidArgTypeError { type: 'invalidType'; argName: string; requiredType: { bestFittingType: DMMF.SchemaArgInputType; inputType: DMMF.SchemaArgInputType[]; }; providedValue: any; } interface MissingItem { path: string; isRequired: boolean; type: string | object; } declare class Document { readonly type: 'query' | 'mutation'; readonly children: Field[]; constructor(type: 'query' | 'mutation', children: Field[]); get [Symbol.toStringTag](): string; toString(): string; validate(select?: any, isTopLevelQuery?: boolean, originalMethod?: string, errorFormat?: 'pretty' | 'minimal' | 'colorless', validationCallsite?: any): void; protected printFieldError: ({ error }: FieldError, missingItems: MissingItem[], minimal: boolean) => string | undefined; protected printArgError: ({ error, path, id }: ArgError, hasMissingItems: boolean, minimal: boolean) => string | undefined; /** * As we're allowing both single objects and array of objects for list inputs, we need to remove incorrect * zero indexes from the path * @param inputPath e.g. ['where', 'AND', 0, 'id'] * @param select select object */ private normalizePath; } declare class PrismaClientValidationError extends Error { get [Symbol.toStringTag](): string; } interface FieldArgs { name: string; schemaField?: DMMF.SchemaField; args?: Args; children?: Field[]; error?: InvalidFieldError; } declare class Field { readonly name: string; readonly args?: Args; readonly children?: Field[]; readonly error?: InvalidFieldError; readonly hasInvalidChild: boolean; readonly hasInvalidArg: boolean; readonly schemaField?: DMMF.SchemaField; constructor({ name, args, children, error, schemaField }: FieldArgs); get [Symbol.toStringTag](): string; toString(): string; collectErrors(prefix?: string): { fieldErrors: FieldError[]; argErrors: ArgError[]; }; } declare class Args { args: Arg[]; readonly hasInvalidArg: boolean; constructor(args?: Arg[]); get [Symbol.toStringTag](): string; toString(): string; collectErrors(): ArgError[]; } interface ArgOptions { key: string; value: ArgValue; isEnum?: boolean; error?: InvalidArgError; schemaArg?: DMMF.SchemaArg; inputType?: DMMF.SchemaArgInputType; } declare class Arg { key: string; value: ArgValue; error?: InvalidArgError; hasError: boolean; isEnum: boolean; schemaArg?: DMMF.SchemaArg; isNullable: boolean; inputType?: DMMF.SchemaArgInputType; constructor({ key, value, isEnum, error, schemaArg, inputType, }: ArgOptions); get [Symbol.toStringTag](): string; _toString(value: ArgValue, key: string): string | undefined; toString(): string | undefined; collectErrors(): ArgError[]; } declare type ArgValue = string | boolean | number | undefined | Args | string[] | boolean[] | number[] | Args[] | null; interface DocumentInput { dmmf: DMMFClass; rootTypeName: 'query' | 'mutation'; rootField: string; select?: any; } declare function makeDocument({ dmmf, rootTypeName, rootField, select, }: DocumentInput): Document; declare function transformDocument(document: Document): Document; interface UnpackOptions { document: Document; path: string[]; data: any; } /** * Unpacks the result of a data object and maps DateTime fields to instances of `Date` inplace * @param options: UnpackOptions */ declare function unpack({ document, path, data }: UnpackOptions): any; declare class PrismaClientInitializationError extends Error { clientVersion: string; errorCode?: string; constructor(message: string, clientVersion: string, errorCode?: string); get [Symbol.toStringTag](): string; } declare class PrismaClientKnownRequestError extends Error { code: string; meta?: object; clientVersion: string; constructor(message: string, code: string, clientVersion: string, meta?: any); get [Symbol.toStringTag](): string; } declare class PrismaClientRustPanicError extends Error { clientVersion: string; constructor(message: string, clientVersion: string); get [Symbol.toStringTag](): string; } declare class PrismaClientUnknownRequestError extends Error { clientVersion: string; constructor(message: string, clientVersion: string); get [Symbol.toStringTag](): string; } /** * maxWait ?= 2000 * timeout ?= 5000 */ declare type Options = { maxWait?: number; timeout?: number; }; declare type Info = { id: string; }; declare type QueryEngineResult<T> = { data: T; elapsed: number; }; declare type QueryEngineRequestHeaders = { traceparent?: string; transactionId?: string; fatal?: string; }; declare abstract class Engine { abstract on(event: EngineEventType, listener: (args?: any) => any): void; abstract start(): Promise<void>; abstract stop(): Promise<void>; abstract getConfig(): Promise<GetConfigResult>; abstract version(forceRun?: boolean): Promise<string> | string; abstract request<T>(query: string, headers?: QueryEngineRequestHeaders, numTry?: number): Promise<QueryEngineResult<T>>; abstract requestBatch<T>(queries: string[], headers?: QueryEngineRequestHeaders, transaction?: boolean, numTry?: number): Promise<QueryEngineResult<T>[]>; abstract transaction(action: 'start', options?: Options): Promise<Info>; abstract transaction(action: 'commit', info: Info): Promise<void>; abstract transaction(action: 'rollback', info: Info): Promise<void>; } declare type EngineEventType = 'query' | 'info' | 'warn' | 'error' | 'beforeExit'; interface DatasourceOverwrite { name: string; url?: string; env?: string; } interface EngineConfig { cwd?: string; dirname?: string; datamodelPath: string; enableDebugLogs?: boolean; allowTriggerPanic?: boolean; prismaPath?: string; fetcher?: (query: string) => Promise<{ data?: any; error?: any; }>; generator?: GeneratorConfig; datasources?: DatasourceOverwrite[]; showColors?: boolean; logQueries?: boolean; logLevel?: 'info' | 'warn'; env?: Record<string, string>; flags?: string[]; useUds?: boolean; clientVersion?: string; previewFeatures?: string[]; engineEndpoint?: string; activeProvider?: string; } declare type GetConfigResult = { datasources: DataSource[]; generators: GeneratorConfig[]; }; declare type Value = string | number | boolean | object | null | undefined; declare type RawValue = Value | Sql; /** * A SQL instance can be nested within each other to build SQL strings. */ declare class Sql { values: Value[]; strings: string[]; constructor(rawStrings: ReadonlyArray<string>, rawValues: ReadonlyArray<RawValue>); get text(): string; get sql(): string; [inspect.custom](): { text: string; sql: string; values: Value[]; }; } /** * Create a SQL query for a list of values. */ declare function join(values: RawValue[], separator?: string): Sql; /** * Create raw SQL statement. */ declare function raw(value: string): Sql; /** * Placeholder value for "no text". */ declare const empty: Sql; /** * Create a SQL object from a template string. */ declare function sqltag(strings: ReadonlyArray<string>, ...values: RawValue[]): Sql; declare type QueryMiddleware<T = unknown> = (params: QueryMiddlewareParams, next: (params: QueryMiddlewareParams) => Promise<T>) => Promise<T>; declare type QueryMiddlewareParams = { /** The model this is executed on */ model?: string; /** The action that is being handled */ action: Action; /** TODO what is this */ dataPath: string[]; /** TODO what is this */ runInTransaction: boolean; /** TODO what is this */ args: any; }; declare type EngineMiddleware<T = unknown> = (params: EngineMiddlewareParams, next: (params: EngineMiddlewareParams) => Promise<{ data: T; elapsed: number; }>) => Promise<{ data: T; elapsed: number; }>; declare type EngineMiddlewareParams = { document: Document; runInTransaction?: boolean; }; declare type Namespace = 'all' | 'engine'; interface Job { resolve: (data: any) => void; reject: (data: any) => void; request: any; } declare type DataLoaderOptions<T> = { singleLoader: (request: T) => Promise<any>; batchLoader: (request: T[]) => Promise<any[]>; batchBy: (request: T) => string | undefined; }; declare class DataLoader<T = unknown> { private options; batches: { [key: string]: Job[]; }; private tickActive; constructor(options: DataLoaderOptions<T>); request(request: T): Promise<any>; private dispatchBatches; get [Symbol.toStringTag](): string; } declare type RejectOnNotFound = boolean | ((error: Error) => Error) | undefined; declare type InstanceRejectOnNotFound = RejectOnNotFound | Record<string, RejectOnNotFound> | Record<string, Record<string, RejectOnNotFound>>; declare type RequestParams = { document: Document; dataPath: string[]; rootField: string; typeName: string; isList: boolean; clientMethod: string; callsite?: string; rejectOnNotFound?: RejectOnNotFound; runInTransaction?: boolean; showColors?: boolean; engineHook?: EngineMiddleware; args: any; headers?: Record<string, string>; transactionId?: number; unpacker?: Unpacker; }; declare class PrismaClientFetcher { prisma: any; debug: boolean; hooks: any; dataloader: DataLoader<{ document: Document; runInTransaction?: boolean; transactionId?: number; headers?: Record<string, string>; }>; constructor(prisma: any, enableDebug?: boolean, hooks?: any); get [Symbol.toStringTag](): string; request({ document, dataPath, rootField, typeName, isList, callsite, rejectOnNotFound, clientMethod, runInTransaction, showColors, engineHook, args, headers, transactionId, unpacker, }: RequestParams): Promise<any>; sanitizeMessage(message: any): any; unpack(document: any, data: any, path: any, rootField: any, unpacker?: Unpacker): any; } declare type ErrorFormat = 'pretty' | 'colorless' | 'minimal'; declare type Datasource = { url?: string; }; declare type Datasources = Record<string, Datasource>; interface PrismaClientOptions { /** * Will throw an Error if findUnique returns null */ rejectOnNotFound?: InstanceRejectOnNotFound; /** * Overwrites the datasource url from your prisma.schema file */ datasources?: Datasources; /** * @default "colorless" */ errorFormat?: ErrorFormat; /** * @example * \`\`\` * // Defaults to stdout * log: ['query', 'info', 'warn'] * * // Emit as events * log: [ * { emit: 'stdout', level: 'query' }, * { emit: 'stdout', level: 'info' }, * { emit: 'stdout', level: 'warn' } * ] * \`\`\` * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/logging#the-log-option). */ log?: Array<LogLevel | LogDefinition>; /** * @internal * You probably don't want to use this. \`__internal\` is used by internal tooling. */ __internal?: { debug?: boolean; hooks?: Hooks; useUds?: boolean; engine?: { cwd?: string; binaryPath?: string; endpoint?: string; allowTriggerPanic?: boolean; }; }; } declare type Unpacker = (data: any) => any; declare type HookParams = { query: string; path: string[]; rootField?: string; typeName?: string; document: any; clientMethod: string; args: any; }; declare type Action = DMMF.ModelAction | 'executeRaw' | 'queryRaw'; declare type Hooks = { beforeRequest?: (options: HookParams) => any; }; declare type LogLevel = 'info' | 'query' | 'warn' | 'error'; declare type LogDefinition = { level: LogLevel; emit: 'stdout' | 'event'; }; interface GetPrismaClientOptions { document: DMMF.Document; generator?: GeneratorConfig; sqliteDatasourceOverrides?: DatasourceOverwrite[]; relativeEnvPaths: { rootEnvPath?: string | null; schemaEnvPath?: string | null; }; relativePath: string; dirname: string; clientVersion?: string; engineVersion?: string; datasourceNames: string[]; activeProvider: string; } interface Client { _dmmf: DMMFClass; _engine: Engine; _fetcher: PrismaClientFetcher; _connectionPromise?: Promise<any>; _disconnectionPromise?: Promise<any>; _engineConfig: EngineConfig; _clientVersion: string; _errorFormat: ErrorFormat; $use<T>(arg0: Namespace | QueryMiddleware<T>, arg1?: QueryMiddleware | EngineMiddleware<T>): any; $on(eventType: EngineEventType, callback: (event: any) => void): any; $connect(): any; $disconnect(): any; _runDisconnect(): any; $executeRaw(query: TemplateStringsArray | Sql, ...values: any[]): any; $queryRaw(query: TemplateStringsArray | Sql, ...values: any[]): any; __internal_triggerPanic(fatal: boolean): any; $transaction(input: any, options?: any): any; } declare function getPrismaClient(config: GetPrismaClientOptions): new (optionsArg?: PrismaClientOptions | undefined) => Client; declare function warnEnvConflicts(envPaths: any): void; // Type definitions for decimal.js >=7.0.0 declare namespace Decimal { export type Constructor = typeof Decimal; export type Instance = Decimal; export type Rounding = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8; export type Modulo = Rounding | 9; export type Value = string | number | Decimal; // http://mikemcl.github.io/decimal.js/#constructor-properties export interface Config { precision?: number; rounding?: Rounding; toExpNeg?: number; toExpPos?: number; minE?: number; maxE?: number; crypto?: boolean; modulo?: Modulo; defaults?: boolean; } } declare class Decimal { readonly d: number[]; readonly e: number; readonly s: number; private readonly toStringTag: string; constructor(n: Decimal.Value); absoluteValue(): Decimal; abs(): Decimal; ceil(): Decimal; clampedTo(min: Decimal.Value, max: Decimal.Value): Decimal; clamp(min: Decimal.Value, max: Decimal.Value): Decimal; comparedTo(n: Decimal.Value): number; cmp(n: Decimal.Value): number; cosine(): Decimal; cos(): Decimal; cubeRoot(): Decimal; cbrt(): Decimal; decimalPlaces(): number; dp(): number; dividedBy(n: Decimal.Value): Decimal; div(n: Decimal.Value): Decimal; dividedToIntegerBy(n: Decimal.Value): Decimal; divToInt(n: Decimal.Value): Decimal; equals(n: Decimal.Value): boolean; eq(n: Decimal.Value): boolean; floor(): Decimal; greaterThan(n: Decimal.Value): boolean; gt(n: Decimal.Value): boolean; greaterThanOrEqualTo(n: Decimal.Value): boolean; gte(n: Decimal.Value): boolean; hyperbolicCosine(): Decimal; cosh(): Decimal; hyperbolicSine(): Decimal; sinh(): Decimal; hyperbolicTangent(): Decimal; tanh(): Decimal; inverseCosine(): Decimal; acos(): Decimal; inverseHyperbolicCosine(): Decimal; acosh(): Decimal; inverseHyperbolicSine(): Decimal; asinh(): Decimal; inverseHyperbolicTangent(): Decimal; atanh(): Decimal; inverseSine(): Decimal; asin(): Decimal; inverseTangent(): Decimal; atan(): Decimal; isFinite(): boolean; isInteger(): boolean; isInt(): boolean; isNaN(): boolean; isNegative(): boolean; isNeg(): boolean; isPositive(): boolean; isPos(): boolean; isZero(): boolean; lessThan(n: Decimal.Value): boolean; lt(n: Decimal.Value): boolean; lessThanOrEqualTo(n: Decimal.Value): boolean; lte(n: Decimal.Value): boolean; logarithm(n?: Decimal.Value): Decimal; log(n?: Decimal.Value): Decimal; minus(n: Decimal.Value): Decimal; sub(n: Decimal.Value): Decimal; modulo(n: Decimal.Value): Decimal; mod(n: Decimal.Value): Decimal; naturalExponential(): Decimal; exp(): Decimal; naturalLogarithm(): Decimal; ln(): Decimal; negated(): Decimal; neg(): Decimal; plus(n: Decimal.Value): Decimal; add(n: Decimal.Value): Decimal; precision(includeZeros?: boolean): number; sd(includeZeros?: boolean): number; round(): Decimal; sine() : Decimal; sin() : Decimal; squareRoot(): Decimal; sqrt(): Decimal; tangent() : Decimal; tan() : Decimal; times(n: Decimal.Value): Decimal; mul(n: Decimal.Value) : Decimal; toBinary(significantDigits?: number): string; toBinary(significantDigits: number, rounding: Decimal.Rounding): string; toDecimalPlaces(decimalPlaces?: number): Decimal; toDecimalPlaces(decimalPlaces: number, rounding: Decimal.Rounding): Decimal; toDP(decimalPlaces?: number): Decimal; toDP(decimalPlaces: number, rounding: Decimal.Rounding): Decimal; toExponential(decimalPlaces?: number): string; toExponential(decimalPlaces: number, rounding: Decimal.Rounding): string; toFixed(decimalPlaces?: number): string; toFixed(decimalPlaces: number, rounding: Decimal.Rounding): string; toFraction(max_denominator?: Decimal.Value): Decimal[]; toHexadecimal(significantDigits?: number): string; toHexadecimal(significantDigits: number, rounding: Decimal.Rounding): string; toHex(significantDigits?: number): string; toHex(significantDigits: number, rounding?: Decimal.Rounding): string; toJSON(): string; toNearest(n: Decimal.Value, rounding?: Decimal.Rounding): Decimal; toNumber(): number; toOctal(significantDigits?: number): string; toOctal(significantDigits: number, rounding: Decimal.Rounding): string; toPower(n: Decimal.Value): Decimal; pow(n: Decimal.Value): Decimal; toPrecision(significantDigits?: number): string; toPrecision(significantDigits: number, rounding: Decimal.Rounding): string; toSignificantDigits(significantDigits?: number): Decimal; toSignificantDigits(significantDigits: number, rounding: Decimal.Rounding): Decimal; toSD(significantDigits?: number): Decimal; toSD(significantDigits: number, rounding: Decimal.Rounding): Decimal; toString(): string; truncated(): Decimal; trunc(): Decimal; valueOf(): string; static abs(n: Decimal.Value): Decimal; static acos(n: Decimal.Value): Decimal; static acosh(n: Decimal.Value): Decimal; static add(x: Decimal.Value, y: Decimal.Value): Decimal; static asin(n: Decimal.Value): Decimal; static asinh(n: Decimal.Value): Decimal; static atan(n: Decimal.Value): Decimal; static atanh(n: Decimal.Value): Decimal; static atan2(y: Decimal.Value, x: Decimal.Value): Decimal; static cbrt(n: Decimal.Value): Decimal; static ceil(n: Decimal.Value): Decimal; static clamp(n: Decimal.Value, min: Decimal.Value, max: Decimal.Value): Decimal; static clone(object?: Decimal.Config): Decimal.Constructor; static config(object: Decimal.Config): Decimal.Constructor; static cos(n: Decimal.Value): Decimal; static cosh(n: Decimal.Value): Decimal; static div(x: Decimal.Value, y: Decimal.Value): Decimal; static exp(n: Decimal.Value): Decimal; static floor(n: Decimal.Value): Decimal; static hypot(...n: Decimal.Value[]): Decimal; static isDecimal(object: any): boolean static ln(n: Decimal.Value): Decimal; static log(n: Decimal.Value, base?: Decimal.Value): Decimal; static log2(n: Decimal.Value): Decimal; static log10(n: Decimal.Value): Decimal; static max(...n: Decimal.Value[]): Decimal; static min(...n: Decimal.Value[]): Decimal; static mod(x: Decimal.Value, y: Decimal.Value): Decimal; static mul(x: Decimal.Value, y: Decimal.Value): Decimal; static noConflict(): Decimal.Constructor; // Browser only static pow(base: Decimal.Value, exponent: Decimal.Value): Decimal; static random(significantDigits?: number): Decimal; static round(n: Decimal.Value): Decimal; static set(object: Decimal.Config): Decimal.Constructor; static sign(n: Decimal.Value): Decimal; static sin(n: Decimal.Value): Decimal; static sinh(n: Decimal.Value): Decimal; static sqrt(n: Decimal.Value): Decimal; static sub(x: Decimal.Value, y: Decimal.Value): Decimal; static sum(...n: Decimal.Value[]): Decimal; static tan(n: Decimal.Value): Decimal; static tanh(n: Decimal.Value): Decimal; static trunc(n: Decimal.Value): Decimal; static readonly default?: Decimal.Constructor; static readonly Decimal?: Decimal.Constructor; static readonly precision: number; static readonly rounding: Decimal.Rounding; static readonly toExpNeg: number; static readonly toExpPos: number; static readonly minE: number; static readonly maxE: number; static readonly crypto: boolean; static readonly modulo: Decimal.Modulo; static readonly ROUND_UP: 0; static readonly ROUND_DOWN: 1; static readonly ROUND_CEIL: 2; static readonly ROUND_FLOOR: 3; static readonly ROUND_HALF_UP: 4; static readonly ROUND_HALF_DOWN: 5; static readonly ROUND_HALF_EVEN: 6; static readonly ROUND_HALF_CEIL: 7; static readonly ROUND_HALF_FLOOR: 8; static readonly EUCLID: 9; } declare type ItemType = 'd' | 'f' | 'l'; declare type Handler = (base: string, item: string, type: ItemType) => boolean | string; /** * Find paths that match a set of regexes * @param root to start from * @param match to match against * @param types to select files, folders, links * @param deep to recurse in the directory tree * @param limit to limit the results * @param handler to further filter results * @param found to add to already found * @param seen to add to already seen * @returns found paths (symlinks preserved) */ declare function findSync(root: string, match: (RegExp | string)[], types?: ('f' | 'd' | 'l')[], deep?: ('d' | 'l')[], limit?: number, handler?: Handler, found?: string[], seen?: Record<string, true>): string[]; export { DMMF, DMMFClass, Decimal, Engine, PrismaClientInitializationError, PrismaClientKnownRequestError, PrismaClientOptions, PrismaClientRustPanicError, PrismaClientUnknownRequestError, PrismaClientValidationError, RawValue, Sql, Value, empty, findSync, getPrismaClient, join, makeDocument, raw, sqltag, transformDocument, unpack, warnEnvConflicts };