import { Limit } from 'p-limit'; import { InitialisedList } from './types-for-lists'; import { PrismaFilter, UniquePrismaFilter } from './fields/filters/where-inputs'; import { BaseItem, PickerContext, SchemaConfig } from './types'; import { PrismaModule } from './artifacts'; declare const prisma: unique symbol; export declare type PrismaPromise = Promise & { [prisma]: true; }; declare type PrismaModel = { count: (arg: { where?: PrismaFilter; take?: number; skip?: number; orderBy?: readonly Record[]; }) => PrismaPromise; findMany: (arg: { where?: PrismaFilter; take?: number; skip?: number; orderBy?: readonly Record[]; include?: Record; select?: Record; }) => PrismaPromise; delete: (arg: { where: UniquePrismaFilter; }) => PrismaPromise; deleteMany: (arg: { where: PrismaFilter; }) => PrismaPromise; findUnique: (args: { where: UniquePrismaFilter; include?: Record; select?: Record; }) => PrismaPromise; findFirst: (args: { where: PrismaFilter; include?: Record; select?: Record; }) => PrismaPromise; create: (args: { data: Record; include?: Record; select?: Record; }) => PrismaPromise; update: (args: { where: UniquePrismaFilter; data: Record; include?: Record; select?: Record; }) => PrismaPromise; }; export declare type UnwrapPromise> = TPromise extends Promise ? T : never; export declare type UnwrapPromises[]> = { [Key in keyof T]: Key extends number ? UnwrapPromise : never; }; export declare type PrismaClient = { $disconnect(): Promise; $connect(): Promise; $transaction[]>(promises: [...T]): UnwrapPromises; } & Record; export declare function runWithPrisma(context: PickerContext, { listKey }: InitialisedList, fn: (model: PrismaModel) => Promise): Promise; declare const idTypeSymbol: unique symbol; export declare type IdType = { ___pickerIdType: typeof idTypeSymbol; toString(): string; }; export declare const isFulfilled: (arg: PromiseSettledResult) => arg is PromiseFulfilledResult; export declare const isRejected: (arg: PromiseSettledResult) => arg is PromiseRejectedResult; declare type Awaited = T extends PromiseLike ? U : T; export declare function promiseAllRejectWithAllErrors(promises: readonly [...T]): Promise<{ [P in keyof T]: Awaited; }>; export declare function getNamesFromList(listKey: string, { graphql, ui, isSingleton }: SchemaConfig['lists'][string]): { pluralGraphQLName: string; adminUILabels: { label: string; singular: string; plural: string; path: string; }; }; export declare function getDBFieldKeyForFieldOnMultiField(fieldKey: string, subField: string): string; export declare function setWriteLimit(prismaClient: object, limit: Limit): void; export declare function getWriteLimit(context: PickerContext): Limit; export declare function setPrismaNamespace(prismaClient: object, prismaNamespace: PrismaModule['Prisma']): void; export declare function getPrismaNamespace(context: PickerContext): { [key: string]: unknown; DbNull: unknown; JsonNull: unknown; }; export declare function areArraysEqual(a: readonly unknown[], b: readonly unknown[]): boolean; export declare class ExitError extends Error { code: number; constructor(code: number); } export {};