(query: string, ...values: any[]): Prisma.PrismaPromise;
+
+ /**
+ * Allows the running of a sequence of read/write operations that are guaranteed to either succeed or fail as a whole.
+ * @example
+ * ```
+ * const [george, bob, alice] = await prisma.$transaction([
+ * prisma.user.create({ data: { name: 'George' } }),
+ * prisma.user.create({ data: { name: 'Bob' } }),
+ * prisma.user.create({ data: { name: 'Alice' } }),
+ * ])
+ * ```
+ *
+ * Read more in our [docs](https://www.prisma.io/docs/concepts/components/prisma-client/transactions).
+ */
+ $transaction[]>(arg: [...P], options?: { isolationLevel?: Prisma.TransactionIsolationLevel }): $Utils.JsPromise>
+
+ $transaction(fn: (prisma: Omit) => $Utils.JsPromise, options?: { maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel }): $Utils.JsPromise
+
+
+ $extends: $Extensions.ExtendsHook<'extends', Prisma.TypeMapCb, ExtArgs>
+
+ /**
+ * `prisma.employees`: Exposes CRUD operations for the **employees** model.
+ * Example usage:
+ * ```ts
+ * // Fetch zero or more Employees
+ * const employees = await prisma.employees.findMany()
+ * ```
+ */
+ get employees(): Prisma.employeesDelegate;
+}
+
+export namespace Prisma {
+ export import DMMF = runtime.DMMF
+
+ export type PrismaPromise = $Public.PrismaPromise
+
+ /**
+ * Validator
+ */
+ export import validator = runtime.Public.validator
+
+ /**
+ * Prisma Errors
+ */
+ export import PrismaClientKnownRequestError = runtime.PrismaClientKnownRequestError
+ export import PrismaClientUnknownRequestError = runtime.PrismaClientUnknownRequestError
+ export import PrismaClientRustPanicError = runtime.PrismaClientRustPanicError
+ export import PrismaClientInitializationError = runtime.PrismaClientInitializationError
+ export import PrismaClientValidationError = runtime.PrismaClientValidationError
+ export import NotFoundError = runtime.NotFoundError
+
+ /**
+ * Re-export of sql-template-tag
+ */
+ export import sql = runtime.sqltag
+ export import empty = runtime.empty
+ export import join = runtime.join
+ export import raw = runtime.raw
+ export import Sql = runtime.Sql
+
+ /**
+ * Decimal.js
+ */
+ export import Decimal = runtime.Decimal
+
+ export type DecimalJsLike = runtime.DecimalJsLike
+
+ /**
+ * Metrics
+ */
+ export type Metrics = runtime.Metrics
+ export type Metric = runtime.Metric
+ export type MetricHistogram = runtime.MetricHistogram
+ export type MetricHistogramBucket = runtime.MetricHistogramBucket
+
+ /**
+ * Extensions
+ */
+ export import Extension = $Extensions.UserArgs
+ export import getExtensionContext = runtime.Extensions.getExtensionContext
+ export import Args = $Public.Args
+ export import Payload = $Public.Payload
+ export import Result = $Public.Result
+ export import Exact = $Public.Exact
+
+ /**
+ * Prisma Client JS version: 5.13.0
+ * Query Engine version: b9a39a7ee606c28e3455d0fd60e78c3ba82b1a2b
+ */
+ export type PrismaVersion = {
+ client: string
+ }
+
+ export const prismaVersion: PrismaVersion
+
+ /**
+ * Utility Types
+ */
+
+ /**
+ * From https://github.com/sindresorhus/type-fest/
+ * Matches a JSON object.
+ * This type can be useful to enforce some input to be JSON-compatible or as a super-type to be extended from.
+ */
+ export type JsonObject = {[Key in string]?: JsonValue}
+
+ /**
+ * From https://github.com/sindresorhus/type-fest/
+ * Matches a JSON array.
+ */
+ export interface JsonArray extends Array {}
+
+ /**
+ * From https://github.com/sindresorhus/type-fest/
+ * Matches any valid JSON value.
+ */
+ export type JsonValue = string | number | boolean | JsonObject | JsonArray | null
+
+ /**
+ * Matches a JSON object.
+ * Unlike `JsonObject`, this type allows undefined and read-only properties.
+ */
+ export type InputJsonObject = {readonly [Key in string]?: InputJsonValue | null}
+
+ /**
+ * Matches a JSON array.
+ * Unlike `JsonArray`, readonly arrays are assignable to this type.
+ */
+ export interface InputJsonArray extends ReadonlyArray {}
+
+ /**
+ * Matches any valid value that can be used as an input for operations like
+ * create and update as the value of a JSON field. Unlike `JsonValue`, this
+ * type allows read-only arrays and read-only object properties and disallows
+ * `null` at the top level.
+ *
+ * `null` cannot be used as the value of a JSON field because its meaning
+ * would be ambiguous. Use `Prisma.JsonNull` to store the JSON null value or
+ * `Prisma.DbNull` to clear the JSON value and set the field to the database
+ * NULL value instead.
+ *
+ * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-by-null-values
+ */
+ export type InputJsonValue = string | number | boolean | InputJsonObject | InputJsonArray | { toJSON(): unknown }
+
+ /**
+ * Types of the values used to represent different kinds of `null` values when working with JSON fields.
+ *
+ * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
+ */
+ namespace NullTypes {
+ /**
+ * Type of `Prisma.DbNull`.
+ *
+ * You cannot use other instances of this class. Please use the `Prisma.DbNull` value.
+ *
+ * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
+ */
+ class DbNull {
+ private DbNull: never
+ private constructor()
+ }
+
+ /**
+ * Type of `Prisma.JsonNull`.
+ *
+ * You cannot use other instances of this class. Please use the `Prisma.JsonNull` value.
+ *
+ * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
+ */
+ class JsonNull {
+ private JsonNull: never
+ private constructor()
+ }
+
+ /**
+ * Type of `Prisma.AnyNull`.
+ *
+ * You cannot use other instances of this class. Please use the `Prisma.AnyNull` value.
+ *
+ * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
+ */
+ class AnyNull {
+ private AnyNull: never
+ private constructor()
+ }
+ }
+
+ /**
+ * Helper for filtering JSON entries that have `null` on the database (empty on the db)
+ *
+ * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
+ */
+ export const DbNull: NullTypes.DbNull
+
+ /**
+ * Helper for filtering JSON entries that have JSON `null` values (not empty on the db)
+ *
+ * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
+ */
+ export const JsonNull: NullTypes.JsonNull
+
+ /**
+ * Helper for filtering JSON entries that are `Prisma.DbNull` or `Prisma.JsonNull`
+ *
+ * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
+ */
+ export const AnyNull: NullTypes.AnyNull
+
+ type SelectAndInclude = {
+ select: any
+ include: any
+ }
+
+ type SelectAndOmit = {
+ select: any
+ omit: any
+ }
+
+ /**
+ * Get the type of the value, that the Promise holds.
+ */
+ export type PromiseType> = T extends PromiseLike ? U : T;
+
+ /**
+ * Get the return type of a function which returns a Promise.
+ */
+ export type PromiseReturnType $Utils.JsPromise> = PromiseType>
+
+ /**
+ * From T, pick a set of properties whose keys are in the union K
+ */
+ type Prisma__Pick = {
+ [P in K]: T[P];
+ };
+
+
+ export type Enumerable = T | Array;
+
+ export type RequiredKeys = {
+ [K in keyof T]-?: {} extends Prisma__Pick ? never : K
+ }[keyof T]
+
+ export type TruthyKeys = keyof {
+ [K in keyof T as T[K] extends false | undefined | null ? never : K]: K
+ }
+
+ export type TrueKeys = TruthyKeys>>
+
+ /**
+ * Subset
+ * @desc From `T` pick properties that exist in `U`. Simple version of Intersection
+ */
+ export type Subset = {
+ [key in keyof T]: key extends keyof U ? T[key] : never;
+ };
+
+ /**
+ * SelectSubset
+ * @desc From `T` pick properties that exist in `U`. Simple version of Intersection.
+ * Additionally, it validates, if both select and include are present. If the case, it errors.
+ */
+ export type SelectSubset = {
+ [key in keyof T]: key extends keyof U ? T[key] : never
+ } &
+ (T extends SelectAndInclude
+ ? 'Please either choose `select` or `include`.'
+ : T extends SelectAndOmit
+ ? 'Please either choose `select` or `omit`.'
+ : {})
+
+ /**
+ * Subset + Intersection
+ * @desc From `T` pick properties that exist in `U` and intersect `K`
+ */
+ export type SubsetIntersection = {
+ [key in keyof T]: key extends keyof U ? T[key] : never
+ } &
+ K
+
+ type Without = { [P in Exclude]?: never };
+
+ /**
+ * XOR is needed to have a real mutually exclusive union type
+ * https://stackoverflow.com/questions/42123407/does-typescript-support-mutually-exclusive-types
+ */
+ type XOR =
+ T extends object ?
+ U extends object ?
+ (Without & U) | (Without & T)
+ : U : T
+
+
+ /**
+ * Is T a Record?
+ */
+ type IsObject = T extends Array
+ ? False
+ : T extends Date
+ ? False
+ : T extends Uint8Array
+ ? False
+ : T extends BigInt
+ ? False
+ : T extends object
+ ? True
+ : False
+
+
+ /**
+ * If it's T[], return T
+ */
+ export type UnEnumerate = T extends Array ? U : T
+
+ /**
+ * From ts-toolbelt
+ */
+
+ type __Either = Omit &
+ {
+ // Merge all but K
+ [P in K]: Prisma__Pick // With K possibilities
+ }[K]
+
+ type EitherStrict = Strict<__Either>
+
+ type EitherLoose = ComputeRaw<__Either>
+
+ type _Either<
+ O extends object,
+ K extends Key,
+ strict extends Boolean
+ > = {
+ 1: EitherStrict
+ 0: EitherLoose
+ }[strict]
+
+ type Either<
+ O extends object,
+ K extends Key,
+ strict extends Boolean = 1
+ > = O extends unknown ? _Either : never
+
+ export type Union = any
+
+ type PatchUndefined = {
+ [K in keyof O]: O[K] extends undefined ? At : O[K]
+ } & {}
+
+ /** Helper Types for "Merge" **/
+ export type IntersectOf = (
+ U extends unknown ? (k: U) => void : never
+ ) extends (k: infer I) => void
+ ? I
+ : never
+
+ export type Overwrite = {
+ [K in keyof O]: K extends keyof O1 ? O1[K] : O[K];
+ } & {};
+
+ type _Merge = IntersectOf;
+ }>>;
+
+ type Key = string | number | symbol;
+ type AtBasic = K extends keyof O ? O[K] : never;
+ type AtStrict = O[K & keyof O];
+ type AtLoose = O extends unknown ? AtStrict : never;
+ export type At = {
+ 1: AtStrict;
+ 0: AtLoose;
+ }[strict];
+
+ export type ComputeRaw = A extends Function ? A : {
+ [K in keyof A]: A[K];
+ } & {};
+
+ export type OptionalFlat = {
+ [K in keyof O]?: O[K];
+ } & {};
+
+ type _Record = {
+ [P in K]: T;
+ };
+
+ // cause typescript not to expand types and preserve names
+ type NoExpand = T extends unknown ? T : never;
+
+ // this type assumes the passed object is entirely optional
+ type AtLeast = NoExpand<
+ O extends unknown
+ ? | (K extends keyof O ? { [P in K]: O[P] } & O : O)
+ | {[P in keyof O as P extends K ? K : never]-?: O[P]} & O
+ : never>;
+
+ type _Strict = U extends unknown ? U & OptionalFlat<_Record, keyof U>, never>> : never;
+
+ export type Strict = ComputeRaw<_Strict>;
+ /** End Helper Types for "Merge" **/
+
+ export type Merge = ComputeRaw<_Merge>>;
+
+ /**
+ A [[Boolean]]
+ */
+ export type Boolean = True | False
+
+ // /**
+ // 1
+ // */
+ export type True = 1
+
+ /**
+ 0
+ */
+ export type False = 0
+
+ export type Not = {
+ 0: 1
+ 1: 0
+ }[B]
+
+ export type Extends = [A1] extends [never]
+ ? 0 // anything `never` is false
+ : A1 extends A2
+ ? 1
+ : 0
+
+ export type Has = Not<
+ Extends, U1>
+ >
+
+ export type Or = {
+ 0: {
+ 0: 0
+ 1: 1
+ }
+ 1: {
+ 0: 1
+ 1: 1
+ }
+ }[B1][B2]
+
+ export type Keys = U extends unknown ? keyof U : never
+
+ type Cast = A extends B ? A : B;
+
+ export const type: unique symbol;
+
+
+
+ /**
+ * Used by group by
+ */
+
+ export type GetScalarType = O extends object ? {
+ [P in keyof T]: P extends keyof O
+ ? O[P]
+ : never
+ } : never
+
+ type FieldPaths<
+ T,
+ U = Omit
+ > = IsObject extends True ? U : T
+
+ type GetHavingFields = {
+ [K in keyof T]: Or<
+ Or, Extends<'AND', K>>,
+ Extends<'NOT', K>
+ > extends True
+ ? // infer is only needed to not hit TS limit
+ // based on the brilliant idea of Pierre-Antoine Mills
+ // https://github.com/microsoft/TypeScript/issues/30188#issuecomment-478938437
+ T[K] extends infer TK
+ ? GetHavingFields extends object ? Merge> : never>
+ : never
+ : {} extends FieldPaths
+ ? never
+ : K
+ }[keyof T]
+
+ /**
+ * Convert tuple to union
+ */
+ type _TupleToUnion = T extends (infer E)[] ? E : never
+ type TupleToUnion = _TupleToUnion
+ type MaybeTupleToUnion = T extends any[] ? TupleToUnion : T
+
+ /**
+ * Like `Pick`, but additionally can also accept an array of keys
+ */
+ type PickEnumerable | keyof T> = Prisma__Pick>
+
+ /**
+ * Exclude all keys with underscores
+ */
+ type ExcludeUnderscoreKeys = T extends `_${string}` ? never : T
+
+
+ export type FieldRef = runtime.FieldRef
+
+ type FieldRefInputType = Model extends never ? never : FieldRef
+
+
+ export const ModelName: {
+ employees: 'employees'
+ };
+
+ export type ModelName = (typeof ModelName)[keyof typeof ModelName]
+
+
+ export type Datasources = {
+ db?: Datasource
+ }
+
+
+ interface TypeMapCb extends $Utils.Fn<{extArgs: $Extensions.InternalArgs}, $Utils.Record> {
+ returns: Prisma.TypeMap
+ }
+
+ export type TypeMap = {
+ meta: {
+ modelProps: 'employees'
+ txIsolationLevel: Prisma.TransactionIsolationLevel
+ },
+ model: {
+ employees: {
+ payload: Prisma.$employeesPayload
+ fields: Prisma.employeesFieldRefs
+ operations: {
+ findUnique: {
+ args: Prisma.employeesFindUniqueArgs,
+ result: $Utils.PayloadToResult | null
+ }
+ findUniqueOrThrow: {
+ args: Prisma.employeesFindUniqueOrThrowArgs,
+ result: $Utils.PayloadToResult
+ }
+ findFirst: {
+ args: Prisma.employeesFindFirstArgs,
+ result: $Utils.PayloadToResult | null
+ }
+ findFirstOrThrow: {
+ args: Prisma.employeesFindFirstOrThrowArgs,
+ result: $Utils.PayloadToResult
+ }
+ findMany: {
+ args: Prisma.employeesFindManyArgs,
+ result: $Utils.PayloadToResult[]
+ }
+ create: {
+ args: Prisma.employeesCreateArgs,
+ result: $Utils.PayloadToResult
+ }
+ createMany: {
+ args: Prisma.employeesCreateManyArgs,
+ result: Prisma.BatchPayload
+ }
+ delete: {
+ args: Prisma.employeesDeleteArgs,
+ result: $Utils.PayloadToResult
+ }
+ update: {
+ args: Prisma.employeesUpdateArgs,
+ result: $Utils.PayloadToResult
+ }
+ deleteMany: {
+ args: Prisma.employeesDeleteManyArgs,
+ result: Prisma.BatchPayload
+ }
+ updateMany: {
+ args: Prisma.employeesUpdateManyArgs,
+ result: Prisma.BatchPayload
+ }
+ upsert: {
+ args: Prisma.employeesUpsertArgs,
+ result: $Utils.PayloadToResult
+ }
+ aggregate: {
+ args: Prisma.EmployeesAggregateArgs,
+ result: $Utils.Optional
+ }
+ groupBy: {
+ args: Prisma.employeesGroupByArgs,
+ result: $Utils.Optional[]
+ }
+ count: {
+ args: Prisma.employeesCountArgs,
+ result: $Utils.Optional | number
+ }
+ }
+ }
+ }
+ } & {
+ other: {
+ payload: any
+ operations: {
+ $executeRawUnsafe: {
+ args: [query: string, ...values: any[]],
+ result: any
+ }
+ $executeRaw: {
+ args: [query: TemplateStringsArray | Prisma.Sql, ...values: any[]],
+ result: any
+ }
+ $queryRawUnsafe: {
+ args: [query: string, ...values: any[]],
+ result: any
+ }
+ $queryRaw: {
+ args: [query: TemplateStringsArray | Prisma.Sql, ...values: any[]],
+ result: any
+ }
+ }
+ }
+ }
+ export const defineExtension: $Extensions.ExtendsHook<'define', Prisma.TypeMapCb, $Extensions.DefaultArgs>
+ export type DefaultPrismaClient = PrismaClient
+ export type ErrorFormat = 'pretty' | 'colorless' | 'minimal'
+ export interface PrismaClientOptions {
+ /**
+ * Overwrites the datasource url from your schema.prisma file
+ */
+ datasources?: Datasources
+ /**
+ * Overwrites the datasource url from your schema.prisma file
+ */
+ datasourceUrl?: string
+ /**
+ * @default "colorless"
+ */
+ errorFormat?: ErrorFormat
+ /**
+ * @example
+ * ```
+ * // Defaults to stdout
+ * log: ['query', 'info', 'warn', 'error']
+ *
+ * // Emit as events
+ * log: [
+ * { emit: 'stdout', level: 'query' },
+ * { emit: 'stdout', level: 'info' },
+ * { emit: 'stdout', level: 'warn' }
+ * { emit: 'stdout', level: 'error' }
+ * ]
+ * ```
+ * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/logging#the-log-option).
+ */
+ log?: (LogLevel | LogDefinition)[]
+ /**
+ * The default values for transactionOptions
+ * maxWait ?= 2000
+ * timeout ?= 5000
+ */
+ transactionOptions?: {
+ maxWait?: number
+ timeout?: number
+ isolationLevel?: Prisma.TransactionIsolationLevel
+ }
+ /**
+ * Instance of a Driver Adapter, e.g., like one provided by `@prisma/adapter-planetscale`
+ */
+ adapter?: runtime.DriverAdapter | null
+ }
+
+ /* Types for Logging */
+ export type LogLevel = 'info' | 'query' | 'warn' | 'error'
+ export type LogDefinition = {
+ level: LogLevel
+ emit: 'stdout' | 'event'
+ }
+
+ export type GetLogType = T extends LogDefinition ? T['emit'] extends 'event' ? T['level'] : never : never
+ export type GetEvents = T extends Array ?
+ GetLogType | GetLogType | GetLogType | GetLogType
+ : never
+
+ export type QueryEvent = {
+ timestamp: Date
+ query: string
+ params: string
+ duration: number
+ target: string
+ }
+
+ export type LogEvent = {
+ timestamp: Date
+ message: string
+ target: string
+ }
+ /* End Types for Logging */
+
+
+ export type PrismaAction =
+ | 'findUnique'
+ | 'findUniqueOrThrow'
+ | 'findMany'
+ | 'findFirst'
+ | 'findFirstOrThrow'
+ | 'create'
+ | 'createMany'
+ | 'update'
+ | 'updateMany'
+ | 'upsert'
+ | 'delete'
+ | 'deleteMany'
+ | 'executeRaw'
+ | 'queryRaw'
+ | 'aggregate'
+ | 'count'
+ | 'runCommandRaw'
+ | 'findRaw'
+ | 'groupBy'
+
+ /**
+ * These options are being passed into the middleware as "params"
+ */
+ export type MiddlewareParams = {
+ model?: ModelName
+ action: PrismaAction
+ args: any
+ dataPath: string[]
+ runInTransaction: boolean
+ }
+
+ /**
+ * The `T` type makes sure, that the `return proceed` is not forgotten in the middleware implementation
+ */
+ export type Middleware = (
+ params: MiddlewareParams,
+ next: (params: MiddlewareParams) => $Utils.JsPromise,
+ ) => $Utils.JsPromise
+
+ // tested in getLogLevel.test.ts
+ export function getLogLevel(log: Array): LogLevel | undefined;
+
+ /**
+ * `PrismaClient` proxy available in interactive transactions.
+ */
+ export type TransactionClient = Omit
+
+ export type Datasource = {
+ url?: string
+ }
+
+ /**
+ * Count Types
+ */
+
+
+
+ /**
+ * Models
+ */
+
+ /**
+ * Model employees
+ */
+
+ export type AggregateEmployees = {
+ _count: EmployeesCountAggregateOutputType | null
+ _avg: EmployeesAvgAggregateOutputType | null
+ _sum: EmployeesSumAggregateOutputType | null
+ _min: EmployeesMinAggregateOutputType | null
+ _max: EmployeesMaxAggregateOutputType | null
+ }
+
+ export type EmployeesAvgAggregateOutputType = {
+ emp_no: number | null
+ }
+
+ export type EmployeesSumAggregateOutputType = {
+ emp_no: number | null
+ }
+
+ export type EmployeesMinAggregateOutputType = {
+ emp_no: number | null
+ first_name: string | null
+ last_name: string | null
+ }
+
+ export type EmployeesMaxAggregateOutputType = {
+ emp_no: number | null
+ first_name: string | null
+ last_name: string | null
+ }
+
+ export type EmployeesCountAggregateOutputType = {
+ emp_no: number
+ first_name: number
+ last_name: number
+ _all: number
+ }
+
+
+ export type EmployeesAvgAggregateInputType = {
+ emp_no?: true
+ }
+
+ export type EmployeesSumAggregateInputType = {
+ emp_no?: true
+ }
+
+ export type EmployeesMinAggregateInputType = {
+ emp_no?: true
+ first_name?: true
+ last_name?: true
+ }
+
+ export type EmployeesMaxAggregateInputType = {
+ emp_no?: true
+ first_name?: true
+ last_name?: true
+ }
+
+ export type EmployeesCountAggregateInputType = {
+ emp_no?: true
+ first_name?: true
+ last_name?: true
+ _all?: true
+ }
+
+ export type EmployeesAggregateArgs = {
+ /**
+ * Filter which employees to aggregate.
+ */
+ where?: employeesWhereInput
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
+ *
+ * Determine the order of employees to fetch.
+ */
+ orderBy?: employeesOrderByWithRelationInput | employeesOrderByWithRelationInput[]
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
+ *
+ * Sets the start position
+ */
+ cursor?: employeesWhereUniqueInput
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
+ *
+ * Take `±n` employees from the position of the cursor.
+ */
+ take?: number
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
+ *
+ * Skip the first `n` employees.
+ */
+ skip?: number
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
+ *
+ * Count returned employees
+ **/
+ _count?: true | EmployeesCountAggregateInputType
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
+ *
+ * Select which fields to average
+ **/
+ _avg?: EmployeesAvgAggregateInputType
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
+ *
+ * Select which fields to sum
+ **/
+ _sum?: EmployeesSumAggregateInputType
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
+ *
+ * Select which fields to find the minimum value
+ **/
+ _min?: EmployeesMinAggregateInputType
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
+ *
+ * Select which fields to find the maximum value
+ **/
+ _max?: EmployeesMaxAggregateInputType
+ }
+
+ export type GetEmployeesAggregateType = {
+ [P in keyof T & keyof AggregateEmployees]: P extends '_count' | 'count'
+ ? T[P] extends true
+ ? number
+ : GetScalarType
+ : GetScalarType
+ }
+
+
+
+
+ export type employeesGroupByArgs = {
+ where?: employeesWhereInput
+ orderBy?: employeesOrderByWithAggregationInput | employeesOrderByWithAggregationInput[]
+ by: EmployeesScalarFieldEnum[] | EmployeesScalarFieldEnum
+ having?: employeesScalarWhereWithAggregatesInput
+ take?: number
+ skip?: number
+ _count?: EmployeesCountAggregateInputType | true
+ _avg?: EmployeesAvgAggregateInputType
+ _sum?: EmployeesSumAggregateInputType
+ _min?: EmployeesMinAggregateInputType
+ _max?: EmployeesMaxAggregateInputType
+ }
+
+ export type EmployeesGroupByOutputType = {
+ emp_no: number
+ first_name: string
+ last_name: string
+ _count: EmployeesCountAggregateOutputType | null
+ _avg: EmployeesAvgAggregateOutputType | null
+ _sum: EmployeesSumAggregateOutputType | null
+ _min: EmployeesMinAggregateOutputType | null
+ _max: EmployeesMaxAggregateOutputType | null
+ }
+
+ type GetEmployeesGroupByPayload = Prisma.PrismaPromise<
+ Array<
+ PickEnumerable &
+ {
+ [P in ((keyof T) & (keyof EmployeesGroupByOutputType))]: P extends '_count'
+ ? T[P] extends boolean
+ ? number
+ : GetScalarType
+ : GetScalarType
+ }
+ >
+ >
+
+
+ export type employeesSelect = $Extensions.GetSelect<{
+ emp_no?: boolean
+ first_name?: boolean
+ last_name?: boolean
+ }, ExtArgs["result"]["employees"]>
+
+ export type employeesSelectScalar = {
+ emp_no?: boolean
+ first_name?: boolean
+ last_name?: boolean
+ }
+
+
+
+ export type $employeesPayload = {
+ name: "employees"
+ objects: {}
+ scalars: $Extensions.GetPayloadResult<{
+ emp_no: number
+ first_name: string
+ last_name: string
+ }, ExtArgs["result"]["employees"]>
+ composites: {}
+ }
+
+
+ type employeesGetPayload = $Result.GetResult
+
+ type employeesCountArgs =
+ Omit & {
+ select?: EmployeesCountAggregateInputType | true
+ }
+
+ export interface employeesDelegate {
+ [K: symbol]: { types: Prisma.TypeMap['model']['employees'], meta: { name: 'employees' } }
+ /**
+ * Find zero or one Employees that matches the filter.
+ * @param {employeesFindUniqueArgs} args - Arguments to find a Employees
+ * @example
+ * // Get one Employees
+ * const employees = await prisma.employees.findUnique({
+ * where: {
+ * // ... provide filter here
+ * }
+ * })
+ **/
+ findUnique>(
+ args: SelectSubset>
+ ): Prisma__employeesClient<$Result.GetResult, T, 'findUnique'> | null, null, ExtArgs>
+
+ /**
+ * Find one Employees that matches the filter or throw an error with `error.code='P2025'`
+ * if no matches were found.
+ * @param {employeesFindUniqueOrThrowArgs} args - Arguments to find a Employees
+ * @example
+ * // Get one Employees
+ * const employees = await prisma.employees.findUniqueOrThrow({
+ * where: {
+ * // ... provide filter here
+ * }
+ * })
+ **/
+ findUniqueOrThrow>(
+ args?: SelectSubset>
+ ): Prisma__employeesClient<$Result.GetResult, T, 'findUniqueOrThrow'>, never, ExtArgs>
+
+ /**
+ * Find the first Employees that matches the filter.
+ * Note, that providing `undefined` is treated as the value not being there.
+ * Read more here: https://pris.ly/d/null-undefined
+ * @param {employeesFindFirstArgs} args - Arguments to find a Employees
+ * @example
+ * // Get one Employees
+ * const employees = await prisma.employees.findFirst({
+ * where: {
+ * // ... provide filter here
+ * }
+ * })
+ **/
+ findFirst>(
+ args?: SelectSubset>
+ ): Prisma__employeesClient<$Result.GetResult, T, 'findFirst'> | null, null, ExtArgs>
+
+ /**
+ * Find the first Employees that matches the filter or
+ * throw `PrismaKnownClientError` with `P2025` code if no matches were found.
+ * Note, that providing `undefined` is treated as the value not being there.
+ * Read more here: https://pris.ly/d/null-undefined
+ * @param {employeesFindFirstOrThrowArgs} args - Arguments to find a Employees
+ * @example
+ * // Get one Employees
+ * const employees = await prisma.employees.findFirstOrThrow({
+ * where: {
+ * // ... provide filter here
+ * }
+ * })
+ **/
+ findFirstOrThrow>(
+ args?: SelectSubset>
+ ): Prisma__employeesClient<$Result.GetResult, T, 'findFirstOrThrow'>, never, ExtArgs>
+
+ /**
+ * Find zero or more Employees that matches the filter.
+ * Note, that providing `undefined` is treated as the value not being there.
+ * Read more here: https://pris.ly/d/null-undefined
+ * @param {employeesFindManyArgs=} args - Arguments to filter and select certain fields only.
+ * @example
+ * // Get all Employees
+ * const employees = await prisma.employees.findMany()
+ *
+ * // Get first 10 Employees
+ * const employees = await prisma.employees.findMany({ take: 10 })
+ *
+ * // Only select the `emp_no`
+ * const employeesWithEmp_noOnly = await prisma.employees.findMany({ select: { emp_no: true } })
+ *
+ **/
+ findMany>(
+ args?: SelectSubset>
+ ): Prisma.PrismaPromise<$Result.GetResult, T, 'findMany'>>
+
+ /**
+ * Create a Employees.
+ * @param {employeesCreateArgs} args - Arguments to create a Employees.
+ * @example
+ * // Create one Employees
+ * const Employees = await prisma.employees.create({
+ * data: {
+ * // ... data to create a Employees
+ * }
+ * })
+ *
+ **/
+ create>(
+ args: SelectSubset>
+ ): Prisma__employeesClient<$Result.GetResult, T, 'create'>, never, ExtArgs>
+
+ /**
+ * Create many Employees.
+ * @param {employeesCreateManyArgs} args - Arguments to create many Employees.
+ * @example
+ * // Create many Employees
+ * const employees = await prisma.employees.createMany({
+ * data: {
+ * // ... provide data here
+ * }
+ * })
+ *
+ **/
+ createMany>(
+ args?: SelectSubset>
+ ): Prisma.PrismaPromise
+
+ /**
+ * Delete a Employees.
+ * @param {employeesDeleteArgs} args - Arguments to delete one Employees.
+ * @example
+ * // Delete one Employees
+ * const Employees = await prisma.employees.delete({
+ * where: {
+ * // ... filter to delete one Employees
+ * }
+ * })
+ *
+ **/
+ delete>(
+ args: SelectSubset>
+ ): Prisma__employeesClient<$Result.GetResult, T, 'delete'>, never, ExtArgs>
+
+ /**
+ * Update one Employees.
+ * @param {employeesUpdateArgs} args - Arguments to update one Employees.
+ * @example
+ * // Update one Employees
+ * const employees = await prisma.employees.update({
+ * where: {
+ * // ... provide filter here
+ * },
+ * data: {
+ * // ... provide data here
+ * }
+ * })
+ *
+ **/
+ update>(
+ args: SelectSubset>
+ ): Prisma__employeesClient<$Result.GetResult, T, 'update'>, never, ExtArgs>
+
+ /**
+ * Delete zero or more Employees.
+ * @param {employeesDeleteManyArgs} args - Arguments to filter Employees to delete.
+ * @example
+ * // Delete a few Employees
+ * const { count } = await prisma.employees.deleteMany({
+ * where: {
+ * // ... provide filter here
+ * }
+ * })
+ *
+ **/
+ deleteMany>(
+ args?: SelectSubset>
+ ): Prisma.PrismaPromise
+
+ /**
+ * Update zero or more Employees.
+ * Note, that providing `undefined` is treated as the value not being there.
+ * Read more here: https://pris.ly/d/null-undefined
+ * @param {employeesUpdateManyArgs} args - Arguments to update one or more rows.
+ * @example
+ * // Update many Employees
+ * const employees = await prisma.employees.updateMany({
+ * where: {
+ * // ... provide filter here
+ * },
+ * data: {
+ * // ... provide data here
+ * }
+ * })
+ *
+ **/
+ updateMany>(
+ args: SelectSubset>
+ ): Prisma.PrismaPromise
+
+ /**
+ * Create or update one Employees.
+ * @param {employeesUpsertArgs} args - Arguments to update or create a Employees.
+ * @example
+ * // Update or create a Employees
+ * const employees = await prisma.employees.upsert({
+ * create: {
+ * // ... data to create a Employees
+ * },
+ * update: {
+ * // ... in case it already exists, update
+ * },
+ * where: {
+ * // ... the filter for the Employees we want to update
+ * }
+ * })
+ **/
+ upsert>(
+ args: SelectSubset>
+ ): Prisma__employeesClient<$Result.GetResult, T, 'upsert'>, never, ExtArgs>
+
+ /**
+ * Count the number of Employees.
+ * Note, that providing `undefined` is treated as the value not being there.
+ * Read more here: https://pris.ly/d/null-undefined
+ * @param {employeesCountArgs} args - Arguments to filter Employees to count.
+ * @example
+ * // Count the number of Employees
+ * const count = await prisma.employees.count({
+ * where: {
+ * // ... the filter for the Employees we want to count
+ * }
+ * })
+ **/
+ count(
+ args?: Subset,
+ ): Prisma.PrismaPromise<
+ T extends $Utils.Record<'select', any>
+ ? T['select'] extends true
+ ? number
+ : GetScalarType
+ : number
+ >
+
+ /**
+ * Allows you to perform aggregations operations on a Employees.
+ * Note, that providing `undefined` is treated as the value not being there.
+ * Read more here: https://pris.ly/d/null-undefined
+ * @param {EmployeesAggregateArgs} args - Select which aggregations you would like to apply and on what fields.
+ * @example
+ * // Ordered by age ascending
+ * // Where email contains prisma.io
+ * // Limited to the 10 users
+ * const aggregations = await prisma.user.aggregate({
+ * _avg: {
+ * age: true,
+ * },
+ * where: {
+ * email: {
+ * contains: "prisma.io",
+ * },
+ * },
+ * orderBy: {
+ * age: "asc",
+ * },
+ * take: 10,
+ * })
+ **/
+ aggregate(args: Subset): Prisma.PrismaPromise>
+
+ /**
+ * Group by Employees.
+ * Note, that providing `undefined` is treated as the value not being there.
+ * Read more here: https://pris.ly/d/null-undefined
+ * @param {employeesGroupByArgs} args - Group by arguments.
+ * @example
+ * // Group by city, order by createdAt, get count
+ * const result = await prisma.user.groupBy({
+ * by: ['city', 'createdAt'],
+ * orderBy: {
+ * createdAt: true
+ * },
+ * _count: {
+ * _all: true
+ * },
+ * })
+ *
+ **/
+ groupBy<
+ T extends employeesGroupByArgs,
+ HasSelectOrTake extends Or<
+ Extends<'skip', Keys>,
+ Extends<'take', Keys>
+ >,
+ OrderByArg extends True extends HasSelectOrTake
+ ? { orderBy: employeesGroupByArgs['orderBy'] }
+ : { orderBy?: employeesGroupByArgs['orderBy'] },
+ OrderFields extends ExcludeUnderscoreKeys>>,
+ ByFields extends MaybeTupleToUnion,
+ ByValid extends Has,
+ HavingFields extends GetHavingFields,
+ HavingValid extends Has,
+ ByEmpty extends T['by'] extends never[] ? True : False,
+ InputErrors extends ByEmpty extends True
+ ? `Error: "by" must not be empty.`
+ : HavingValid extends False
+ ? {
+ [P in HavingFields]: P extends ByFields
+ ? never
+ : P extends string
+ ? `Error: Field "${P}" used in "having" needs to be provided in "by".`
+ : [
+ Error,
+ 'Field ',
+ P,
+ ` in "having" needs to be provided in "by"`,
+ ]
+ }[HavingFields]
+ : 'take' extends Keys
+ ? 'orderBy' extends Keys
+ ? ByValid extends True
+ ? {}
+ : {
+ [P in OrderFields]: P extends ByFields
+ ? never
+ : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
+ }[OrderFields]
+ : 'Error: If you provide "take", you also need to provide "orderBy"'
+ : 'skip' extends Keys
+ ? 'orderBy' extends Keys
+ ? ByValid extends True
+ ? {}
+ : {
+ [P in OrderFields]: P extends ByFields
+ ? never
+ : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
+ }[OrderFields]
+ : 'Error: If you provide "skip", you also need to provide "orderBy"'
+ : ByValid extends True
+ ? {}
+ : {
+ [P in OrderFields]: P extends ByFields
+ ? never
+ : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
+ }[OrderFields]
+ >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetEmployeesGroupByPayload : Prisma.PrismaPromise
+ /**
+ * Fields of the employees model
+ */
+ readonly fields: employeesFieldRefs;
+ }
+
+ /**
+ * The delegate class that acts as a "Promise-like" for employees.
+ * Why is this prefixed with `Prisma__`?
+ * Because we want to prevent naming conflicts as mentioned in
+ * https://github.com/prisma/prisma-client-js/issues/707
+ */
+ export interface Prisma__employeesClient extends Prisma.PrismaPromise {
+ readonly [Symbol.toStringTag]: 'PrismaPromise';
+
+
+ /**
+ * Attaches callbacks for the resolution and/or rejection of the Promise.
+ * @param onfulfilled The callback to execute when the Promise is resolved.
+ * @param onrejected The callback to execute when the Promise is rejected.
+ * @returns A Promise for the completion of which ever callback is executed.
+ */
+ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise;
+ /**
+ * Attaches a callback for only the rejection of the Promise.
+ * @param onrejected The callback to execute when the Promise is rejected.
+ * @returns A Promise for the completion of the callback.
+ */
+ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise;
+ /**
+ * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The
+ * resolved value cannot be modified from the callback.
+ * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected).
+ * @returns A Promise for the completion of the callback.
+ */
+ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise;
+ }
+
+
+
+ /**
+ * Fields of the employees model
+ */
+ interface employeesFieldRefs {
+ readonly emp_no: FieldRef<"employees", 'Int'>
+ readonly first_name: FieldRef<"employees", 'String'>
+ readonly last_name: FieldRef<"employees", 'String'>
+ }
+
+
+ // Custom InputTypes
+ /**
+ * employees findUnique
+ */
+ export type employeesFindUniqueArgs = {
+ /**
+ * Select specific fields to fetch from the employees
+ */
+ select?: employeesSelect | null
+ /**
+ * Filter, which employees to fetch.
+ */
+ where: employeesWhereUniqueInput
+ }
+
+ /**
+ * employees findUniqueOrThrow
+ */
+ export type employeesFindUniqueOrThrowArgs = {
+ /**
+ * Select specific fields to fetch from the employees
+ */
+ select?: employeesSelect | null
+ /**
+ * Filter, which employees to fetch.
+ */
+ where: employeesWhereUniqueInput
+ }
+
+ /**
+ * employees findFirst
+ */
+ export type employeesFindFirstArgs = {
+ /**
+ * Select specific fields to fetch from the employees
+ */
+ select?: employeesSelect | null
+ /**
+ * Filter, which employees to fetch.
+ */
+ where?: employeesWhereInput
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
+ *
+ * Determine the order of employees to fetch.
+ */
+ orderBy?: employeesOrderByWithRelationInput | employeesOrderByWithRelationInput[]
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
+ *
+ * Sets the position for searching for employees.
+ */
+ cursor?: employeesWhereUniqueInput
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
+ *
+ * Take `±n` employees from the position of the cursor.
+ */
+ take?: number
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
+ *
+ * Skip the first `n` employees.
+ */
+ skip?: number
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
+ *
+ * Filter by unique combinations of employees.
+ */
+ distinct?: EmployeesScalarFieldEnum | EmployeesScalarFieldEnum[]
+ }
+
+ /**
+ * employees findFirstOrThrow
+ */
+ export type employeesFindFirstOrThrowArgs = {
+ /**
+ * Select specific fields to fetch from the employees
+ */
+ select?: employeesSelect | null
+ /**
+ * Filter, which employees to fetch.
+ */
+ where?: employeesWhereInput
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
+ *
+ * Determine the order of employees to fetch.
+ */
+ orderBy?: employeesOrderByWithRelationInput | employeesOrderByWithRelationInput[]
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
+ *
+ * Sets the position for searching for employees.
+ */
+ cursor?: employeesWhereUniqueInput
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
+ *
+ * Take `±n` employees from the position of the cursor.
+ */
+ take?: number
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
+ *
+ * Skip the first `n` employees.
+ */
+ skip?: number
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
+ *
+ * Filter by unique combinations of employees.
+ */
+ distinct?: EmployeesScalarFieldEnum | EmployeesScalarFieldEnum[]
+ }
+
+ /**
+ * employees findMany
+ */
+ export type employeesFindManyArgs = {
+ /**
+ * Select specific fields to fetch from the employees
+ */
+ select?: employeesSelect | null
+ /**
+ * Filter, which employees to fetch.
+ */
+ where?: employeesWhereInput
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
+ *
+ * Determine the order of employees to fetch.
+ */
+ orderBy?: employeesOrderByWithRelationInput | employeesOrderByWithRelationInput[]
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
+ *
+ * Sets the position for listing employees.
+ */
+ cursor?: employeesWhereUniqueInput
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
+ *
+ * Take `±n` employees from the position of the cursor.
+ */
+ take?: number
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
+ *
+ * Skip the first `n` employees.
+ */
+ skip?: number
+ distinct?: EmployeesScalarFieldEnum | EmployeesScalarFieldEnum[]
+ }
+
+ /**
+ * employees create
+ */
+ export type employeesCreateArgs