@partyxjimmy/client
Version:
Prisma Client is an auto-generated, type-safe and modern JavaScript/TypeScript ORM for Node.js that's tailored to your data. Supports PostgreSQL, CockroachDB, MySQL, MariaDB, SQL Server, SQLite & MongoDB databases.
1,391 lines (1,209 loc) • 121 kB
TypeScript
/**
* @param this
*/
declare function $extends(this: Client, extension: ExtensionArgs | ((client: Client) => Client)): Client;
declare type AccelerateEngineConfig = {
inlineSchema: EngineConfig['inlineSchema'];
inlineSchemaHash: EngineConfig['inlineSchemaHash'];
env: EngineConfig['env'];
generator?: {
previewFeatures: string[];
};
inlineDatasources: EngineConfig['inlineDatasources'];
overrideDatasources: EngineConfig['overrideDatasources'];
clientVersion: EngineConfig['clientVersion'];
engineVersion: EngineConfig['engineVersion'];
logEmitter: EngineConfig['logEmitter'];
logQueries?: EngineConfig['logQueries'];
logLevel?: EngineConfig['logLevel'];
tracingHelper: EngineConfig['tracingHelper'];
accelerateUtils?: EngineConfig['accelerateUtils'];
};
export declare type Action = keyof typeof DMMF.ModelAction | 'executeRaw' | 'queryRaw' | 'runCommandRaw';
declare type ActiveConnectorType = Exclude<ConnectorType, 'postgres' | 'prisma+postgres'>;
export declare type Aggregate = '_count' | '_max' | '_min' | '_avg' | '_sum';
export declare type AllModelsToStringIndex<TypeMap extends TypeMapDef, Args extends Record<string, any>, K extends PropertyKey> = Args extends {
[P in K]: {
$allModels: infer AllModels;
};
} ? {
[P in K]: Record<TypeMap['meta']['modelProps'], AllModels>;
} : {};
declare class AnyNull extends NullTypesEnumValue {
}
export declare type ApplyOmit<T, OmitConfig> = Compute<{
[K in keyof T as OmitValue<OmitConfig, K> extends true ? never : K]: T[K];
}>;
export declare type Args<T, F extends Operation> = T extends {
[K: symbol]: {
types: {
operations: {
[K in F]: {
args: any;
};
};
};
};
} ? T[symbol]['types']['operations'][F]['args'] : any;
export declare type Args_3<T, F extends Operation> = Args<T, F>;
/**
* Original `quaint::ValueType` enum tag from Prisma's `quaint`.
* Query arguments marked with this type are sanitized before being sent to the database.
* Notice while a query argument may be `null`, `ArgType` is guaranteed to be defined.
*/
declare type ArgType = 'Int32' | 'Int64' | 'Float' | 'Double' | 'Text' | 'Enum' | 'EnumArray' | 'Bytes' | 'Boolean' | 'Char' | 'Array' | 'Numeric' | 'Json' | 'Xml' | 'Uuid' | 'DateTime' | 'Date' | 'Time';
/**
* Attributes is a map from string to attribute values.
*
* Note: only the own enumerable keys are counted as valid attribute keys.
*/
declare interface Attributes {
[attributeKey: string]: AttributeValue | undefined;
}
/**
* Attribute values may be any non-nullish primitive value except an object.
*
* null or undefined attribute values are invalid and will result in undefined behavior.
*/
declare type AttributeValue = string | number | boolean | Array<null | undefined | string> | Array<null | undefined | number> | Array<null | undefined | boolean>;
export declare type BaseDMMF = {
readonly datamodel: Omit<DMMF.Datamodel, 'indexes'>;
};
declare type BatchArgs = {
queries: BatchQuery[];
transaction?: {
isolationLevel?: IsolationLevel;
};
};
declare type BatchInternalParams = {
requests: RequestParams[];
customDataProxyFetch?: CustomDataProxyFetch;
};
declare type BatchQuery = {
model: string | undefined;
operation: string;
args: JsArgs | RawQueryArgs;
};
declare type BatchQueryEngineResult<T> = QueryEngineResultData<T> | Error;
declare type BatchQueryOptionsCb = (args: BatchQueryOptionsCbArgs) => Promise<any>;
declare type BatchQueryOptionsCbArgs = {
args: BatchArgs;
query: (args: BatchArgs, __internalParams?: BatchInternalParams) => Promise<unknown[]>;
__internalParams: BatchInternalParams;
};
declare type BatchTransactionOptions = {
isolationLevel?: Transaction_2.IsolationLevel;
};
declare interface BinaryTargetsEnvValue {
fromEnvVar: string | null;
value: string;
native?: boolean;
}
export declare type Call<F extends Fn, P> = (F & {
params: P;
})['returns'];
declare interface CallSite {
getLocation(): LocationInFile | null;
}
export declare type Cast<A, W> = A extends W ? A : W;
declare type Client = ReturnType<typeof getPrismaClient> extends new () => infer T ? T : never;
export declare type ClientArg = {
[MethodName in string]: unknown;
};
export declare type ClientArgs = {
client: ClientArg;
};
export declare type ClientBuiltInProp = keyof DynamicClientExtensionThisBuiltin<never, never, never, never>;
export declare type ClientOptionDef = undefined | {
[K in string]: any;
};
export declare type ClientOtherOps = {
$queryRaw<T = unknown>(query: TemplateStringsArray | Sql, ...values: any[]): PrismaPromise<T>;
$queryRawTyped<T>(query: TypedSql<unknown[], T>): PrismaPromise<T[]>;
$queryRawUnsafe<T = unknown>(query: string, ...values: any[]): PrismaPromise<T>;
$executeRaw(query: TemplateStringsArray | Sql, ...values: any[]): PrismaPromise<number>;
$executeRawUnsafe(query: string, ...values: any[]): PrismaPromise<number>;
$runCommandRaw(command: InputJsonObject): PrismaPromise<JsonObject>;
};
declare type ColumnType = (typeof ColumnTypeEnum)[keyof typeof ColumnTypeEnum];
declare const ColumnTypeEnum: {
readonly Int32: 0;
readonly Int64: 1;
readonly Float: 2;
readonly Double: 3;
readonly Numeric: 4;
readonly Boolean: 5;
readonly Character: 6;
readonly Text: 7;
readonly Date: 8;
readonly Time: 9;
readonly DateTime: 10;
readonly Json: 11;
readonly Enum: 12;
readonly Bytes: 13;
readonly Set: 14;
readonly Uuid: 15;
readonly Int32Array: 64;
readonly Int64Array: 65;
readonly FloatArray: 66;
readonly DoubleArray: 67;
readonly NumericArray: 68;
readonly BooleanArray: 69;
readonly CharacterArray: 70;
readonly TextArray: 71;
readonly DateArray: 72;
readonly TimeArray: 73;
readonly DateTimeArray: 74;
readonly JsonArray: 75;
readonly EnumArray: 76;
readonly BytesArray: 77;
readonly UuidArray: 78;
readonly UnknownNumber: 128;
};
declare type CompilerWasmLoadingConfig = {
/**
* WASM-bindgen runtime for corresponding module
*/
getRuntime: () => {
__wbg_set_wasm(exports: unknown): any;
QueryCompiler: QueryCompilerConstructor;
};
/**
* Loads the raw wasm module for the wasm compiler engine. This configuration is
* generated specifically for each type of client, eg. Node.js client and Edge
* clients will have different implementations.
* @remarks this is a callback on purpose, we only load the wasm if needed.
* @remarks only used by ClientEngine
*/
getQueryCompilerWasmModule: () => Promise<unknown>;
};
export declare type Compute<T> = T extends Function ? T : {
[K in keyof T]: T[K];
} & unknown;
export declare type ComputeDeep<T> = T extends Function ? T : {
[K in keyof T]: ComputeDeep<T[K]>;
} & unknown;
declare type ComputedField = {
name: string;
needs: string[];
compute: ResultArgsFieldCompute;
};
declare type ComputedFieldsMap = {
[fieldName: string]: ComputedField;
};
declare type ConnectionInfo = {
schemaName?: string;
maxBindValues?: number;
};
declare type ConnectorType = 'mysql' | 'mongodb' | 'sqlite' | 'postgresql' | 'postgres' | 'prisma+postgres' | 'sqlserver' | 'cockroachdb';
declare interface Context {
/**
* Get a value from the context.
*
* @param key key which identifies a context value
*/
getValue(key: symbol): unknown;
/**
* Create a new context which inherits from this context and has
* the given key set to the given value.
*
* @param key context key for which to set the value
* @param value value to set for the given key
*/
setValue(key: symbol, value: unknown): Context;
/**
* Return a new context which inherits from this context but does
* not contain a value for the given key.
*
* @param key context key for which to clear a value
*/
deleteValue(key: symbol): Context;
}
declare type Context_2<T> = T extends {
[K: symbol]: {
ctx: infer C;
};
} ? C & T & {
/**
* @deprecated Use `$name` instead.
*/
name?: string;
$name?: string;
$parent?: unknown;
} : T & {
/**
* @deprecated Use `$name` instead.
*/
name?: string;
$name?: string;
$parent?: unknown;
};
export declare type Count<O> = {
[K in keyof O]: Count<number>;
} & {};
export declare function createParam(name: string): Param<unknown, string>;
/**
* Custom fetch function for `DataProxyEngine`.
*
* We can't use the actual type of `globalThis.fetch` because this will result
* in API Extractor referencing Node.js type definitions in the `.d.ts` bundle
* for the client runtime. We can only use such types in internal types that
* don't end up exported anywhere.
* It's also not possible to write a definition of `fetch` that would accept the
* actual `fetch` function from different environments such as Node.js and
* Cloudflare Workers (with their extensions to `RequestInit` and `Response`).
* `fetch` is used in both covariant and contravariant positions in
* `CustomDataProxyFetch`, making it invariant, so we need the exact same type.
* Even if we removed the argument and left `fetch` in covariant position only,
* then for an extension-supplied function to be assignable to `customDataProxyFetch`,
* the platform-specific (or custom) `fetch` function needs to be assignable
* to our `fetch` definition. This, in turn, requires the third-party `Response`
* to be a subtype of our `Response` (which is not a problem, we could declare
* a minimal `Response` type that only includes what we use) *and* requires the
* third-party `RequestInit` to be a supertype of our `RequestInit` (i.e. we
* have to declare all properties any `RequestInit` implementation in existence
* could possibly have), which is not possible.
*
* Since `@prisma/extension-accelerate` redefines the type of
* `__internalParams.customDataProxyFetch` to its own type anyway (probably for
* exactly this reason), our definition is never actually used and is completely
* ignored, so it doesn't matter, and we can just use `unknown` as the type of
* `fetch` here.
*/
declare type CustomDataProxyFetch = (fetch: unknown) => unknown;
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 DataLoaderOptions<T> = {
singleLoader: (request: T) => Promise<any>;
batchLoader: (request: T[]) => Promise<any[]>;
batchBy: (request: T) => string | undefined;
batchOrder: (requestA: T, requestB: T) => number;
};
declare type Datasource = {
url?: string;
};
declare type Datasources = {
[name in string]: Datasource;
};
declare class DbNull extends NullTypesEnumValue {
}
export declare const Debug: typeof debugCreate & {
enable(namespace: any): void;
disable(): any;
enabled(namespace: string): boolean;
log: (...args: string[]) => void;
formatters: {};
};
/**
* Create a new debug instance with the given namespace.
*
* @example
* ```ts
* import Debug from '@prisma/debug'
* const debug = Debug('prisma:client')
* debug('Hello World')
* ```
*/
declare function debugCreate(namespace: string): ((...args: any[]) => void) & {
color: string;
enabled: boolean;
namespace: string;
log: (...args: string[]) => void;
extend: () => void;
};
export 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;
}
}
export declare class Decimal {
readonly d: number[];
readonly e: number;
readonly s: number;
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): object is Decimal;
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): number;
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;
}
/**
* Interface for any Decimal.js-like library
* Allows us to accept Decimal.js from different
* versions and some compatible alternatives
*/
export declare interface DecimalJsLike {
d: number[];
e: number;
s: number;
toFixed(): string;
}
export declare type DefaultArgs = InternalArgs<{}, {}, {}, {}>;
export declare type DefaultSelection<Payload extends OperationPayload, Args = {}, ClientOptions = {}> = Args extends {
omit: infer LocalOmit;
} ? ApplyOmit<UnwrapPayload<{
default: Payload;
}>['default'], PatchFlat<LocalOmit, ExtractGlobalOmit<ClientOptions, Uncapitalize<Payload['name']>>>> : ApplyOmit<UnwrapPayload<{
default: Payload;
}>['default'], ExtractGlobalOmit<ClientOptions, Uncapitalize<Payload['name']>>>;
export declare function defineDmmfProperty(target: object, runtimeDataModel: RuntimeDataModel): void;
declare function defineExtension(ext: ExtensionArgs | ((client: Client) => Client)): (client: Client) => Client;
declare const denylist: readonly ["$connect", "$disconnect", "$on", "$transaction", "$use", "$extends"];
declare type DeserializedResponse = Array<Record<string, unknown>>;
export declare function deserializeJsonResponse(result: unknown): unknown;
export declare function deserializeRawResult(response: RawResponse): DeserializedResponse;
export declare type DevTypeMapDef = {
meta: {
modelProps: string;
};
model: {
[Model in PropertyKey]: {
[Operation in PropertyKey]: DevTypeMapFnDef;
};
};
other: {
[Operation in PropertyKey]: DevTypeMapFnDef;
};
};
export declare type DevTypeMapFnDef = {
args: any;
result: any;
payload: OperationPayload;
};
export declare namespace DMMF {
export type Document = ReadonlyDeep_2<{
datamodel: Datamodel;
schema: Schema;
mappings: Mappings;
}>;
export type Mappings = ReadonlyDeep_2<{
modelOperations: ModelMapping[];
otherOperations: {
read: string[];
write: string[];
};
}>;
export type OtherOperationMappings = ReadonlyDeep_2<{
read: string[];
write: string[];
}>;
export type DatamodelEnum = ReadonlyDeep_2<{
name: string;
values: EnumValue[];
dbName?: string | null;
documentation?: string;
}>;
export type SchemaEnum = ReadonlyDeep_2<{
name: string;
values: string[];
}>;
export type EnumValue = ReadonlyDeep_2<{
name: string;
dbName: string | null;
}>;
export type Datamodel = ReadonlyDeep_2<{
models: Model[];
enums: DatamodelEnum[];
types: Model[];
indexes: Index[];
}>;
export type uniqueIndex = ReadonlyDeep_2<{
name: string;
fields: string[];
}>;
export type PrimaryKey = ReadonlyDeep_2<{
name: string | null;
fields: string[];
}>;
export type Model = ReadonlyDeep_2<{
name: string;
dbName: string | null;
schema: string | null;
fields: Field[];
uniqueFields: string[][];
uniqueIndexes: uniqueIndex[];
documentation?: string;
primaryKey: PrimaryKey | null;
isGenerated?: boolean;
}>;
export type FieldKind = 'scalar' | 'object' | 'enum' | 'unsupported';
export type FieldNamespace = 'model' | 'prisma';
export type FieldLocation = 'scalar' | 'inputObjectTypes' | 'outputObjectTypes' | 'enumTypes' | 'fieldRefTypes';
export type Field = ReadonlyDeep_2<{
kind: FieldKind;
name: string;
isRequired: boolean;
isList: boolean;
isUnique: boolean;
isId: boolean;
isReadOnly: boolean;
isGenerated?: boolean;
isUpdatedAt?: boolean;
/**
* Describes the data type in the same the way it is defined in the Prisma schema:
* BigInt, Boolean, Bytes, DateTime, Decimal, Float, Int, JSON, String, $ModelName
*/
type: string;
/**
* Native database type, if specified.
* For example, `@db.VarChar(191)` is encoded as `['VarChar', ['191']]`,
* `@db.Text` is encoded as `['Text', []]`.
*/
nativeType?: [string, string[]] | null;
dbName?: string | null;
hasDefaultValue: boolean;
default?: FieldDefault | FieldDefaultScalar | FieldDefaultScalar[];
relationFromFields?: string[];
relationToFields?: string[];
relationOnDelete?: string;
relationOnUpdate?: string;
relationName?: string;
documentation?: string;
}>;
export type FieldDefault = ReadonlyDeep_2<{
name: string;
args: Array<string | number>;
}>;
export type FieldDefaultScalar = string | boolean | number;
export type Index = ReadonlyDeep_2<{
model: string;
type: IndexType;
isDefinedOnField: boolean;
name?: string;
dbName?: string;
algorithm?: string;
clustered?: boolean;
fields: IndexField[];
}>;
export type IndexType = 'id' | 'normal' | 'unique' | 'fulltext';
export type IndexField = ReadonlyDeep_2<{
name: string;
sortOrder?: SortOrder;
length?: number;
operatorClass?: string;
}>;
export type SortOrder = 'asc' | 'desc';
export type Schema = ReadonlyDeep_2<{
rootQueryType?: string;
rootMutationType?: string;
inputObjectTypes: {
model?: InputType[];
prisma: InputType[];
};
outputObjectTypes: {
model: OutputType[];
prisma: OutputType[];
};
enumTypes: {
model?: SchemaEnum[];
prisma: SchemaEnum[];
};
fieldRefTypes: {
prisma?: FieldRefType[];
};
}>;
export type Query = ReadonlyDeep_2<{
name: string;
args: SchemaArg[];
output: QueryOutput;
}>;
export type QueryOutput = ReadonlyDeep_2<{
name: string;
isRequired: boolean;
isList: boolean;
}>;
export type TypeRef<AllowedLocations extends FieldLocation> = {
isList: boolean;
type: string;
location: AllowedLocations;
namespace?: FieldNamespace;
};
export type InputTypeRef = TypeRef<'scalar' | 'inputObjectTypes' | 'enumTypes' | 'fieldRefTypes'>;
export type SchemaArg = ReadonlyDeep_2<{
name: string;
comment?: string;
isNullable: boolean;
isRequired: boolean;
inputTypes: InputTypeRef[];
deprecation?: Deprecation;
}>;
export type OutputType = ReadonlyDeep_2<{
name: string;
fields: SchemaField[];
}>;
export type SchemaField = ReadonlyDeep_2<{
name: string;
isNullable?: boolean;
outputType: OutputTypeRef;
args: SchemaArg[];
deprecation?: Deprecation;
documentation?: string;
}>;
export type OutputTypeRef = TypeRef<'scalar' | 'outputObjectTypes' | 'enumTypes'>;
export type Deprecation = ReadonlyDeep_2<{
sinceVersion: string;
reason: string;
plannedRemovalVersion?: string;
}>;
export type InputType = ReadonlyDeep_2<{
name: string;
constraints: {
maxNumFields: number | null;
minNumFields: number | null;
fields?: string[];
};
meta?: {
source?: string;
};
fields: SchemaArg[];
}>;
export type FieldRefType = ReadonlyDeep_2<{
name: string;
allowTypes: FieldRefAllowType[];
fields: SchemaArg[];
}>;
export type FieldRefAllowType = TypeRef<'scalar' | 'enumTypes'>;
export type ModelMapping = ReadonlyDeep_2<{
model: string;
plural: string;
findUnique?: string | null;
findUniqueOrThrow?: string | null;
findFirst?: string | null;
findFirstOrThrow?: string | null;
findMany?: string | null;
create?: string | null;
createMany?: string | null;
createManyAndReturn?: string | null;
update?: string | null;
updateMany?: string | null;
updateManyAndReturn?: string | null;
upsert?: string | null;
delete?: string | null;
deleteMany?: string | null;
aggregate?: string | null;
groupBy?: string | null;
count?: string | null;
findRaw?: string | null;
aggregateRaw?: string | null;
}>;
export enum ModelAction {
findUnique = "findUnique",
findUniqueOrThrow = "findUniqueOrThrow",
findFirst = "findFirst",
findFirstOrThrow = "findFirstOrThrow",
findMany = "findMany",
create = "create",
createMany = "createMany",
createManyAndReturn = "createManyAndReturn",
update = "update",
updateMany = "updateMany",
updateManyAndReturn = "updateManyAndReturn",
upsert = "upsert",
delete = "delete",
deleteMany = "deleteMany",
groupBy = "groupBy",
count = "count",// TODO: count does not actually exist, why?
aggregate = "aggregate",
findRaw = "findRaw",
aggregateRaw = "aggregateRaw"
}
}
export declare function dmmfToRuntimeDataModel(dmmfDataModel: DMMF.Datamodel): RuntimeDataModel;
export declare interface DriverAdapter extends Queryable {
/**
* Starts new transaction.
*/
transactionContext(): Promise<Result_4<TransactionContext>>;
/**
* Optional method that returns extra connection info
*/
getConnectionInfo?(): Result_4<ConnectionInfo>;
}
/** Client */
export declare type DynamicClientExtensionArgs<C_, TypeMap extends TypeMapDef, TypeMapCb extends TypeMapCbDef, ExtArgs extends Record<string, any>, ClientOptions> = {
[P in keyof C_]: unknown;
} & {
[K: symbol]: {
ctx: Optional<DynamicClientExtensionThis<TypeMap, TypeMapCb, ExtArgs, ClientOptions>, ITXClientDenyList> & {
$parent: Optional<DynamicClientExtensionThis<TypeMap, TypeMapCb, ExtArgs, ClientOptions>, ITXClientDenyList>;
};
};
};
export declare type DynamicClientExtensionThis<TypeMap extends TypeMapDef, TypeMapCb extends TypeMapCbDef, ExtArgs extends Record<string, any>, ClientOptions> = {
[P in keyof ExtArgs['client']]: Return<ExtArgs['client'][P]>;
} & {
[P in Exclude<TypeMap['meta']['modelProps'], keyof ExtArgs['client']>]: DynamicModelExtensionThis<TypeMap, ModelKey<TypeMap, P>, ExtArgs, ClientOptions>;
} & {
[P in Exclude<keyof TypeMap['other']['operations'], keyof ExtArgs['client']>]: P extends keyof ClientOtherOps ? ClientOtherOps[P] : never;
} & {
[P in Exclude<ClientBuiltInProp, keyof ExtArgs['client']>]: DynamicClientExtensionThisBuiltin<TypeMap, TypeMapCb, ExtArgs, ClientOptions>[P];
} & {
[K: symbol]: {
types: TypeMap['other'];
};
};
export declare type DynamicClientExtensionThisBuiltin<TypeMap extends TypeMapDef, TypeMapCb extends TypeMapCbDef, ExtArgs extends Record<string, any>, ClientOptions> = {
$extends: ExtendsHook<'extends', TypeMapCb, ExtArgs, Call<TypeMapCb, {
extArgs: ExtArgs;
}>, ClientOptions>;
$transaction<P extends PrismaPromise<any>[]>(arg: [...P], options?: {
isolationLevel?: TypeMap['meta']['txIsolationLevel'];
}): Promise<UnwrapTuple<P>>;
$transaction<R>(fn: (client: Omit<DynamicClientExtensionThis<TypeMap, TypeMapCb, ExtArgs, ClientOptions>, ITXClientDenyList>) => Promise<R>, options?: {
maxWait?: number;
timeout?: number;
isolationLevel?: TypeMap['meta']['txIsolationLevel'];
}): Promise<R>;
$disconnect(): Promise<void>;
$connect(): Promise<void>;
};
/** Model */
export declare type DynamicModelExtensionArgs<M_, TypeMap extends TypeMapDef, TypeMapCb extends TypeMapCbDef, ExtArgs extends Record<string, any>, ClientOptions> = {
[K in keyof M_]: K extends '$allModels' ? {
[P in keyof M_[K]]?: unknown;
} & {
[K: symbol]: {};
} : K extends TypeMap['meta']['modelProps'] ? {
[P in keyof M_[K]]?: unknown;
} & {
[K: symbol]: {
ctx: DynamicModelExtensionThis<TypeMap, ModelKey<TypeMap, K>, ExtArgs, ClientOptions> & {
$parent: DynamicClientExtensionThis<TypeMap, TypeMapCb, ExtArgs, ClientOptions>;
} & {
$name: ModelKey<TypeMap, K>;
} & {
/**
* @deprecated Use `$name` instead.
*/
name: ModelKey<TypeMap, K>;
};
};
} : never;
};
export declare type DynamicModelExtensionFluentApi<TypeMap extends TypeMapDef, M extends PropertyKey, P extends PropertyKey, Null, ClientOptions> = {
[K in keyof TypeMap['model'][M]['payload']['objects']]: <A>(args?: Exact<A, Path<TypeMap['model'][M]['operations'][P]['args']['select'], [K]>>) => PrismaPromise<Path<DynamicModelExtensionFnResultBase<TypeMap, M, {
select: {
[P in K]: A;
};
}, P, ClientOptions>, [K]> | Null> & DynamicModelExtensionFluentApi<TypeMap, (TypeMap['model'][M]['payload']['objects'][K] & {})['name'], P, Null | Select<TypeMap['model'][M]['payload']['objects'][K], null>, ClientOptions>;
};
export declare type DynamicModelExtensionFnResult<TypeMap extends TypeMapDef, M extends PropertyKey, A, P extends PropertyKey, Null, ClientOptions> = P extends FluentOperation ? DynamicModelExtensionFluentApi<TypeMap, M, P, Null, ClientOptions> & PrismaPromise<DynamicModelExtensionFnResultBase<TypeMap, M, A, P, ClientOptions> | Null> : PrismaPromise<DynamicModelExtensionFnResultBase<TypeMap, M, A, P, ClientOptions>>;
export declare type DynamicModelExtensionFnResultBase<TypeMap extends TypeMapDef, M extends PropertyKey, A, P extends PropertyKey, ClientOptions> = GetResult<TypeMap['model'][M]['payload'], A, P & Operation, ClientOptions>;
export declare type DynamicModelExtensionFnResultNull<P extends PropertyKey> = P extends 'findUnique' | 'findFirst' ? null : never;
export declare type DynamicModelExtensionOperationFn<TypeMap extends TypeMapDef, M extends PropertyKey, P extends PropertyKey, ClientOptions> = {} extends TypeMap['model'][M]['operations'][P]['args'] ? <A extends TypeMap['model'][M]['operations'][P]['args']>(args?: Exact<A, TypeMap['model'][M]['operations'][P]['args']>) => DynamicModelExtensionFnResult<TypeMap, M, A, P, DynamicModelExtensionFnResultNull<P>, ClientOptions> : <A extends TypeMap['model'][M]['operations'][P]['args']>(args: Exact<A, TypeMap['model'][M]['operations'][P]['args']>) => DynamicModelExtensionFnResult<TypeMap, M, A, P, DynamicModelExtensionFnResultNull<P>, ClientOptions>;
export declare type DynamicModelExtensionThis<TypeMap extends TypeMapDef, M extends PropertyKey, ExtArgs extends Record<string, any>, ClientOptions> = {
[P in keyof ExtArgs['model'][Uncapitalize<M & string>]]: Return<ExtArgs['model'][Uncapitalize<M & string>][P]>;
} & {
[P in Exclude<keyof TypeMap['model'][M]['operations'], keyof ExtArgs['model'][Uncapitalize<M & string>]>]: DynamicModelExtensionOperationFn<TypeMap, M, P, ClientOptions>;
} & {
[P in Exclude<'fields', keyof ExtArgs['model'][Uncapitalize<M & string>]>]: TypeMap['model'][M]['fields'];
} & {
[K: symbol]: {
types: TypeMap['model'][M];
};
};
/** Query */
export declare type DynamicQueryExtensionArgs<Q_, TypeMap extends TypeMapDef> = {
[K in keyof Q_]: K extends '$allOperations' ? (args: {
model?: string;
operation: string;
args: any;
query: (args: any) => PrismaPromise<any>;
}) => Promise<any> : K extends '$allModels' ? {
[P in keyof Q_[K] | keyof TypeMap['model'][keyof TypeMap['model']]['operations'] | '$allOperations']?: P extends '$allOperations' ? DynamicQueryExtensionCb<TypeMap, 'model', keyof TypeMap['model'], keyof TypeMap['model'][keyof TypeMap['model']]['operations']> : P extends keyof TypeMap['model'][keyof TypeMap['model']]['operations'] ? DynamicQueryExtensionCb<TypeMap, 'model', keyof TypeMap['model'], P> : never;
} : K extends TypeMap['meta']['modelProps'] ? {
[P in keyof Q_[K] | keyof TypeMap['model'][ModelKey<TypeMap, K>]['operations'] | '$allOperations']?: P extends '$allOperations' ? DynamicQueryExtensionCb<TypeMap, 'model', ModelKey<TypeMap, K>, keyof TypeMap['model'][ModelKey<TypeMap, K>]['operations']> : P extends keyof TypeMap['model'][ModelKey<TypeMap, K>]['operations'] ? DynamicQueryExtensionCb<TypeMap, 'model', ModelKey<TypeMap, K>, P> : never;
} : K extends keyof TypeMap['other']['operations'] ? DynamicQueryExtensionCb<[TypeMap], 0, 'other', K> : never;
};
export declare type DynamicQueryExtensionCb<TypeMap extends TypeMapDef, _0 extends PropertyKey, _1 extends PropertyKey, _2 extends PropertyKey> = <A extends DynamicQueryExtensionCbArgs<TypeMap, _0, _1, _2>>(args: A) => Promise<TypeMap[_0][_1][_2]['result']>;
export declare type DynamicQueryExtensionCbArgs<TypeMap extends TypeMapDef, _0 extends PropertyKey, _1 extends PropertyKey, _2 extends PropertyKey> = (_1 extends unknown ? _2 extends unknown ? {
args: DynamicQueryExtensionCbArgsArgs<TypeMap, _0, _1, _2>;
model: _0 extends 0 ? undefined : _1;
operation: _2;
query: <A extends DynamicQueryExtensionCbArgsArgs<TypeMap, _0, _1, _2>>(args: A) => PrismaPromise<TypeMap[_0][_1]['operations'][_2]['result']>;
} : never : never) & {
query: (args: DynamicQueryExtensionCbArgsArgs<TypeMap, _0, _1, _2>) => PrismaPromise<TypeMap[_0][_1]['operations'][_2]['result']>;
};
export declare type DynamicQueryExtensionCbArgsArgs<TypeMap extends TypeMapDef, _0 extends PropertyKey, _1 extends PropertyKey, _2 extends PropertyKey> = _2 extends '$queryRaw' | '$executeRaw' ? Sql : TypeMap[_0][_1]['operations'][_2]['args'];
/** Result */
export declare type DynamicResultExtensionArgs<R_, TypeMap extends TypeMapDef> = {
[K in keyof R_]: {
[P in keyof R_[K]]?: {
needs?: DynamicResultExtensionNeeds<TypeMap, ModelKey<TypeMap, K>, R_[K][P]>;
compute(data: DynamicResultExtensionData<TypeMap, ModelKey<TypeMap, K>, R_[K][P]>): any;
};
};
};
export declare type DynamicResultExtensionData<TypeMap extends TypeMapDef, M extends PropertyKey, S> = GetFindResult<TypeMap['model'][M]['payload'], {
select: S;
}, {}>;
export declare type DynamicResultExtensionNeeds<TypeMap extends TypeMapDef, M extends PropertyKey, S> = {
[K in keyof S]: K extends keyof TypeMap['model'][M]['payload']['scalars'] ? S[K] : never;
} & {
[N in keyof TypeMap['model'][M]['payload']['scalars']]?: boolean;
};
/**
* Placeholder value for "no text".
*/
export declare const empty: Sql;
export declare type EmptyToUnknown<T> = T;
declare interface Engine<InteractiveTransactionPayload = unknown> {
/** The name of the engine. This is meant to be consumed externally */
readonly name: string;
onBeforeExit(callback: () => Promise<void>): void;
start(): Promise<void>;
stop(): Promise<void>;
version(forceRun?: boolean): Promise<string> | string;
request<T>(query: JsonQuery, options: RequestOptions<InteractiveTransactionPayload>): Promise<QueryEngineResultData<T>>;
requestBatch<T>(queries: JsonQuery[], options: RequestBatchOptions<InteractiveTransactionPayload>): Promise<BatchQueryEngineResult<T>[]>;
transaction(action: 'start', headers: Transaction_2.TransactionHeaders, options: Transaction_2.Options): Promise<Transaction_2.InteractiveTransactionInfo<unknown>>;
transaction(action: 'commit', headers: Transaction_2.TransactionHeaders, info: Transaction_2.InteractiveTransactionInfo<unknown>): Promise<void>;
transaction(action: 'rollback', headers: Transaction_2.TransactionHeaders, info: Transaction_2.InteractiveTransactionInfo<unknown>): Promise<void>;
metrics(options: MetricsOptionsJson): Promise<Metrics>;
metrics(options: MetricsOptionsPrometheus): Promise<string>;
applyPendingMigrations(): Promise<void>;
}
declare interface EngineConfig {
cwd: string;
dirname: string;
datamodelPath: string;
enableDebugLogs?: boolean;
allowTriggerPanic?: boolean;
prismaPath?: string;
generator?: GeneratorConfig;
overrideDatasources: Datasources;
showColors?: boolean;
logQueries?: boolean;
logLevel?: 'info' | 'warn';
env: Record<string, string>;
flags?: string[];
clientVersion: string;
engineVersion: string;
previewFeatures?: string[];
engineEndpoint?: string;
activeProvider?: string;
logEmitter: LogEmitter;
transactionOptions: Transaction_2.Options;
/**
* Instance of a Driver Adapter, e.g., like one provided by `@prisma/adapter-planetscale`.
* If set, this is only used in the library engine, and all queries would be performed through it,
* rather than Prisma's Rust drivers.
* @remarks only used by LibraryEngine.ts
*/
adapter?: ErrorCapturingDriverAdapter;
/**
* The contents of the schema encoded into a string
* @remarks only used by DataProxyEngine.ts
*/
inlineSchema: string;
/**
* The contents of the datasource url saved in a string
* @remarks only used by DataProxyEngine.ts
*/
inlineDatasources: GetPrismaClientConfig['inlineDatasources'];
/**
* The string hash that was produced for a given schema
* @remarks only used by DataProxyEngine.ts
*/
inlineSchemaHash: string;
/**
* The helper for interaction with OTEL tracing
* @remarks enabling is determined by the client and @prisma/instrumentation package
*/
tracingHelper: TracingHelper;
/**
* Information about whether we have not found a schema.prisma file in the
* default location, and that we fell back to finding the schema.prisma file
* in the current working directory. This usually means it has been bundled.
*/
isBundled?: boolean;
/**
* Web Assembly module loading configuration
*/
engineWasm?: EngineWasmLoadingConfig;
compilerWasm?: CompilerWasmLoadingConfig;
/**
* Allows Accelerate to use runtime utilities from the client. These are
* necessary for the AccelerateEngine to function correctly.
*/
accelerateUtils?: {
resolveDatasourceUrl: typeof resolveDatasourceUrl;
getBatchRequestPayload: typeof getBatchRequestPayload;
prismaGraphQLToJSError: typeof prismaGraphQLToJSError;
PrismaClientUnknownRequestError: typeof PrismaClientUnknownRequestError;
PrismaClientInitializationError: typeof PrismaClientInitializationError;
PrismaClientKnownRequestError: typeof PrismaClientKnownRequestError;
debug: (...args: any[]) => void;
engineVersion: string;
clientVersion: string;
};
}
declare type EngineEvent<E extends EngineEventType> = E extends QueryEventType ? QueryEvent : LogEvent;
declare type EngineEventType = QueryEventType | LogEventType;
declare type EngineProtocol = 'graphql' | 'json';
declare type EngineSpan = {
id: EngineSpanId;
parentId: string | null;
name: string;
startTime: HrTime;
endTime: HrTime;
kind: EngineSpanKind;
attributes?: Record<string, unknown>;
links?: EngineSpanId[];
};
declare type EngineSpanId = string;
declare type EngineSpanKind = 'client' | 'internal';
declare type EngineWasmLoadingConfig = {
/**
* WASM-bindgen runtime for corresponding module
*/
getRuntime: () => {
__wbg_set_wasm(exports: unknown): any;
QueryEngine: QueryEngineConstructor;
};
/**
* Loads the raw wasm module for the wasm query engine. This configuration is
* generated specifically for each type of client, eg. Node.js client and Edge
* clients will have different implementations.
* @remarks this is a callback on purpose, we only load the wasm if needed.
* @remarks only used by LibraryEngine
*/
getQueryEngineWasmModule: () => Promise<unknown>;
};
declare type EnvPaths = {
rootEnvPath: string | null;
schemaEnvPath: string | undefined;
};
declare interface EnvValue {
fromEnvVar: null | string;
value: null | string;
}
export declare type Equals<A, B> = (<T>() => T extends A ? 1 : 2) extends (<T>() => T extends B ? 1 : 2) ? 1 : 0;
declare type Error_2 = {
kind: 'GenericJs';
id: number;
} | {
kind: 'UnsupportedNativeDataType';
type: string;
} | {
kind: 'Postgres';
code: string;
severity: string;
message: string;
detail: string | undefined;
column: string | undefined;
hint: string | undefined;
} | {
kind: 'Mysql';
code: number;
message: string;
state: string;
} | {
kind: 'Sqlite';
/**
* Sqlite extended error code: https://www.sqlite.org/rescode.html
*/
extendedCode: number;
message: string;
};
declare interface ErrorCapturingDriverAdapter extends DriverAdapter {
readonly errorRegistry: ErrorRegistry;
}
declare type ErrorFormat = 'pretty' | 'colorless' | 'minimal';
declare type ErrorRecord = {
error: unknown;
};
declare interface ErrorRegistry {
consumeError(id: number): ErrorRecord | undefined;
}
declare interface ErrorWithBatchIndex {
batchRequestIdx?: number;
}
declare type EventCallback<E extends ExtendedEventType> = [E] extends ['beforeExit'] ? () => Promise<void> : [E] extends [LogLevel] ? (event: EngineEvent<E>) => void : never;
export declare type Exact<A, W> = (A extends unknown ? (W extends A ? {
[K in keyof A]: Exact<A[K], W[K]>;
} : W) : never) | (A extends Narrowable ? A : never);
/**
* Defines Exception.
*
* string or an object with one of (message or name or code) and optional stack
*/
declare type Exception = ExceptionWithCode | ExceptionWithMessage | ExceptionWithName | string;
declare interface ExceptionWithCode {
code: string | number;
name?: string;
message?: string;
stack?: string;
}
declare interface ExceptionWithMessage {
code?: string | number;
message: string;
name?: string;
stack?: string;
}
declare interface ExceptionWithName {
code?: string | number;
message?: string;
name: string;
stack?: string;
}
declare type ExtendedEventType = LogLevel | 'beforeExit';
declare type ExtendedSpanOptions = SpanOptions & {
/** The name of the span */
name: string;
internal?: boolean;
middleware?: boolean;
/** Whether it propagates context (?=true) */
active?: boolean;
/** The context to append the span to */
context?: Context;
};
/** $extends, defineExtension */
export declare interface ExtendsHook<Variant extends 'extends' | 'define', TypeMapCb extends TypeMapCbDef, ExtArgs extends Record<string, any>, TypeMap extends TypeMapDef = Call<TypeMapCb, {
extArgs: ExtArgs;
}>, ClientOptions = {}> {
extArgs: ExtArgs;
<R_ extends {
[K in TypeMap['meta']['modelProps'] | '$allModels']?: unknown;
}, R, M_ extends {
[K in TypeMap['meta']['modelProps'] | '$allModels']?: unknown;
}, M, Q_ extends {
[K in TypeMap['meta']['modelProps'] | '$allModels' | keyof TypeMap['other']['operations'] | '$allOperations']?: unknown;
}, C_ extends {
[K in string]?: unknown;
}, C, Args extends InternalArgs = InternalArgs<R, M, {}, C>, MergedArgs extends InternalArgs = MergeExtArgs<TypeMap, ExtArgs, Args>>(extension: ((client: DynamicClientExtensionThis<TypeMap, TypeMapCb, ExtArgs, ClientOptions>) => {
$extends: {
extArgs: Args;
};
}) | {
name?: string;
query?: DynamicQueryExtensionArgs<Q_, TypeMap>;
result?: DynamicResultExtensionArgs<R_, TypeMap> & R;
model?: DynamicModelExtensionArgs<M_, TypeMap, TypeMapCb, ExtArgs, ClientOptions> & M;
client?: DynamicClientExtensionArgs<C_, TypeMap, TypeMapCb, ExtArgs, ClientOptions> & C;
}): {
extends: DynamicClientExtensionThis<Call<TypeMapCb, {
extArgs: MergedArgs;
}>, TypeMapCb, MergedArgs, ClientOptions>;
define: (client: any) => {
$extends: {
extArgs: Args;
};
};
}[Variant];
}
export declare type ExtensionArgs = Optional<RequiredExtensionArgs>;
declare namespace Extensions {
export {
defineExtension,
getExtensionContext
}
}
export { Extensions }
declare namespace Extensions_2 {
export {
InternalArgs,
DefaultArgs,
GetPayloadResultExtensionKeys,
GetPayloadResultExtensionObject,
GetPayloadResult,
GetSelect,
GetOmit,
DynamicQueryExtensionArgs,
DynamicQueryExtensionCb,
DynamicQueryExtensionCbArgs,
DynamicQueryExtensionCbArgsArgs,
Dyn