
/* !!! This is code generated by Prisma. Do not edit directly. !!! */
/* eslint-disable */
// biome-ignore-all lint: generated file
// @ts-nocheck 
/*
 * WARNING: This is an internal file that is subject to change!
 *
 * 🛑 Under no circumstances should you import this file directly! 🛑
 *
 * All exports from this file are wrapped under a `Prisma` namespace object in the client.ts file.
 * While this enables partial backward compatibility, it is not part of the stable public API.
 *
 * If you are looking for your Models, Enums, and Input Types, please import them from the respective
 * model files in the `model` directory!
 */

import * as runtime from "@prisma/client/runtime/client"
import type * as Prisma from "../models.ts"
import { type PrismaClient } from "./class.ts"

export type * from '../models.ts'

export type DMMF = typeof runtime.DMMF

export type PrismaPromise<T> = runtime.Types.Public.PrismaPromise<T>

/**
 * Prisma Errors
 */

export const PrismaClientKnownRequestError = runtime.PrismaClientKnownRequestError
export type PrismaClientKnownRequestError = runtime.PrismaClientKnownRequestError

export const PrismaClientUnknownRequestError = runtime.PrismaClientUnknownRequestError
export type PrismaClientUnknownRequestError = runtime.PrismaClientUnknownRequestError

export const PrismaClientRustPanicError = runtime.PrismaClientRustPanicError
export type PrismaClientRustPanicError = runtime.PrismaClientRustPanicError

export const PrismaClientInitializationError = runtime.PrismaClientInitializationError
export type PrismaClientInitializationError = runtime.PrismaClientInitializationError

export const PrismaClientValidationError = runtime.PrismaClientValidationError
export type PrismaClientValidationError = runtime.PrismaClientValidationError

/**
 * Re-export of sql-template-tag
 */
export const sql = runtime.sqltag
export const empty = runtime.empty
export const join = runtime.join
export const raw = runtime.raw
export const Sql = runtime.Sql
export type Sql = runtime.Sql



/**
 * Decimal.js
 */
export const Decimal = runtime.Decimal
export type Decimal = runtime.Decimal

export type DecimalJsLike = runtime.DecimalJsLike

/**
* Extensions
*/
export type Extension = runtime.Types.Extensions.UserArgs
export const getExtensionContext = runtime.Extensions.getExtensionContext
export type Args<T, F extends runtime.Operation> = runtime.Types.Public.Args<T, F>
export type Payload<T, F extends runtime.Operation = never> = runtime.Types.Public.Payload<T, F>
export type Result<T, A, F extends runtime.Operation> = runtime.Types.Public.Result<T, A, F>
export type Exact<A, W> = runtime.Types.Public.Exact<A, W>

export type PrismaVersion = {
  client: string
  engine: string
}

/**
 * Prisma Client JS version: 7.5.0
 * Query Engine version: 280c870be64f457428992c43c1f6d557fab6e29e
 */
export const prismaVersion: PrismaVersion = {
  client: "7.5.0",
  engine: "280c870be64f457428992c43c1f6d557fab6e29e"
}

/**
 * Utility Types
 */

export type Bytes = runtime.Bytes
export type JsonObject = runtime.JsonObject
export type JsonArray = runtime.JsonArray
export type JsonValue = runtime.JsonValue
export type InputJsonObject = runtime.InputJsonObject
export type InputJsonArray = runtime.InputJsonArray
export type InputJsonValue = runtime.InputJsonValue


export const NullTypes = {
  DbNull: runtime.NullTypes.DbNull as (new (secret: never) => typeof runtime.DbNull),
  JsonNull: runtime.NullTypes.JsonNull as (new (secret: never) => typeof runtime.JsonNull),
  AnyNull: runtime.NullTypes.AnyNull as (new (secret: never) => typeof runtime.AnyNull),
}
/**
 * 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 = runtime.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 = runtime.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 = runtime.AnyNull


type SelectAndInclude = {
  select: any
  include: any
}

type SelectAndOmit = {
  select: any
  omit: any
}

/**
 * From T, pick a set of properties whose keys are in the union K
 */
type Prisma__Pick<T, K extends keyof T> = {
    [P in K]: T[P];
};

export type Enumerable<T> = T | Array<T>;

/**
 * Subset
 * @desc From `T` pick properties that exist in `U`. Simple version of Intersection
 */
export type Subset<T, U> = {
  [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<T, U> = {
  [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<T, U, K> = {
  [key in keyof T]: key extends keyof U ? T[key] : never
} &
  K

type Without<T, U> = { [P in Exclude<keyof T, keyof U>]?: never };

/**
 * XOR is needed to have a real mutually exclusive union type
 * https://stackoverflow.com/questions/42123407/does-typescript-support-mutually-exclusive-types
 */
export type XOR<T, U> =
  T extends object ?
  U extends object ?
    (Without<T, U> & U) | (Without<U, T> & T)
  : U : T


/**
 * Is T a Record?
 */
type IsObject<T extends any> = T extends Array<any>
? 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 unknown> = T extends Array<infer U> ? U : T

/**
 * From ts-toolbelt
 */

type __Either<O extends object, K extends Key> = Omit<O, K> &
  {
    // Merge all but K
    [P in K]: Prisma__Pick<O, P & keyof O> // With K possibilities
  }[K]

type EitherStrict<O extends object, K extends Key> = Strict<__Either<O, K>>

type EitherLoose<O extends object, K extends Key> = ComputeRaw<__Either<O, K>>

type _Either<
  O extends object,
  K extends Key,
  strict extends Boolean
> = {
  1: EitherStrict<O, K>
  0: EitherLoose<O, K>
}[strict]

export type Either<
  O extends object,
  K extends Key,
  strict extends Boolean = 1
> = O extends unknown ? _Either<O, K, strict> : never

export type Union = any

export type PatchUndefined<O extends object, O1 extends object> = {
  [K in keyof O]: O[K] extends undefined ? At<O1, K> : O[K]
} & {}

/** Helper Types for "Merge" **/
export type IntersectOf<U extends Union> = (
  U extends unknown ? (k: U) => void : never
) extends (k: infer I) => void
  ? I
  : never

export type Overwrite<O extends object, O1 extends object> = {
    [K in keyof O]: K extends keyof O1 ? O1[K] : O[K];
} & {};

type _Merge<U extends object> = IntersectOf<Overwrite<U, {
    [K in keyof U]-?: At<U, K>;
}>>;

type Key = string | number | symbol;
type AtStrict<O extends object, K extends Key> = O[K & keyof O];
type AtLoose<O extends object, K extends Key> = O extends unknown ? AtStrict<O, K> : never;
export type At<O extends object, K extends Key, strict extends Boolean = 1> = {
    1: AtStrict<O, K>;
    0: AtLoose<O, K>;
}[strict];

export type ComputeRaw<A extends any> = A extends Function ? A : {
  [K in keyof A]: A[K];
} & {};

export type OptionalFlat<O> = {
  [K in keyof O]?: O[K];
} & {};

type _Record<K extends keyof any, T> = {
  [P in K]: T;
};

// cause typescript not to expand types and preserve names
type NoExpand<T> = T extends unknown ? T : never;

// this type assumes the passed object is entirely optional
export type AtLeast<O extends object, K extends string> = NoExpand<
  O extends unknown
  ? | (K extends keyof O ? { [P in K]: O[P] } & O : O)
    | {[P in keyof O as P extends K ? P : never]-?: O[P]} & O
  : never>;

type _Strict<U, _U = U> = U extends unknown ? U & OptionalFlat<_Record<Exclude<Keys<_U>, keyof U>, never>> : never;

export type Strict<U extends object> = ComputeRaw<_Strict<U>>;
/** End Helper Types for "Merge" **/

export type Merge<U extends object> = ComputeRaw<_Merge<Strict<U>>>;

export type Boolean = True | False

export type True = 1

export type False = 0

export type Not<B extends Boolean> = {
  0: 1
  1: 0
}[B]

export type Extends<A1 extends any, A2 extends any> = [A1] extends [never]
  ? 0 // anything `never` is false
  : A1 extends A2
  ? 1
  : 0

export type Has<U extends Union, U1 extends Union> = Not<
  Extends<Exclude<U1, U>, U1>
>

export type Or<B1 extends Boolean, B2 extends Boolean> = {
  0: {
    0: 0
    1: 1
  }
  1: {
    0: 1
    1: 1
  }
}[B1][B2]

export type Keys<U extends Union> = U extends unknown ? keyof U : never

export type GetScalarType<T, O> = O extends object ? {
  [P in keyof T]: P extends keyof O
    ? O[P]
    : never
} : never

type FieldPaths<
  T,
  U = Omit<T, '_avg' | '_sum' | '_count' | '_min' | '_max'>
> = IsObject<T> extends True ? U : T

export type GetHavingFields<T> = {
  [K in keyof T]: Or<
    Or<Extends<'OR', K>, 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<UnEnumerate<TK> extends object ? Merge<UnEnumerate<TK>> : never>
      : never
    : {} extends FieldPaths<T[K]>
    ? never
    : K
}[keyof T]

/**
 * Convert tuple to union
 */
type _TupleToUnion<T> = T extends (infer E)[] ? E : never
type TupleToUnion<K extends readonly any[]> = _TupleToUnion<K>
export type MaybeTupleToUnion<T> = T extends any[] ? TupleToUnion<T> : T

/**
 * Like `Pick`, but additionally can also accept an array of keys
 */
export type PickEnumerable<T, K extends Enumerable<keyof T> | keyof T> = Prisma__Pick<T, MaybeTupleToUnion<K>>

/**
 * Exclude all keys with underscores
 */
export type ExcludeUnderscoreKeys<T extends string> = T extends `_${string}` ? never : T


export type FieldRef<Model, FieldType> = runtime.FieldRef<Model, FieldType>

type FieldRefInputType<Model, FieldType> = Model extends never ? never : FieldRef<Model, FieldType>


export const ModelName = {
  SyncJobRun: 'SyncJobRun',
  SyncStepLog: 'SyncStepLog',
  Session: 'Session',
  User: 'User',
  Role: 'Role',
  CorporateLocation: 'CorporateLocation',
  InternalDepartment: 'InternalDepartment',
  UnifiSite: 'UnifiSite',
  Company: 'Company',
  CompanyAddress: 'CompanyAddress',
  Contact: 'Contact',
  CatalogItemType: 'CatalogItemType',
  CatalogCategory: 'CatalogCategory',
  CatalogSubcategory: 'CatalogSubcategory',
  CatalogManufacturer: 'CatalogManufacturer',
  WarehouseBin: 'WarehouseBin',
  ProductInventory: 'ProductInventory',
  Warehouse: 'Warehouse',
  MinimumStockByWarehouse: 'MinimumStockByWarehouse',
  CatalogItem: 'CatalogItem',
  ProductData: 'ProductData',
  ServiceTicket: 'ServiceTicket',
  ServiceTicketNote: 'ServiceTicketNote',
  ServiceTicketType: 'ServiceTicketType',
  ServiceTicketBoard: 'ServiceTicketBoard',
  ServiceTicketLocation: 'ServiceTicketLocation',
  ServiceTicketSource: 'ServiceTicketSource',
  ServiceTicketImpact: 'ServiceTicketImpact',
  ServiceTicketPriority: 'ServiceTicketPriority',
  ServiceTicketSeverity: 'ServiceTicketSeverity',
  ServiceTicketFinalData: 'ServiceTicketFinalData',
  OpportunityStage: 'OpportunityStage',
  OpportunityType: 'OpportunityType',
  OpportunityStatus: 'OpportunityStatus',
  Opportunity: 'Opportunity',
  ScheduleStatus: 'ScheduleStatus',
  ScheduleType: 'ScheduleType',
  ScheduleSpan: 'ScheduleSpan',
  Schedule: 'Schedule',
  Activity: 'Activity',
  ActivityNotes: 'ActivityNotes',
  ActivityType: 'ActivityType',
  ActivityStatus: 'ActivityStatus',
  TimeEntry: 'TimeEntry',
  TimeEntryStatus: 'TimeEntryStatus',
  TimeEntryChargeCode: 'TimeEntryChargeCode',
  TimeActivityClass: 'TimeActivityClass',
  TimeActivityType: 'TimeActivityType',
  CredentialType: 'CredentialType',
  SecureValue: 'SecureValue',
  Credential: 'Credential',
  GeneratedQuotes: 'GeneratedQuotes',
  TaxCode: 'TaxCode',
  CwMember: 'CwMember',
  CwMemberType: 'CwMemberType'
} as const

export type ModelName = (typeof ModelName)[keyof typeof ModelName]



export interface TypeMapCb<GlobalOmitOptions = {}> extends runtime.Types.Utils.Fn<{extArgs: runtime.Types.Extensions.InternalArgs }, runtime.Types.Utils.Record<string, any>> {
  returns: TypeMap<this['params']['extArgs'], GlobalOmitOptions>
}

export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> = {
  globalOmitOptions: {
    omit: GlobalOmitOptions
  }
  meta: {
    modelProps: "syncJobRun" | "syncStepLog" | "session" | "user" | "role" | "corporateLocation" | "internalDepartment" | "unifiSite" | "company" | "companyAddress" | "contact" | "catalogItemType" | "catalogCategory" | "catalogSubcategory" | "catalogManufacturer" | "warehouseBin" | "productInventory" | "warehouse" | "minimumStockByWarehouse" | "catalogItem" | "productData" | "serviceTicket" | "serviceTicketNote" | "serviceTicketType" | "serviceTicketBoard" | "serviceTicketLocation" | "serviceTicketSource" | "serviceTicketImpact" | "serviceTicketPriority" | "serviceTicketSeverity" | "serviceTicketFinalData" | "opportunityStage" | "opportunityType" | "opportunityStatus" | "opportunity" | "scheduleStatus" | "scheduleType" | "scheduleSpan" | "schedule" | "activity" | "activityNotes" | "activityType" | "activityStatus" | "timeEntry" | "timeEntryStatus" | "timeEntryChargeCode" | "timeActivityClass" | "timeActivityType" | "credentialType" | "secureValue" | "credential" | "generatedQuotes" | "taxCode" | "cwMember" | "cwMemberType"
    txIsolationLevel: TransactionIsolationLevel
  }
  model: {
    SyncJobRun: {
      payload: Prisma.$SyncJobRunPayload<ExtArgs>
      fields: Prisma.SyncJobRunFieldRefs
      operations: {
        findUnique: {
          args: Prisma.SyncJobRunFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SyncJobRunPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.SyncJobRunFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SyncJobRunPayload>
        }
        findFirst: {
          args: Prisma.SyncJobRunFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SyncJobRunPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.SyncJobRunFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SyncJobRunPayload>
        }
        findMany: {
          args: Prisma.SyncJobRunFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SyncJobRunPayload>[]
        }
        create: {
          args: Prisma.SyncJobRunCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SyncJobRunPayload>
        }
        createMany: {
          args: Prisma.SyncJobRunCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.SyncJobRunCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SyncJobRunPayload>[]
        }
        delete: {
          args: Prisma.SyncJobRunDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SyncJobRunPayload>
        }
        update: {
          args: Prisma.SyncJobRunUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SyncJobRunPayload>
        }
        deleteMany: {
          args: Prisma.SyncJobRunDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.SyncJobRunUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.SyncJobRunUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SyncJobRunPayload>[]
        }
        upsert: {
          args: Prisma.SyncJobRunUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SyncJobRunPayload>
        }
        aggregate: {
          args: Prisma.SyncJobRunAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateSyncJobRun>
        }
        groupBy: {
          args: Prisma.SyncJobRunGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.SyncJobRunGroupByOutputType>[]
        }
        count: {
          args: Prisma.SyncJobRunCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.SyncJobRunCountAggregateOutputType> | number
        }
      }
    }
    SyncStepLog: {
      payload: Prisma.$SyncStepLogPayload<ExtArgs>
      fields: Prisma.SyncStepLogFieldRefs
      operations: {
        findUnique: {
          args: Prisma.SyncStepLogFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SyncStepLogPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.SyncStepLogFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SyncStepLogPayload>
        }
        findFirst: {
          args: Prisma.SyncStepLogFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SyncStepLogPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.SyncStepLogFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SyncStepLogPayload>
        }
        findMany: {
          args: Prisma.SyncStepLogFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SyncStepLogPayload>[]
        }
        create: {
          args: Prisma.SyncStepLogCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SyncStepLogPayload>
        }
        createMany: {
          args: Prisma.SyncStepLogCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.SyncStepLogCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SyncStepLogPayload>[]
        }
        delete: {
          args: Prisma.SyncStepLogDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SyncStepLogPayload>
        }
        update: {
          args: Prisma.SyncStepLogUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SyncStepLogPayload>
        }
        deleteMany: {
          args: Prisma.SyncStepLogDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.SyncStepLogUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.SyncStepLogUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SyncStepLogPayload>[]
        }
        upsert: {
          args: Prisma.SyncStepLogUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SyncStepLogPayload>
        }
        aggregate: {
          args: Prisma.SyncStepLogAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateSyncStepLog>
        }
        groupBy: {
          args: Prisma.SyncStepLogGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.SyncStepLogGroupByOutputType>[]
        }
        count: {
          args: Prisma.SyncStepLogCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.SyncStepLogCountAggregateOutputType> | number
        }
      }
    }
    Session: {
      payload: Prisma.$SessionPayload<ExtArgs>
      fields: Prisma.SessionFieldRefs
      operations: {
        findUnique: {
          args: Prisma.SessionFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SessionPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.SessionFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SessionPayload>
        }
        findFirst: {
          args: Prisma.SessionFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SessionPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.SessionFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SessionPayload>
        }
        findMany: {
          args: Prisma.SessionFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SessionPayload>[]
        }
        create: {
          args: Prisma.SessionCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SessionPayload>
        }
        createMany: {
          args: Prisma.SessionCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.SessionCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SessionPayload>[]
        }
        delete: {
          args: Prisma.SessionDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SessionPayload>
        }
        update: {
          args: Prisma.SessionUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SessionPayload>
        }
        deleteMany: {
          args: Prisma.SessionDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.SessionUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.SessionUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SessionPayload>[]
        }
        upsert: {
          args: Prisma.SessionUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SessionPayload>
        }
        aggregate: {
          args: Prisma.SessionAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateSession>
        }
        groupBy: {
          args: Prisma.SessionGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.SessionGroupByOutputType>[]
        }
        count: {
          args: Prisma.SessionCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.SessionCountAggregateOutputType> | number
        }
      }
    }
    User: {
      payload: Prisma.$UserPayload<ExtArgs>
      fields: Prisma.UserFieldRefs
      operations: {
        findUnique: {
          args: Prisma.UserFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.UserFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>
        }
        findFirst: {
          args: Prisma.UserFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.UserFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>
        }
        findMany: {
          args: Prisma.UserFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>[]
        }
        create: {
          args: Prisma.UserCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>
        }
        createMany: {
          args: Prisma.UserCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.UserCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>[]
        }
        delete: {
          args: Prisma.UserDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>
        }
        update: {
          args: Prisma.UserUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>
        }
        deleteMany: {
          args: Prisma.UserDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.UserUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.UserUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>[]
        }
        upsert: {
          args: Prisma.UserUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>
        }
        aggregate: {
          args: Prisma.UserAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateUser>
        }
        groupBy: {
          args: Prisma.UserGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.UserGroupByOutputType>[]
        }
        count: {
          args: Prisma.UserCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.UserCountAggregateOutputType> | number
        }
      }
    }
    Role: {
      payload: Prisma.$RolePayload<ExtArgs>
      fields: Prisma.RoleFieldRefs
      operations: {
        findUnique: {
          args: Prisma.RoleFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$RolePayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.RoleFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$RolePayload>
        }
        findFirst: {
          args: Prisma.RoleFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$RolePayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.RoleFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$RolePayload>
        }
        findMany: {
          args: Prisma.RoleFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$RolePayload>[]
        }
        create: {
          args: Prisma.RoleCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$RolePayload>
        }
        createMany: {
          args: Prisma.RoleCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.RoleCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$RolePayload>[]
        }
        delete: {
          args: Prisma.RoleDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$RolePayload>
        }
        update: {
          args: Prisma.RoleUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$RolePayload>
        }
        deleteMany: {
          args: Prisma.RoleDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.RoleUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.RoleUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$RolePayload>[]
        }
        upsert: {
          args: Prisma.RoleUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$RolePayload>
        }
        aggregate: {
          args: Prisma.RoleAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateRole>
        }
        groupBy: {
          args: Prisma.RoleGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.RoleGroupByOutputType>[]
        }
        count: {
          args: Prisma.RoleCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.RoleCountAggregateOutputType> | number
        }
      }
    }
    CorporateLocation: {
      payload: Prisma.$CorporateLocationPayload<ExtArgs>
      fields: Prisma.CorporateLocationFieldRefs
      operations: {
        findUnique: {
          args: Prisma.CorporateLocationFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CorporateLocationPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.CorporateLocationFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CorporateLocationPayload>
        }
        findFirst: {
          args: Prisma.CorporateLocationFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CorporateLocationPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.CorporateLocationFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CorporateLocationPayload>
        }
        findMany: {
          args: Prisma.CorporateLocationFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CorporateLocationPayload>[]
        }
        create: {
          args: Prisma.CorporateLocationCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CorporateLocationPayload>
        }
        createMany: {
          args: Prisma.CorporateLocationCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.CorporateLocationCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CorporateLocationPayload>[]
        }
        delete: {
          args: Prisma.CorporateLocationDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CorporateLocationPayload>
        }
        update: {
          args: Prisma.CorporateLocationUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CorporateLocationPayload>
        }
        deleteMany: {
          args: Prisma.CorporateLocationDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.CorporateLocationUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.CorporateLocationUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CorporateLocationPayload>[]
        }
        upsert: {
          args: Prisma.CorporateLocationUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CorporateLocationPayload>
        }
        aggregate: {
          args: Prisma.CorporateLocationAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateCorporateLocation>
        }
        groupBy: {
          args: Prisma.CorporateLocationGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.CorporateLocationGroupByOutputType>[]
        }
        count: {
          args: Prisma.CorporateLocationCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.CorporateLocationCountAggregateOutputType> | number
        }
      }
    }
    InternalDepartment: {
      payload: Prisma.$InternalDepartmentPayload<ExtArgs>
      fields: Prisma.InternalDepartmentFieldRefs
      operations: {
        findUnique: {
          args: Prisma.InternalDepartmentFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$InternalDepartmentPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.InternalDepartmentFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$InternalDepartmentPayload>
        }
        findFirst: {
          args: Prisma.InternalDepartmentFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$InternalDepartmentPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.InternalDepartmentFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$InternalDepartmentPayload>
        }
        findMany: {
          args: Prisma.InternalDepartmentFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$InternalDepartmentPayload>[]
        }
        create: {
          args: Prisma.InternalDepartmentCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$InternalDepartmentPayload>
        }
        createMany: {
          args: Prisma.InternalDepartmentCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.InternalDepartmentCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$InternalDepartmentPayload>[]
        }
        delete: {
          args: Prisma.InternalDepartmentDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$InternalDepartmentPayload>
        }
        update: {
          args: Prisma.InternalDepartmentUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$InternalDepartmentPayload>
        }
        deleteMany: {
          args: Prisma.InternalDepartmentDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.InternalDepartmentUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.InternalDepartmentUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$InternalDepartmentPayload>[]
        }
        upsert: {
          args: Prisma.InternalDepartmentUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$InternalDepartmentPayload>
        }
        aggregate: {
          args: Prisma.InternalDepartmentAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateInternalDepartment>
        }
        groupBy: {
          args: Prisma.InternalDepartmentGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.InternalDepartmentGroupByOutputType>[]
        }
        count: {
          args: Prisma.InternalDepartmentCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.InternalDepartmentCountAggregateOutputType> | number
        }
      }
    }
    UnifiSite: {
      payload: Prisma.$UnifiSitePayload<ExtArgs>
      fields: Prisma.UnifiSiteFieldRefs
      operations: {
        findUnique: {
          args: Prisma.UnifiSiteFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$UnifiSitePayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.UnifiSiteFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$UnifiSitePayload>
        }
        findFirst: {
          args: Prisma.UnifiSiteFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$UnifiSitePayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.UnifiSiteFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$UnifiSitePayload>
        }
        findMany: {
          args: Prisma.UnifiSiteFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$UnifiSitePayload>[]
        }
        create: {
          args: Prisma.UnifiSiteCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$UnifiSitePayload>
        }
        createMany: {
          args: Prisma.UnifiSiteCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.UnifiSiteCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$UnifiSitePayload>[]
        }
        delete: {
          args: Prisma.UnifiSiteDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$UnifiSitePayload>
        }
        update: {
          args: Prisma.UnifiSiteUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$UnifiSitePayload>
        }
        deleteMany: {
          args: Prisma.UnifiSiteDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.UnifiSiteUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.UnifiSiteUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$UnifiSitePayload>[]
        }
        upsert: {
          args: Prisma.UnifiSiteUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$UnifiSitePayload>
        }
        aggregate: {
          args: Prisma.UnifiSiteAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateUnifiSite>
        }
        groupBy: {
          args: Prisma.UnifiSiteGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.UnifiSiteGroupByOutputType>[]
        }
        count: {
          args: Prisma.UnifiSiteCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.UnifiSiteCountAggregateOutputType> | number
        }
      }
    }
    Company: {
      payload: Prisma.$CompanyPayload<ExtArgs>
      fields: Prisma.CompanyFieldRefs
      operations: {
        findUnique: {
          args: Prisma.CompanyFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CompanyPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.CompanyFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CompanyPayload>
        }
        findFirst: {
          args: Prisma.CompanyFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CompanyPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.CompanyFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CompanyPayload>
        }
        findMany: {
          args: Prisma.CompanyFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CompanyPayload>[]
        }
        create: {
          args: Prisma.CompanyCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CompanyPayload>
        }
        createMany: {
          args: Prisma.CompanyCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.CompanyCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CompanyPayload>[]
        }
        delete: {
          args: Prisma.CompanyDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CompanyPayload>
        }
        update: {
          args: Prisma.CompanyUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CompanyPayload>
        }
        deleteMany: {
          args: Prisma.CompanyDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.CompanyUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.CompanyUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CompanyPayload>[]
        }
        upsert: {
          args: Prisma.CompanyUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CompanyPayload>
        }
        aggregate: {
          args: Prisma.CompanyAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateCompany>
        }
        groupBy: {
          args: Prisma.CompanyGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.CompanyGroupByOutputType>[]
        }
        count: {
          args: Prisma.CompanyCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.CompanyCountAggregateOutputType> | number
        }
      }
    }
    CompanyAddress: {
      payload: Prisma.$CompanyAddressPayload<ExtArgs>
      fields: Prisma.CompanyAddressFieldRefs
      operations: {
        findUnique: {
          args: Prisma.CompanyAddressFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CompanyAddressPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.CompanyAddressFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CompanyAddressPayload>
        }
        findFirst: {
          args: Prisma.CompanyAddressFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CompanyAddressPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.CompanyAddressFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CompanyAddressPayload>
        }
        findMany: {
          args: Prisma.CompanyAddressFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CompanyAddressPayload>[]
        }
        create: {
          args: Prisma.CompanyAddressCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CompanyAddressPayload>
        }
        createMany: {
          args: Prisma.CompanyAddressCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.CompanyAddressCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CompanyAddressPayload>[]
        }
        delete: {
          args: Prisma.CompanyAddressDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CompanyAddressPayload>
        }
        update: {
          args: Prisma.CompanyAddressUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CompanyAddressPayload>
        }
        deleteMany: {
          args: Prisma.CompanyAddressDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.CompanyAddressUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.CompanyAddressUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CompanyAddressPayload>[]
        }
        upsert: {
          args: Prisma.CompanyAddressUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CompanyAddressPayload>
        }
        aggregate: {
          args: Prisma.CompanyAddressAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateCompanyAddress>
        }
        groupBy: {
          args: Prisma.CompanyAddressGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.CompanyAddressGroupByOutputType>[]
        }
        count: {
          args: Prisma.CompanyAddressCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.CompanyAddressCountAggregateOutputType> | number
        }
      }
    }
    Contact: {
      payload: Prisma.$ContactPayload<ExtArgs>
      fields: Prisma.ContactFieldRefs
      operations: {
        findUnique: {
          args: Prisma.ContactFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ContactPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.ContactFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ContactPayload>
        }
        findFirst: {
          args: Prisma.ContactFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ContactPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.ContactFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ContactPayload>
        }
        findMany: {
          args: Prisma.ContactFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ContactPayload>[]
        }
        create: {
          args: Prisma.ContactCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ContactPayload>
        }
        createMany: {
          args: Prisma.ContactCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.ContactCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ContactPayload>[]
        }
        delete: {
          args: Prisma.ContactDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ContactPayload>
        }
        update: {
          args: Prisma.ContactUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ContactPayload>
        }
        deleteMany: {
          args: Prisma.ContactDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.ContactUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.ContactUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ContactPayload>[]
        }
        upsert: {
          args: Prisma.ContactUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ContactPayload>
        }
        aggregate: {
          args: Prisma.ContactAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateContact>
        }
        groupBy: {
          args: Prisma.ContactGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ContactGroupByOutputType>[]
        }
        count: {
          args: Prisma.ContactCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ContactCountAggregateOutputType> | number
        }
      }
    }
    CatalogItemType: {
      payload: Prisma.$CatalogItemTypePayload<ExtArgs>
      fields: Prisma.CatalogItemTypeFieldRefs
      operations: {
        findUnique: {
          args: Prisma.CatalogItemTypeFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogItemTypePayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.CatalogItemTypeFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogItemTypePayload>
        }
        findFirst: {
          args: Prisma.CatalogItemTypeFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogItemTypePayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.CatalogItemTypeFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogItemTypePayload>
        }
        findMany: {
          args: Prisma.CatalogItemTypeFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogItemTypePayload>[]
        }
        create: {
          args: Prisma.CatalogItemTypeCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogItemTypePayload>
        }
        createMany: {
          args: Prisma.CatalogItemTypeCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.CatalogItemTypeCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogItemTypePayload>[]
        }
        delete: {
          args: Prisma.CatalogItemTypeDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogItemTypePayload>
        }
        update: {
          args: Prisma.CatalogItemTypeUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogItemTypePayload>
        }
        deleteMany: {
          args: Prisma.CatalogItemTypeDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.CatalogItemTypeUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.CatalogItemTypeUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogItemTypePayload>[]
        }
        upsert: {
          args: Prisma.CatalogItemTypeUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogItemTypePayload>
        }
        aggregate: {
          args: Prisma.CatalogItemTypeAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateCatalogItemType>
        }
        groupBy: {
          args: Prisma.CatalogItemTypeGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.CatalogItemTypeGroupByOutputType>[]
        }
        count: {
          args: Prisma.CatalogItemTypeCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.CatalogItemTypeCountAggregateOutputType> | number
        }
      }
    }
    CatalogCategory: {
      payload: Prisma.$CatalogCategoryPayload<ExtArgs>
      fields: Prisma.CatalogCategoryFieldRefs
      operations: {
        findUnique: {
          args: Prisma.CatalogCategoryFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogCategoryPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.CatalogCategoryFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogCategoryPayload>
        }
        findFirst: {
          args: Prisma.CatalogCategoryFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogCategoryPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.CatalogCategoryFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogCategoryPayload>
        }
        findMany: {
          args: Prisma.CatalogCategoryFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogCategoryPayload>[]
        }
        create: {
          args: Prisma.CatalogCategoryCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogCategoryPayload>
        }
        createMany: {
          args: Prisma.CatalogCategoryCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.CatalogCategoryCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogCategoryPayload>[]
        }
        delete: {
          args: Prisma.CatalogCategoryDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogCategoryPayload>
        }
        update: {
          args: Prisma.CatalogCategoryUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogCategoryPayload>
        }
        deleteMany: {
          args: Prisma.CatalogCategoryDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.CatalogCategoryUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.CatalogCategoryUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogCategoryPayload>[]
        }
        upsert: {
          args: Prisma.CatalogCategoryUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogCategoryPayload>
        }
        aggregate: {
          args: Prisma.CatalogCategoryAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateCatalogCategory>
        }
        groupBy: {
          args: Prisma.CatalogCategoryGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.CatalogCategoryGroupByOutputType>[]
        }
        count: {
          args: Prisma.CatalogCategoryCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.CatalogCategoryCountAggregateOutputType> | number
        }
      }
    }
    CatalogSubcategory: {
      payload: Prisma.$CatalogSubcategoryPayload<ExtArgs>
      fields: Prisma.CatalogSubcategoryFieldRefs
      operations: {
        findUnique: {
          args: Prisma.CatalogSubcategoryFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogSubcategoryPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.CatalogSubcategoryFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogSubcategoryPayload>
        }
        findFirst: {
          args: Prisma.CatalogSubcategoryFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogSubcategoryPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.CatalogSubcategoryFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogSubcategoryPayload>
        }
        findMany: {
          args: Prisma.CatalogSubcategoryFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogSubcategoryPayload>[]
        }
        create: {
          args: Prisma.CatalogSubcategoryCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogSubcategoryPayload>
        }
        createMany: {
          args: Prisma.CatalogSubcategoryCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.CatalogSubcategoryCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogSubcategoryPayload>[]
        }
        delete: {
          args: Prisma.CatalogSubcategoryDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogSubcategoryPayload>
        }
        update: {
          args: Prisma.CatalogSubcategoryUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogSubcategoryPayload>
        }
        deleteMany: {
          args: Prisma.CatalogSubcategoryDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.CatalogSubcategoryUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.CatalogSubcategoryUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogSubcategoryPayload>[]
        }
        upsert: {
          args: Prisma.CatalogSubcategoryUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogSubcategoryPayload>
        }
        aggregate: {
          args: Prisma.CatalogSubcategoryAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateCatalogSubcategory>
        }
        groupBy: {
          args: Prisma.CatalogSubcategoryGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.CatalogSubcategoryGroupByOutputType>[]
        }
        count: {
          args: Prisma.CatalogSubcategoryCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.CatalogSubcategoryCountAggregateOutputType> | number
        }
      }
    }
    CatalogManufacturer: {
      payload: Prisma.$CatalogManufacturerPayload<ExtArgs>
      fields: Prisma.CatalogManufacturerFieldRefs
      operations: {
        findUnique: {
          args: Prisma.CatalogManufacturerFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogManufacturerPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.CatalogManufacturerFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogManufacturerPayload>
        }
        findFirst: {
          args: Prisma.CatalogManufacturerFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogManufacturerPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.CatalogManufacturerFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogManufacturerPayload>
        }
        findMany: {
          args: Prisma.CatalogManufacturerFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogManufacturerPayload>[]
        }
        create: {
          args: Prisma.CatalogManufacturerCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogManufacturerPayload>
        }
        createMany: {
          args: Prisma.CatalogManufacturerCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.CatalogManufacturerCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogManufacturerPayload>[]
        }
        delete: {
          args: Prisma.CatalogManufacturerDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogManufacturerPayload>
        }
        update: {
          args: Prisma.CatalogManufacturerUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogManufacturerPayload>
        }
        deleteMany: {
          args: Prisma.CatalogManufacturerDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.CatalogManufacturerUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.CatalogManufacturerUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogManufacturerPayload>[]
        }
        upsert: {
          args: Prisma.CatalogManufacturerUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogManufacturerPayload>
        }
        aggregate: {
          args: Prisma.CatalogManufacturerAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateCatalogManufacturer>
        }
        groupBy: {
          args: Prisma.CatalogManufacturerGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.CatalogManufacturerGroupByOutputType>[]
        }
        count: {
          args: Prisma.CatalogManufacturerCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.CatalogManufacturerCountAggregateOutputType> | number
        }
      }
    }
    WarehouseBin: {
      payload: Prisma.$WarehouseBinPayload<ExtArgs>
      fields: Prisma.WarehouseBinFieldRefs
      operations: {
        findUnique: {
          args: Prisma.WarehouseBinFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$WarehouseBinPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.WarehouseBinFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$WarehouseBinPayload>
        }
        findFirst: {
          args: Prisma.WarehouseBinFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$WarehouseBinPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.WarehouseBinFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$WarehouseBinPayload>
        }
        findMany: {
          args: Prisma.WarehouseBinFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$WarehouseBinPayload>[]
        }
        create: {
          args: Prisma.WarehouseBinCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$WarehouseBinPayload>
        }
        createMany: {
          args: Prisma.WarehouseBinCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.WarehouseBinCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$WarehouseBinPayload>[]
        }
        delete: {
          args: Prisma.WarehouseBinDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$WarehouseBinPayload>
        }
        update: {
          args: Prisma.WarehouseBinUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$WarehouseBinPayload>
        }
        deleteMany: {
          args: Prisma.WarehouseBinDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.WarehouseBinUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.WarehouseBinUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$WarehouseBinPayload>[]
        }
        upsert: {
          args: Prisma.WarehouseBinUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$WarehouseBinPayload>
        }
        aggregate: {
          args: Prisma.WarehouseBinAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateWarehouseBin>
        }
        groupBy: {
          args: Prisma.WarehouseBinGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.WarehouseBinGroupByOutputType>[]
        }
        count: {
          args: Prisma.WarehouseBinCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.WarehouseBinCountAggregateOutputType> | number
        }
      }
    }
    ProductInventory: {
      payload: Prisma.$ProductInventoryPayload<ExtArgs>
      fields: Prisma.ProductInventoryFieldRefs
      operations: {
        findUnique: {
          args: Prisma.ProductInventoryFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ProductInventoryPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.ProductInventoryFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ProductInventoryPayload>
        }
        findFirst: {
          args: Prisma.ProductInventoryFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ProductInventoryPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.ProductInventoryFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ProductInventoryPayload>
        }
        findMany: {
          args: Prisma.ProductInventoryFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ProductInventoryPayload>[]
        }
        create: {
          args: Prisma.ProductInventoryCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ProductInventoryPayload>
        }
        createMany: {
          args: Prisma.ProductInventoryCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.ProductInventoryCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ProductInventoryPayload>[]
        }
        delete: {
          args: Prisma.ProductInventoryDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ProductInventoryPayload>
        }
        update: {
          args: Prisma.ProductInventoryUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ProductInventoryPayload>
        }
        deleteMany: {
          args: Prisma.ProductInventoryDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.ProductInventoryUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.ProductInventoryUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ProductInventoryPayload>[]
        }
        upsert: {
          args: Prisma.ProductInventoryUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ProductInventoryPayload>
        }
        aggregate: {
          args: Prisma.ProductInventoryAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateProductInventory>
        }
        groupBy: {
          args: Prisma.ProductInventoryGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ProductInventoryGroupByOutputType>[]
        }
        count: {
          args: Prisma.ProductInventoryCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ProductInventoryCountAggregateOutputType> | number
        }
      }
    }
    Warehouse: {
      payload: Prisma.$WarehousePayload<ExtArgs>
      fields: Prisma.WarehouseFieldRefs
      operations: {
        findUnique: {
          args: Prisma.WarehouseFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$WarehousePayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.WarehouseFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$WarehousePayload>
        }
        findFirst: {
          args: Prisma.WarehouseFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$WarehousePayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.WarehouseFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$WarehousePayload>
        }
        findMany: {
          args: Prisma.WarehouseFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$WarehousePayload>[]
        }
        create: {
          args: Prisma.WarehouseCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$WarehousePayload>
        }
        createMany: {
          args: Prisma.WarehouseCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.WarehouseCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$WarehousePayload>[]
        }
        delete: {
          args: Prisma.WarehouseDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$WarehousePayload>
        }
        update: {
          args: Prisma.WarehouseUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$WarehousePayload>
        }
        deleteMany: {
          args: Prisma.WarehouseDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.WarehouseUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.WarehouseUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$WarehousePayload>[]
        }
        upsert: {
          args: Prisma.WarehouseUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$WarehousePayload>
        }
        aggregate: {
          args: Prisma.WarehouseAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateWarehouse>
        }
        groupBy: {
          args: Prisma.WarehouseGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.WarehouseGroupByOutputType>[]
        }
        count: {
          args: Prisma.WarehouseCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.WarehouseCountAggregateOutputType> | number
        }
      }
    }
    MinimumStockByWarehouse: {
      payload: Prisma.$MinimumStockByWarehousePayload<ExtArgs>
      fields: Prisma.MinimumStockByWarehouseFieldRefs
      operations: {
        findUnique: {
          args: Prisma.MinimumStockByWarehouseFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$MinimumStockByWarehousePayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.MinimumStockByWarehouseFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$MinimumStockByWarehousePayload>
        }
        findFirst: {
          args: Prisma.MinimumStockByWarehouseFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$MinimumStockByWarehousePayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.MinimumStockByWarehouseFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$MinimumStockByWarehousePayload>
        }
        findMany: {
          args: Prisma.MinimumStockByWarehouseFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$MinimumStockByWarehousePayload>[]
        }
        create: {
          args: Prisma.MinimumStockByWarehouseCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$MinimumStockByWarehousePayload>
        }
        createMany: {
          args: Prisma.MinimumStockByWarehouseCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.MinimumStockByWarehouseCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$MinimumStockByWarehousePayload>[]
        }
        delete: {
          args: Prisma.MinimumStockByWarehouseDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$MinimumStockByWarehousePayload>
        }
        update: {
          args: Prisma.MinimumStockByWarehouseUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$MinimumStockByWarehousePayload>
        }
        deleteMany: {
          args: Prisma.MinimumStockByWarehouseDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.MinimumStockByWarehouseUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.MinimumStockByWarehouseUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$MinimumStockByWarehousePayload>[]
        }
        upsert: {
          args: Prisma.MinimumStockByWarehouseUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$MinimumStockByWarehousePayload>
        }
        aggregate: {
          args: Prisma.MinimumStockByWarehouseAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateMinimumStockByWarehouse>
        }
        groupBy: {
          args: Prisma.MinimumStockByWarehouseGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.MinimumStockByWarehouseGroupByOutputType>[]
        }
        count: {
          args: Prisma.MinimumStockByWarehouseCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.MinimumStockByWarehouseCountAggregateOutputType> | number
        }
      }
    }
    CatalogItem: {
      payload: Prisma.$CatalogItemPayload<ExtArgs>
      fields: Prisma.CatalogItemFieldRefs
      operations: {
        findUnique: {
          args: Prisma.CatalogItemFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogItemPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.CatalogItemFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogItemPayload>
        }
        findFirst: {
          args: Prisma.CatalogItemFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogItemPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.CatalogItemFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogItemPayload>
        }
        findMany: {
          args: Prisma.CatalogItemFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogItemPayload>[]
        }
        create: {
          args: Prisma.CatalogItemCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogItemPayload>
        }
        createMany: {
          args: Prisma.CatalogItemCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.CatalogItemCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogItemPayload>[]
        }
        delete: {
          args: Prisma.CatalogItemDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogItemPayload>
        }
        update: {
          args: Prisma.CatalogItemUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogItemPayload>
        }
        deleteMany: {
          args: Prisma.CatalogItemDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.CatalogItemUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.CatalogItemUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogItemPayload>[]
        }
        upsert: {
          args: Prisma.CatalogItemUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CatalogItemPayload>
        }
        aggregate: {
          args: Prisma.CatalogItemAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateCatalogItem>
        }
        groupBy: {
          args: Prisma.CatalogItemGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.CatalogItemGroupByOutputType>[]
        }
        count: {
          args: Prisma.CatalogItemCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.CatalogItemCountAggregateOutputType> | number
        }
      }
    }
    ProductData: {
      payload: Prisma.$ProductDataPayload<ExtArgs>
      fields: Prisma.ProductDataFieldRefs
      operations: {
        findUnique: {
          args: Prisma.ProductDataFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ProductDataPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.ProductDataFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ProductDataPayload>
        }
        findFirst: {
          args: Prisma.ProductDataFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ProductDataPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.ProductDataFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ProductDataPayload>
        }
        findMany: {
          args: Prisma.ProductDataFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ProductDataPayload>[]
        }
        create: {
          args: Prisma.ProductDataCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ProductDataPayload>
        }
        createMany: {
          args: Prisma.ProductDataCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.ProductDataCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ProductDataPayload>[]
        }
        delete: {
          args: Prisma.ProductDataDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ProductDataPayload>
        }
        update: {
          args: Prisma.ProductDataUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ProductDataPayload>
        }
        deleteMany: {
          args: Prisma.ProductDataDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.ProductDataUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.ProductDataUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ProductDataPayload>[]
        }
        upsert: {
          args: Prisma.ProductDataUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ProductDataPayload>
        }
        aggregate: {
          args: Prisma.ProductDataAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateProductData>
        }
        groupBy: {
          args: Prisma.ProductDataGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ProductDataGroupByOutputType>[]
        }
        count: {
          args: Prisma.ProductDataCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ProductDataCountAggregateOutputType> | number
        }
      }
    }
    ServiceTicket: {
      payload: Prisma.$ServiceTicketPayload<ExtArgs>
      fields: Prisma.ServiceTicketFieldRefs
      operations: {
        findUnique: {
          args: Prisma.ServiceTicketFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.ServiceTicketFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketPayload>
        }
        findFirst: {
          args: Prisma.ServiceTicketFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.ServiceTicketFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketPayload>
        }
        findMany: {
          args: Prisma.ServiceTicketFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketPayload>[]
        }
        create: {
          args: Prisma.ServiceTicketCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketPayload>
        }
        createMany: {
          args: Prisma.ServiceTicketCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.ServiceTicketCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketPayload>[]
        }
        delete: {
          args: Prisma.ServiceTicketDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketPayload>
        }
        update: {
          args: Prisma.ServiceTicketUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketPayload>
        }
        deleteMany: {
          args: Prisma.ServiceTicketDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.ServiceTicketUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.ServiceTicketUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketPayload>[]
        }
        upsert: {
          args: Prisma.ServiceTicketUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketPayload>
        }
        aggregate: {
          args: Prisma.ServiceTicketAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateServiceTicket>
        }
        groupBy: {
          args: Prisma.ServiceTicketGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ServiceTicketGroupByOutputType>[]
        }
        count: {
          args: Prisma.ServiceTicketCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ServiceTicketCountAggregateOutputType> | number
        }
      }
    }
    ServiceTicketNote: {
      payload: Prisma.$ServiceTicketNotePayload<ExtArgs>
      fields: Prisma.ServiceTicketNoteFieldRefs
      operations: {
        findUnique: {
          args: Prisma.ServiceTicketNoteFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketNotePayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.ServiceTicketNoteFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketNotePayload>
        }
        findFirst: {
          args: Prisma.ServiceTicketNoteFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketNotePayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.ServiceTicketNoteFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketNotePayload>
        }
        findMany: {
          args: Prisma.ServiceTicketNoteFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketNotePayload>[]
        }
        create: {
          args: Prisma.ServiceTicketNoteCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketNotePayload>
        }
        createMany: {
          args: Prisma.ServiceTicketNoteCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.ServiceTicketNoteCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketNotePayload>[]
        }
        delete: {
          args: Prisma.ServiceTicketNoteDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketNotePayload>
        }
        update: {
          args: Prisma.ServiceTicketNoteUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketNotePayload>
        }
        deleteMany: {
          args: Prisma.ServiceTicketNoteDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.ServiceTicketNoteUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.ServiceTicketNoteUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketNotePayload>[]
        }
        upsert: {
          args: Prisma.ServiceTicketNoteUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketNotePayload>
        }
        aggregate: {
          args: Prisma.ServiceTicketNoteAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateServiceTicketNote>
        }
        groupBy: {
          args: Prisma.ServiceTicketNoteGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ServiceTicketNoteGroupByOutputType>[]
        }
        count: {
          args: Prisma.ServiceTicketNoteCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ServiceTicketNoteCountAggregateOutputType> | number
        }
      }
    }
    ServiceTicketType: {
      payload: Prisma.$ServiceTicketTypePayload<ExtArgs>
      fields: Prisma.ServiceTicketTypeFieldRefs
      operations: {
        findUnique: {
          args: Prisma.ServiceTicketTypeFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketTypePayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.ServiceTicketTypeFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketTypePayload>
        }
        findFirst: {
          args: Prisma.ServiceTicketTypeFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketTypePayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.ServiceTicketTypeFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketTypePayload>
        }
        findMany: {
          args: Prisma.ServiceTicketTypeFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketTypePayload>[]
        }
        create: {
          args: Prisma.ServiceTicketTypeCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketTypePayload>
        }
        createMany: {
          args: Prisma.ServiceTicketTypeCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.ServiceTicketTypeCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketTypePayload>[]
        }
        delete: {
          args: Prisma.ServiceTicketTypeDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketTypePayload>
        }
        update: {
          args: Prisma.ServiceTicketTypeUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketTypePayload>
        }
        deleteMany: {
          args: Prisma.ServiceTicketTypeDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.ServiceTicketTypeUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.ServiceTicketTypeUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketTypePayload>[]
        }
        upsert: {
          args: Prisma.ServiceTicketTypeUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketTypePayload>
        }
        aggregate: {
          args: Prisma.ServiceTicketTypeAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateServiceTicketType>
        }
        groupBy: {
          args: Prisma.ServiceTicketTypeGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ServiceTicketTypeGroupByOutputType>[]
        }
        count: {
          args: Prisma.ServiceTicketTypeCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ServiceTicketTypeCountAggregateOutputType> | number
        }
      }
    }
    ServiceTicketBoard: {
      payload: Prisma.$ServiceTicketBoardPayload<ExtArgs>
      fields: Prisma.ServiceTicketBoardFieldRefs
      operations: {
        findUnique: {
          args: Prisma.ServiceTicketBoardFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketBoardPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.ServiceTicketBoardFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketBoardPayload>
        }
        findFirst: {
          args: Prisma.ServiceTicketBoardFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketBoardPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.ServiceTicketBoardFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketBoardPayload>
        }
        findMany: {
          args: Prisma.ServiceTicketBoardFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketBoardPayload>[]
        }
        create: {
          args: Prisma.ServiceTicketBoardCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketBoardPayload>
        }
        createMany: {
          args: Prisma.ServiceTicketBoardCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.ServiceTicketBoardCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketBoardPayload>[]
        }
        delete: {
          args: Prisma.ServiceTicketBoardDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketBoardPayload>
        }
        update: {
          args: Prisma.ServiceTicketBoardUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketBoardPayload>
        }
        deleteMany: {
          args: Prisma.ServiceTicketBoardDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.ServiceTicketBoardUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.ServiceTicketBoardUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketBoardPayload>[]
        }
        upsert: {
          args: Prisma.ServiceTicketBoardUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketBoardPayload>
        }
        aggregate: {
          args: Prisma.ServiceTicketBoardAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateServiceTicketBoard>
        }
        groupBy: {
          args: Prisma.ServiceTicketBoardGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ServiceTicketBoardGroupByOutputType>[]
        }
        count: {
          args: Prisma.ServiceTicketBoardCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ServiceTicketBoardCountAggregateOutputType> | number
        }
      }
    }
    ServiceTicketLocation: {
      payload: Prisma.$ServiceTicketLocationPayload<ExtArgs>
      fields: Prisma.ServiceTicketLocationFieldRefs
      operations: {
        findUnique: {
          args: Prisma.ServiceTicketLocationFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketLocationPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.ServiceTicketLocationFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketLocationPayload>
        }
        findFirst: {
          args: Prisma.ServiceTicketLocationFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketLocationPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.ServiceTicketLocationFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketLocationPayload>
        }
        findMany: {
          args: Prisma.ServiceTicketLocationFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketLocationPayload>[]
        }
        create: {
          args: Prisma.ServiceTicketLocationCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketLocationPayload>
        }
        createMany: {
          args: Prisma.ServiceTicketLocationCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.ServiceTicketLocationCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketLocationPayload>[]
        }
        delete: {
          args: Prisma.ServiceTicketLocationDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketLocationPayload>
        }
        update: {
          args: Prisma.ServiceTicketLocationUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketLocationPayload>
        }
        deleteMany: {
          args: Prisma.ServiceTicketLocationDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.ServiceTicketLocationUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.ServiceTicketLocationUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketLocationPayload>[]
        }
        upsert: {
          args: Prisma.ServiceTicketLocationUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketLocationPayload>
        }
        aggregate: {
          args: Prisma.ServiceTicketLocationAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateServiceTicketLocation>
        }
        groupBy: {
          args: Prisma.ServiceTicketLocationGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ServiceTicketLocationGroupByOutputType>[]
        }
        count: {
          args: Prisma.ServiceTicketLocationCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ServiceTicketLocationCountAggregateOutputType> | number
        }
      }
    }
    ServiceTicketSource: {
      payload: Prisma.$ServiceTicketSourcePayload<ExtArgs>
      fields: Prisma.ServiceTicketSourceFieldRefs
      operations: {
        findUnique: {
          args: Prisma.ServiceTicketSourceFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketSourcePayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.ServiceTicketSourceFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketSourcePayload>
        }
        findFirst: {
          args: Prisma.ServiceTicketSourceFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketSourcePayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.ServiceTicketSourceFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketSourcePayload>
        }
        findMany: {
          args: Prisma.ServiceTicketSourceFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketSourcePayload>[]
        }
        create: {
          args: Prisma.ServiceTicketSourceCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketSourcePayload>
        }
        createMany: {
          args: Prisma.ServiceTicketSourceCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.ServiceTicketSourceCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketSourcePayload>[]
        }
        delete: {
          args: Prisma.ServiceTicketSourceDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketSourcePayload>
        }
        update: {
          args: Prisma.ServiceTicketSourceUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketSourcePayload>
        }
        deleteMany: {
          args: Prisma.ServiceTicketSourceDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.ServiceTicketSourceUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.ServiceTicketSourceUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketSourcePayload>[]
        }
        upsert: {
          args: Prisma.ServiceTicketSourceUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketSourcePayload>
        }
        aggregate: {
          args: Prisma.ServiceTicketSourceAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateServiceTicketSource>
        }
        groupBy: {
          args: Prisma.ServiceTicketSourceGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ServiceTicketSourceGroupByOutputType>[]
        }
        count: {
          args: Prisma.ServiceTicketSourceCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ServiceTicketSourceCountAggregateOutputType> | number
        }
      }
    }
    ServiceTicketImpact: {
      payload: Prisma.$ServiceTicketImpactPayload<ExtArgs>
      fields: Prisma.ServiceTicketImpactFieldRefs
      operations: {
        findUnique: {
          args: Prisma.ServiceTicketImpactFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketImpactPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.ServiceTicketImpactFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketImpactPayload>
        }
        findFirst: {
          args: Prisma.ServiceTicketImpactFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketImpactPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.ServiceTicketImpactFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketImpactPayload>
        }
        findMany: {
          args: Prisma.ServiceTicketImpactFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketImpactPayload>[]
        }
        create: {
          args: Prisma.ServiceTicketImpactCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketImpactPayload>
        }
        createMany: {
          args: Prisma.ServiceTicketImpactCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.ServiceTicketImpactCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketImpactPayload>[]
        }
        delete: {
          args: Prisma.ServiceTicketImpactDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketImpactPayload>
        }
        update: {
          args: Prisma.ServiceTicketImpactUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketImpactPayload>
        }
        deleteMany: {
          args: Prisma.ServiceTicketImpactDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.ServiceTicketImpactUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.ServiceTicketImpactUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketImpactPayload>[]
        }
        upsert: {
          args: Prisma.ServiceTicketImpactUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketImpactPayload>
        }
        aggregate: {
          args: Prisma.ServiceTicketImpactAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateServiceTicketImpact>
        }
        groupBy: {
          args: Prisma.ServiceTicketImpactGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ServiceTicketImpactGroupByOutputType>[]
        }
        count: {
          args: Prisma.ServiceTicketImpactCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ServiceTicketImpactCountAggregateOutputType> | number
        }
      }
    }
    ServiceTicketPriority: {
      payload: Prisma.$ServiceTicketPriorityPayload<ExtArgs>
      fields: Prisma.ServiceTicketPriorityFieldRefs
      operations: {
        findUnique: {
          args: Prisma.ServiceTicketPriorityFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketPriorityPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.ServiceTicketPriorityFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketPriorityPayload>
        }
        findFirst: {
          args: Prisma.ServiceTicketPriorityFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketPriorityPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.ServiceTicketPriorityFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketPriorityPayload>
        }
        findMany: {
          args: Prisma.ServiceTicketPriorityFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketPriorityPayload>[]
        }
        create: {
          args: Prisma.ServiceTicketPriorityCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketPriorityPayload>
        }
        createMany: {
          args: Prisma.ServiceTicketPriorityCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.ServiceTicketPriorityCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketPriorityPayload>[]
        }
        delete: {
          args: Prisma.ServiceTicketPriorityDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketPriorityPayload>
        }
        update: {
          args: Prisma.ServiceTicketPriorityUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketPriorityPayload>
        }
        deleteMany: {
          args: Prisma.ServiceTicketPriorityDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.ServiceTicketPriorityUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.ServiceTicketPriorityUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketPriorityPayload>[]
        }
        upsert: {
          args: Prisma.ServiceTicketPriorityUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketPriorityPayload>
        }
        aggregate: {
          args: Prisma.ServiceTicketPriorityAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateServiceTicketPriority>
        }
        groupBy: {
          args: Prisma.ServiceTicketPriorityGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ServiceTicketPriorityGroupByOutputType>[]
        }
        count: {
          args: Prisma.ServiceTicketPriorityCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ServiceTicketPriorityCountAggregateOutputType> | number
        }
      }
    }
    ServiceTicketSeverity: {
      payload: Prisma.$ServiceTicketSeverityPayload<ExtArgs>
      fields: Prisma.ServiceTicketSeverityFieldRefs
      operations: {
        findUnique: {
          args: Prisma.ServiceTicketSeverityFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketSeverityPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.ServiceTicketSeverityFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketSeverityPayload>
        }
        findFirst: {
          args: Prisma.ServiceTicketSeverityFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketSeverityPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.ServiceTicketSeverityFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketSeverityPayload>
        }
        findMany: {
          args: Prisma.ServiceTicketSeverityFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketSeverityPayload>[]
        }
        create: {
          args: Prisma.ServiceTicketSeverityCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketSeverityPayload>
        }
        createMany: {
          args: Prisma.ServiceTicketSeverityCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.ServiceTicketSeverityCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketSeverityPayload>[]
        }
        delete: {
          args: Prisma.ServiceTicketSeverityDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketSeverityPayload>
        }
        update: {
          args: Prisma.ServiceTicketSeverityUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketSeverityPayload>
        }
        deleteMany: {
          args: Prisma.ServiceTicketSeverityDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.ServiceTicketSeverityUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.ServiceTicketSeverityUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketSeverityPayload>[]
        }
        upsert: {
          args: Prisma.ServiceTicketSeverityUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketSeverityPayload>
        }
        aggregate: {
          args: Prisma.ServiceTicketSeverityAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateServiceTicketSeverity>
        }
        groupBy: {
          args: Prisma.ServiceTicketSeverityGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ServiceTicketSeverityGroupByOutputType>[]
        }
        count: {
          args: Prisma.ServiceTicketSeverityCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ServiceTicketSeverityCountAggregateOutputType> | number
        }
      }
    }
    ServiceTicketFinalData: {
      payload: Prisma.$ServiceTicketFinalDataPayload<ExtArgs>
      fields: Prisma.ServiceTicketFinalDataFieldRefs
      operations: {
        findUnique: {
          args: Prisma.ServiceTicketFinalDataFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketFinalDataPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.ServiceTicketFinalDataFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketFinalDataPayload>
        }
        findFirst: {
          args: Prisma.ServiceTicketFinalDataFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketFinalDataPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.ServiceTicketFinalDataFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketFinalDataPayload>
        }
        findMany: {
          args: Prisma.ServiceTicketFinalDataFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketFinalDataPayload>[]
        }
        create: {
          args: Prisma.ServiceTicketFinalDataCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketFinalDataPayload>
        }
        createMany: {
          args: Prisma.ServiceTicketFinalDataCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.ServiceTicketFinalDataCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketFinalDataPayload>[]
        }
        delete: {
          args: Prisma.ServiceTicketFinalDataDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketFinalDataPayload>
        }
        update: {
          args: Prisma.ServiceTicketFinalDataUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketFinalDataPayload>
        }
        deleteMany: {
          args: Prisma.ServiceTicketFinalDataDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.ServiceTicketFinalDataUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.ServiceTicketFinalDataUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketFinalDataPayload>[]
        }
        upsert: {
          args: Prisma.ServiceTicketFinalDataUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceTicketFinalDataPayload>
        }
        aggregate: {
          args: Prisma.ServiceTicketFinalDataAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateServiceTicketFinalData>
        }
        groupBy: {
          args: Prisma.ServiceTicketFinalDataGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ServiceTicketFinalDataGroupByOutputType>[]
        }
        count: {
          args: Prisma.ServiceTicketFinalDataCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ServiceTicketFinalDataCountAggregateOutputType> | number
        }
      }
    }
    OpportunityStage: {
      payload: Prisma.$OpportunityStagePayload<ExtArgs>
      fields: Prisma.OpportunityStageFieldRefs
      operations: {
        findUnique: {
          args: Prisma.OpportunityStageFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityStagePayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.OpportunityStageFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityStagePayload>
        }
        findFirst: {
          args: Prisma.OpportunityStageFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityStagePayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.OpportunityStageFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityStagePayload>
        }
        findMany: {
          args: Prisma.OpportunityStageFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityStagePayload>[]
        }
        create: {
          args: Prisma.OpportunityStageCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityStagePayload>
        }
        createMany: {
          args: Prisma.OpportunityStageCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.OpportunityStageCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityStagePayload>[]
        }
        delete: {
          args: Prisma.OpportunityStageDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityStagePayload>
        }
        update: {
          args: Prisma.OpportunityStageUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityStagePayload>
        }
        deleteMany: {
          args: Prisma.OpportunityStageDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.OpportunityStageUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.OpportunityStageUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityStagePayload>[]
        }
        upsert: {
          args: Prisma.OpportunityStageUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityStagePayload>
        }
        aggregate: {
          args: Prisma.OpportunityStageAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateOpportunityStage>
        }
        groupBy: {
          args: Prisma.OpportunityStageGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.OpportunityStageGroupByOutputType>[]
        }
        count: {
          args: Prisma.OpportunityStageCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.OpportunityStageCountAggregateOutputType> | number
        }
      }
    }
    OpportunityType: {
      payload: Prisma.$OpportunityTypePayload<ExtArgs>
      fields: Prisma.OpportunityTypeFieldRefs
      operations: {
        findUnique: {
          args: Prisma.OpportunityTypeFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityTypePayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.OpportunityTypeFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityTypePayload>
        }
        findFirst: {
          args: Prisma.OpportunityTypeFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityTypePayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.OpportunityTypeFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityTypePayload>
        }
        findMany: {
          args: Prisma.OpportunityTypeFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityTypePayload>[]
        }
        create: {
          args: Prisma.OpportunityTypeCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityTypePayload>
        }
        createMany: {
          args: Prisma.OpportunityTypeCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.OpportunityTypeCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityTypePayload>[]
        }
        delete: {
          args: Prisma.OpportunityTypeDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityTypePayload>
        }
        update: {
          args: Prisma.OpportunityTypeUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityTypePayload>
        }
        deleteMany: {
          args: Prisma.OpportunityTypeDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.OpportunityTypeUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.OpportunityTypeUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityTypePayload>[]
        }
        upsert: {
          args: Prisma.OpportunityTypeUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityTypePayload>
        }
        aggregate: {
          args: Prisma.OpportunityTypeAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateOpportunityType>
        }
        groupBy: {
          args: Prisma.OpportunityTypeGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.OpportunityTypeGroupByOutputType>[]
        }
        count: {
          args: Prisma.OpportunityTypeCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.OpportunityTypeCountAggregateOutputType> | number
        }
      }
    }
    OpportunityStatus: {
      payload: Prisma.$OpportunityStatusPayload<ExtArgs>
      fields: Prisma.OpportunityStatusFieldRefs
      operations: {
        findUnique: {
          args: Prisma.OpportunityStatusFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityStatusPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.OpportunityStatusFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityStatusPayload>
        }
        findFirst: {
          args: Prisma.OpportunityStatusFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityStatusPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.OpportunityStatusFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityStatusPayload>
        }
        findMany: {
          args: Prisma.OpportunityStatusFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityStatusPayload>[]
        }
        create: {
          args: Prisma.OpportunityStatusCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityStatusPayload>
        }
        createMany: {
          args: Prisma.OpportunityStatusCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.OpportunityStatusCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityStatusPayload>[]
        }
        delete: {
          args: Prisma.OpportunityStatusDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityStatusPayload>
        }
        update: {
          args: Prisma.OpportunityStatusUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityStatusPayload>
        }
        deleteMany: {
          args: Prisma.OpportunityStatusDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.OpportunityStatusUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.OpportunityStatusUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityStatusPayload>[]
        }
        upsert: {
          args: Prisma.OpportunityStatusUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityStatusPayload>
        }
        aggregate: {
          args: Prisma.OpportunityStatusAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateOpportunityStatus>
        }
        groupBy: {
          args: Prisma.OpportunityStatusGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.OpportunityStatusGroupByOutputType>[]
        }
        count: {
          args: Prisma.OpportunityStatusCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.OpportunityStatusCountAggregateOutputType> | number
        }
      }
    }
    Opportunity: {
      payload: Prisma.$OpportunityPayload<ExtArgs>
      fields: Prisma.OpportunityFieldRefs
      operations: {
        findUnique: {
          args: Prisma.OpportunityFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.OpportunityFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityPayload>
        }
        findFirst: {
          args: Prisma.OpportunityFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.OpportunityFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityPayload>
        }
        findMany: {
          args: Prisma.OpportunityFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityPayload>[]
        }
        create: {
          args: Prisma.OpportunityCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityPayload>
        }
        createMany: {
          args: Prisma.OpportunityCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.OpportunityCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityPayload>[]
        }
        delete: {
          args: Prisma.OpportunityDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityPayload>
        }
        update: {
          args: Prisma.OpportunityUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityPayload>
        }
        deleteMany: {
          args: Prisma.OpportunityDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.OpportunityUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.OpportunityUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityPayload>[]
        }
        upsert: {
          args: Prisma.OpportunityUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$OpportunityPayload>
        }
        aggregate: {
          args: Prisma.OpportunityAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateOpportunity>
        }
        groupBy: {
          args: Prisma.OpportunityGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.OpportunityGroupByOutputType>[]
        }
        count: {
          args: Prisma.OpportunityCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.OpportunityCountAggregateOutputType> | number
        }
      }
    }
    ScheduleStatus: {
      payload: Prisma.$ScheduleStatusPayload<ExtArgs>
      fields: Prisma.ScheduleStatusFieldRefs
      operations: {
        findUnique: {
          args: Prisma.ScheduleStatusFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleStatusPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.ScheduleStatusFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleStatusPayload>
        }
        findFirst: {
          args: Prisma.ScheduleStatusFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleStatusPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.ScheduleStatusFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleStatusPayload>
        }
        findMany: {
          args: Prisma.ScheduleStatusFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleStatusPayload>[]
        }
        create: {
          args: Prisma.ScheduleStatusCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleStatusPayload>
        }
        createMany: {
          args: Prisma.ScheduleStatusCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.ScheduleStatusCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleStatusPayload>[]
        }
        delete: {
          args: Prisma.ScheduleStatusDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleStatusPayload>
        }
        update: {
          args: Prisma.ScheduleStatusUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleStatusPayload>
        }
        deleteMany: {
          args: Prisma.ScheduleStatusDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.ScheduleStatusUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.ScheduleStatusUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleStatusPayload>[]
        }
        upsert: {
          args: Prisma.ScheduleStatusUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleStatusPayload>
        }
        aggregate: {
          args: Prisma.ScheduleStatusAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateScheduleStatus>
        }
        groupBy: {
          args: Prisma.ScheduleStatusGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ScheduleStatusGroupByOutputType>[]
        }
        count: {
          args: Prisma.ScheduleStatusCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ScheduleStatusCountAggregateOutputType> | number
        }
      }
    }
    ScheduleType: {
      payload: Prisma.$ScheduleTypePayload<ExtArgs>
      fields: Prisma.ScheduleTypeFieldRefs
      operations: {
        findUnique: {
          args: Prisma.ScheduleTypeFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleTypePayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.ScheduleTypeFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleTypePayload>
        }
        findFirst: {
          args: Prisma.ScheduleTypeFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleTypePayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.ScheduleTypeFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleTypePayload>
        }
        findMany: {
          args: Prisma.ScheduleTypeFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleTypePayload>[]
        }
        create: {
          args: Prisma.ScheduleTypeCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleTypePayload>
        }
        createMany: {
          args: Prisma.ScheduleTypeCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.ScheduleTypeCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleTypePayload>[]
        }
        delete: {
          args: Prisma.ScheduleTypeDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleTypePayload>
        }
        update: {
          args: Prisma.ScheduleTypeUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleTypePayload>
        }
        deleteMany: {
          args: Prisma.ScheduleTypeDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.ScheduleTypeUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.ScheduleTypeUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleTypePayload>[]
        }
        upsert: {
          args: Prisma.ScheduleTypeUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleTypePayload>
        }
        aggregate: {
          args: Prisma.ScheduleTypeAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateScheduleType>
        }
        groupBy: {
          args: Prisma.ScheduleTypeGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ScheduleTypeGroupByOutputType>[]
        }
        count: {
          args: Prisma.ScheduleTypeCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ScheduleTypeCountAggregateOutputType> | number
        }
      }
    }
    ScheduleSpan: {
      payload: Prisma.$ScheduleSpanPayload<ExtArgs>
      fields: Prisma.ScheduleSpanFieldRefs
      operations: {
        findUnique: {
          args: Prisma.ScheduleSpanFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleSpanPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.ScheduleSpanFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleSpanPayload>
        }
        findFirst: {
          args: Prisma.ScheduleSpanFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleSpanPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.ScheduleSpanFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleSpanPayload>
        }
        findMany: {
          args: Prisma.ScheduleSpanFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleSpanPayload>[]
        }
        create: {
          args: Prisma.ScheduleSpanCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleSpanPayload>
        }
        createMany: {
          args: Prisma.ScheduleSpanCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.ScheduleSpanCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleSpanPayload>[]
        }
        delete: {
          args: Prisma.ScheduleSpanDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleSpanPayload>
        }
        update: {
          args: Prisma.ScheduleSpanUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleSpanPayload>
        }
        deleteMany: {
          args: Prisma.ScheduleSpanDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.ScheduleSpanUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.ScheduleSpanUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleSpanPayload>[]
        }
        upsert: {
          args: Prisma.ScheduleSpanUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ScheduleSpanPayload>
        }
        aggregate: {
          args: Prisma.ScheduleSpanAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateScheduleSpan>
        }
        groupBy: {
          args: Prisma.ScheduleSpanGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ScheduleSpanGroupByOutputType>[]
        }
        count: {
          args: Prisma.ScheduleSpanCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ScheduleSpanCountAggregateOutputType> | number
        }
      }
    }
    Schedule: {
      payload: Prisma.$SchedulePayload<ExtArgs>
      fields: Prisma.ScheduleFieldRefs
      operations: {
        findUnique: {
          args: Prisma.ScheduleFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SchedulePayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.ScheduleFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SchedulePayload>
        }
        findFirst: {
          args: Prisma.ScheduleFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SchedulePayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.ScheduleFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SchedulePayload>
        }
        findMany: {
          args: Prisma.ScheduleFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SchedulePayload>[]
        }
        create: {
          args: Prisma.ScheduleCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SchedulePayload>
        }
        createMany: {
          args: Prisma.ScheduleCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.ScheduleCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SchedulePayload>[]
        }
        delete: {
          args: Prisma.ScheduleDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SchedulePayload>
        }
        update: {
          args: Prisma.ScheduleUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SchedulePayload>
        }
        deleteMany: {
          args: Prisma.ScheduleDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.ScheduleUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.ScheduleUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SchedulePayload>[]
        }
        upsert: {
          args: Prisma.ScheduleUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SchedulePayload>
        }
        aggregate: {
          args: Prisma.ScheduleAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateSchedule>
        }
        groupBy: {
          args: Prisma.ScheduleGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ScheduleGroupByOutputType>[]
        }
        count: {
          args: Prisma.ScheduleCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ScheduleCountAggregateOutputType> | number
        }
      }
    }
    Activity: {
      payload: Prisma.$ActivityPayload<ExtArgs>
      fields: Prisma.ActivityFieldRefs
      operations: {
        findUnique: {
          args: Prisma.ActivityFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.ActivityFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityPayload>
        }
        findFirst: {
          args: Prisma.ActivityFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.ActivityFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityPayload>
        }
        findMany: {
          args: Prisma.ActivityFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityPayload>[]
        }
        create: {
          args: Prisma.ActivityCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityPayload>
        }
        createMany: {
          args: Prisma.ActivityCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.ActivityCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityPayload>[]
        }
        delete: {
          args: Prisma.ActivityDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityPayload>
        }
        update: {
          args: Prisma.ActivityUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityPayload>
        }
        deleteMany: {
          args: Prisma.ActivityDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.ActivityUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.ActivityUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityPayload>[]
        }
        upsert: {
          args: Prisma.ActivityUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityPayload>
        }
        aggregate: {
          args: Prisma.ActivityAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateActivity>
        }
        groupBy: {
          args: Prisma.ActivityGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ActivityGroupByOutputType>[]
        }
        count: {
          args: Prisma.ActivityCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ActivityCountAggregateOutputType> | number
        }
      }
    }
    ActivityNotes: {
      payload: Prisma.$ActivityNotesPayload<ExtArgs>
      fields: Prisma.ActivityNotesFieldRefs
      operations: {
        findUnique: {
          args: Prisma.ActivityNotesFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityNotesPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.ActivityNotesFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityNotesPayload>
        }
        findFirst: {
          args: Prisma.ActivityNotesFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityNotesPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.ActivityNotesFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityNotesPayload>
        }
        findMany: {
          args: Prisma.ActivityNotesFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityNotesPayload>[]
        }
        create: {
          args: Prisma.ActivityNotesCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityNotesPayload>
        }
        createMany: {
          args: Prisma.ActivityNotesCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.ActivityNotesCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityNotesPayload>[]
        }
        delete: {
          args: Prisma.ActivityNotesDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityNotesPayload>
        }
        update: {
          args: Prisma.ActivityNotesUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityNotesPayload>
        }
        deleteMany: {
          args: Prisma.ActivityNotesDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.ActivityNotesUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.ActivityNotesUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityNotesPayload>[]
        }
        upsert: {
          args: Prisma.ActivityNotesUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityNotesPayload>
        }
        aggregate: {
          args: Prisma.ActivityNotesAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateActivityNotes>
        }
        groupBy: {
          args: Prisma.ActivityNotesGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ActivityNotesGroupByOutputType>[]
        }
        count: {
          args: Prisma.ActivityNotesCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ActivityNotesCountAggregateOutputType> | number
        }
      }
    }
    ActivityType: {
      payload: Prisma.$ActivityTypePayload<ExtArgs>
      fields: Prisma.ActivityTypeFieldRefs
      operations: {
        findUnique: {
          args: Prisma.ActivityTypeFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityTypePayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.ActivityTypeFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityTypePayload>
        }
        findFirst: {
          args: Prisma.ActivityTypeFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityTypePayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.ActivityTypeFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityTypePayload>
        }
        findMany: {
          args: Prisma.ActivityTypeFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityTypePayload>[]
        }
        create: {
          args: Prisma.ActivityTypeCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityTypePayload>
        }
        createMany: {
          args: Prisma.ActivityTypeCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.ActivityTypeCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityTypePayload>[]
        }
        delete: {
          args: Prisma.ActivityTypeDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityTypePayload>
        }
        update: {
          args: Prisma.ActivityTypeUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityTypePayload>
        }
        deleteMany: {
          args: Prisma.ActivityTypeDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.ActivityTypeUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.ActivityTypeUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityTypePayload>[]
        }
        upsert: {
          args: Prisma.ActivityTypeUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityTypePayload>
        }
        aggregate: {
          args: Prisma.ActivityTypeAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateActivityType>
        }
        groupBy: {
          args: Prisma.ActivityTypeGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ActivityTypeGroupByOutputType>[]
        }
        count: {
          args: Prisma.ActivityTypeCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ActivityTypeCountAggregateOutputType> | number
        }
      }
    }
    ActivityStatus: {
      payload: Prisma.$ActivityStatusPayload<ExtArgs>
      fields: Prisma.ActivityStatusFieldRefs
      operations: {
        findUnique: {
          args: Prisma.ActivityStatusFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityStatusPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.ActivityStatusFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityStatusPayload>
        }
        findFirst: {
          args: Prisma.ActivityStatusFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityStatusPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.ActivityStatusFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityStatusPayload>
        }
        findMany: {
          args: Prisma.ActivityStatusFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityStatusPayload>[]
        }
        create: {
          args: Prisma.ActivityStatusCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityStatusPayload>
        }
        createMany: {
          args: Prisma.ActivityStatusCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.ActivityStatusCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityStatusPayload>[]
        }
        delete: {
          args: Prisma.ActivityStatusDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityStatusPayload>
        }
        update: {
          args: Prisma.ActivityStatusUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityStatusPayload>
        }
        deleteMany: {
          args: Prisma.ActivityStatusDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.ActivityStatusUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.ActivityStatusUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityStatusPayload>[]
        }
        upsert: {
          args: Prisma.ActivityStatusUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$ActivityStatusPayload>
        }
        aggregate: {
          args: Prisma.ActivityStatusAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateActivityStatus>
        }
        groupBy: {
          args: Prisma.ActivityStatusGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ActivityStatusGroupByOutputType>[]
        }
        count: {
          args: Prisma.ActivityStatusCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.ActivityStatusCountAggregateOutputType> | number
        }
      }
    }
    TimeEntry: {
      payload: Prisma.$TimeEntryPayload<ExtArgs>
      fields: Prisma.TimeEntryFieldRefs
      operations: {
        findUnique: {
          args: Prisma.TimeEntryFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.TimeEntryFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryPayload>
        }
        findFirst: {
          args: Prisma.TimeEntryFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.TimeEntryFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryPayload>
        }
        findMany: {
          args: Prisma.TimeEntryFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryPayload>[]
        }
        create: {
          args: Prisma.TimeEntryCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryPayload>
        }
        createMany: {
          args: Prisma.TimeEntryCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.TimeEntryCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryPayload>[]
        }
        delete: {
          args: Prisma.TimeEntryDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryPayload>
        }
        update: {
          args: Prisma.TimeEntryUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryPayload>
        }
        deleteMany: {
          args: Prisma.TimeEntryDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.TimeEntryUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.TimeEntryUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryPayload>[]
        }
        upsert: {
          args: Prisma.TimeEntryUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryPayload>
        }
        aggregate: {
          args: Prisma.TimeEntryAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateTimeEntry>
        }
        groupBy: {
          args: Prisma.TimeEntryGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.TimeEntryGroupByOutputType>[]
        }
        count: {
          args: Prisma.TimeEntryCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.TimeEntryCountAggregateOutputType> | number
        }
      }
    }
    TimeEntryStatus: {
      payload: Prisma.$TimeEntryStatusPayload<ExtArgs>
      fields: Prisma.TimeEntryStatusFieldRefs
      operations: {
        findUnique: {
          args: Prisma.TimeEntryStatusFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryStatusPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.TimeEntryStatusFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryStatusPayload>
        }
        findFirst: {
          args: Prisma.TimeEntryStatusFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryStatusPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.TimeEntryStatusFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryStatusPayload>
        }
        findMany: {
          args: Prisma.TimeEntryStatusFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryStatusPayload>[]
        }
        create: {
          args: Prisma.TimeEntryStatusCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryStatusPayload>
        }
        createMany: {
          args: Prisma.TimeEntryStatusCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.TimeEntryStatusCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryStatusPayload>[]
        }
        delete: {
          args: Prisma.TimeEntryStatusDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryStatusPayload>
        }
        update: {
          args: Prisma.TimeEntryStatusUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryStatusPayload>
        }
        deleteMany: {
          args: Prisma.TimeEntryStatusDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.TimeEntryStatusUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.TimeEntryStatusUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryStatusPayload>[]
        }
        upsert: {
          args: Prisma.TimeEntryStatusUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryStatusPayload>
        }
        aggregate: {
          args: Prisma.TimeEntryStatusAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateTimeEntryStatus>
        }
        groupBy: {
          args: Prisma.TimeEntryStatusGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.TimeEntryStatusGroupByOutputType>[]
        }
        count: {
          args: Prisma.TimeEntryStatusCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.TimeEntryStatusCountAggregateOutputType> | number
        }
      }
    }
    TimeEntryChargeCode: {
      payload: Prisma.$TimeEntryChargeCodePayload<ExtArgs>
      fields: Prisma.TimeEntryChargeCodeFieldRefs
      operations: {
        findUnique: {
          args: Prisma.TimeEntryChargeCodeFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryChargeCodePayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.TimeEntryChargeCodeFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryChargeCodePayload>
        }
        findFirst: {
          args: Prisma.TimeEntryChargeCodeFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryChargeCodePayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.TimeEntryChargeCodeFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryChargeCodePayload>
        }
        findMany: {
          args: Prisma.TimeEntryChargeCodeFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryChargeCodePayload>[]
        }
        create: {
          args: Prisma.TimeEntryChargeCodeCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryChargeCodePayload>
        }
        createMany: {
          args: Prisma.TimeEntryChargeCodeCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.TimeEntryChargeCodeCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryChargeCodePayload>[]
        }
        delete: {
          args: Prisma.TimeEntryChargeCodeDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryChargeCodePayload>
        }
        update: {
          args: Prisma.TimeEntryChargeCodeUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryChargeCodePayload>
        }
        deleteMany: {
          args: Prisma.TimeEntryChargeCodeDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.TimeEntryChargeCodeUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.TimeEntryChargeCodeUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryChargeCodePayload>[]
        }
        upsert: {
          args: Prisma.TimeEntryChargeCodeUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeEntryChargeCodePayload>
        }
        aggregate: {
          args: Prisma.TimeEntryChargeCodeAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateTimeEntryChargeCode>
        }
        groupBy: {
          args: Prisma.TimeEntryChargeCodeGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.TimeEntryChargeCodeGroupByOutputType>[]
        }
        count: {
          args: Prisma.TimeEntryChargeCodeCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.TimeEntryChargeCodeCountAggregateOutputType> | number
        }
      }
    }
    TimeActivityClass: {
      payload: Prisma.$TimeActivityClassPayload<ExtArgs>
      fields: Prisma.TimeActivityClassFieldRefs
      operations: {
        findUnique: {
          args: Prisma.TimeActivityClassFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeActivityClassPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.TimeActivityClassFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeActivityClassPayload>
        }
        findFirst: {
          args: Prisma.TimeActivityClassFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeActivityClassPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.TimeActivityClassFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeActivityClassPayload>
        }
        findMany: {
          args: Prisma.TimeActivityClassFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeActivityClassPayload>[]
        }
        create: {
          args: Prisma.TimeActivityClassCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeActivityClassPayload>
        }
        createMany: {
          args: Prisma.TimeActivityClassCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.TimeActivityClassCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeActivityClassPayload>[]
        }
        delete: {
          args: Prisma.TimeActivityClassDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeActivityClassPayload>
        }
        update: {
          args: Prisma.TimeActivityClassUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeActivityClassPayload>
        }
        deleteMany: {
          args: Prisma.TimeActivityClassDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.TimeActivityClassUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.TimeActivityClassUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeActivityClassPayload>[]
        }
        upsert: {
          args: Prisma.TimeActivityClassUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeActivityClassPayload>
        }
        aggregate: {
          args: Prisma.TimeActivityClassAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateTimeActivityClass>
        }
        groupBy: {
          args: Prisma.TimeActivityClassGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.TimeActivityClassGroupByOutputType>[]
        }
        count: {
          args: Prisma.TimeActivityClassCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.TimeActivityClassCountAggregateOutputType> | number
        }
      }
    }
    TimeActivityType: {
      payload: Prisma.$TimeActivityTypePayload<ExtArgs>
      fields: Prisma.TimeActivityTypeFieldRefs
      operations: {
        findUnique: {
          args: Prisma.TimeActivityTypeFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeActivityTypePayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.TimeActivityTypeFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeActivityTypePayload>
        }
        findFirst: {
          args: Prisma.TimeActivityTypeFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeActivityTypePayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.TimeActivityTypeFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeActivityTypePayload>
        }
        findMany: {
          args: Prisma.TimeActivityTypeFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeActivityTypePayload>[]
        }
        create: {
          args: Prisma.TimeActivityTypeCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeActivityTypePayload>
        }
        createMany: {
          args: Prisma.TimeActivityTypeCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.TimeActivityTypeCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeActivityTypePayload>[]
        }
        delete: {
          args: Prisma.TimeActivityTypeDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeActivityTypePayload>
        }
        update: {
          args: Prisma.TimeActivityTypeUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeActivityTypePayload>
        }
        deleteMany: {
          args: Prisma.TimeActivityTypeDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.TimeActivityTypeUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.TimeActivityTypeUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeActivityTypePayload>[]
        }
        upsert: {
          args: Prisma.TimeActivityTypeUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TimeActivityTypePayload>
        }
        aggregate: {
          args: Prisma.TimeActivityTypeAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateTimeActivityType>
        }
        groupBy: {
          args: Prisma.TimeActivityTypeGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.TimeActivityTypeGroupByOutputType>[]
        }
        count: {
          args: Prisma.TimeActivityTypeCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.TimeActivityTypeCountAggregateOutputType> | number
        }
      }
    }
    CredentialType: {
      payload: Prisma.$CredentialTypePayload<ExtArgs>
      fields: Prisma.CredentialTypeFieldRefs
      operations: {
        findUnique: {
          args: Prisma.CredentialTypeFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CredentialTypePayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.CredentialTypeFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CredentialTypePayload>
        }
        findFirst: {
          args: Prisma.CredentialTypeFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CredentialTypePayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.CredentialTypeFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CredentialTypePayload>
        }
        findMany: {
          args: Prisma.CredentialTypeFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CredentialTypePayload>[]
        }
        create: {
          args: Prisma.CredentialTypeCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CredentialTypePayload>
        }
        createMany: {
          args: Prisma.CredentialTypeCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.CredentialTypeCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CredentialTypePayload>[]
        }
        delete: {
          args: Prisma.CredentialTypeDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CredentialTypePayload>
        }
        update: {
          args: Prisma.CredentialTypeUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CredentialTypePayload>
        }
        deleteMany: {
          args: Prisma.CredentialTypeDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.CredentialTypeUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.CredentialTypeUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CredentialTypePayload>[]
        }
        upsert: {
          args: Prisma.CredentialTypeUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CredentialTypePayload>
        }
        aggregate: {
          args: Prisma.CredentialTypeAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateCredentialType>
        }
        groupBy: {
          args: Prisma.CredentialTypeGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.CredentialTypeGroupByOutputType>[]
        }
        count: {
          args: Prisma.CredentialTypeCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.CredentialTypeCountAggregateOutputType> | number
        }
      }
    }
    SecureValue: {
      payload: Prisma.$SecureValuePayload<ExtArgs>
      fields: Prisma.SecureValueFieldRefs
      operations: {
        findUnique: {
          args: Prisma.SecureValueFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SecureValuePayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.SecureValueFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SecureValuePayload>
        }
        findFirst: {
          args: Prisma.SecureValueFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SecureValuePayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.SecureValueFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SecureValuePayload>
        }
        findMany: {
          args: Prisma.SecureValueFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SecureValuePayload>[]
        }
        create: {
          args: Prisma.SecureValueCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SecureValuePayload>
        }
        createMany: {
          args: Prisma.SecureValueCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.SecureValueCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SecureValuePayload>[]
        }
        delete: {
          args: Prisma.SecureValueDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SecureValuePayload>
        }
        update: {
          args: Prisma.SecureValueUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SecureValuePayload>
        }
        deleteMany: {
          args: Prisma.SecureValueDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.SecureValueUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.SecureValueUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SecureValuePayload>[]
        }
        upsert: {
          args: Prisma.SecureValueUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$SecureValuePayload>
        }
        aggregate: {
          args: Prisma.SecureValueAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateSecureValue>
        }
        groupBy: {
          args: Prisma.SecureValueGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.SecureValueGroupByOutputType>[]
        }
        count: {
          args: Prisma.SecureValueCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.SecureValueCountAggregateOutputType> | number
        }
      }
    }
    Credential: {
      payload: Prisma.$CredentialPayload<ExtArgs>
      fields: Prisma.CredentialFieldRefs
      operations: {
        findUnique: {
          args: Prisma.CredentialFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CredentialPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.CredentialFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CredentialPayload>
        }
        findFirst: {
          args: Prisma.CredentialFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CredentialPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.CredentialFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CredentialPayload>
        }
        findMany: {
          args: Prisma.CredentialFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CredentialPayload>[]
        }
        create: {
          args: Prisma.CredentialCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CredentialPayload>
        }
        createMany: {
          args: Prisma.CredentialCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.CredentialCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CredentialPayload>[]
        }
        delete: {
          args: Prisma.CredentialDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CredentialPayload>
        }
        update: {
          args: Prisma.CredentialUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CredentialPayload>
        }
        deleteMany: {
          args: Prisma.CredentialDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.CredentialUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.CredentialUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CredentialPayload>[]
        }
        upsert: {
          args: Prisma.CredentialUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CredentialPayload>
        }
        aggregate: {
          args: Prisma.CredentialAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateCredential>
        }
        groupBy: {
          args: Prisma.CredentialGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.CredentialGroupByOutputType>[]
        }
        count: {
          args: Prisma.CredentialCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.CredentialCountAggregateOutputType> | number
        }
      }
    }
    GeneratedQuotes: {
      payload: Prisma.$GeneratedQuotesPayload<ExtArgs>
      fields: Prisma.GeneratedQuotesFieldRefs
      operations: {
        findUnique: {
          args: Prisma.GeneratedQuotesFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$GeneratedQuotesPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.GeneratedQuotesFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$GeneratedQuotesPayload>
        }
        findFirst: {
          args: Prisma.GeneratedQuotesFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$GeneratedQuotesPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.GeneratedQuotesFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$GeneratedQuotesPayload>
        }
        findMany: {
          args: Prisma.GeneratedQuotesFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$GeneratedQuotesPayload>[]
        }
        create: {
          args: Prisma.GeneratedQuotesCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$GeneratedQuotesPayload>
        }
        createMany: {
          args: Prisma.GeneratedQuotesCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.GeneratedQuotesCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$GeneratedQuotesPayload>[]
        }
        delete: {
          args: Prisma.GeneratedQuotesDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$GeneratedQuotesPayload>
        }
        update: {
          args: Prisma.GeneratedQuotesUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$GeneratedQuotesPayload>
        }
        deleteMany: {
          args: Prisma.GeneratedQuotesDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.GeneratedQuotesUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.GeneratedQuotesUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$GeneratedQuotesPayload>[]
        }
        upsert: {
          args: Prisma.GeneratedQuotesUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$GeneratedQuotesPayload>
        }
        aggregate: {
          args: Prisma.GeneratedQuotesAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateGeneratedQuotes>
        }
        groupBy: {
          args: Prisma.GeneratedQuotesGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.GeneratedQuotesGroupByOutputType>[]
        }
        count: {
          args: Prisma.GeneratedQuotesCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.GeneratedQuotesCountAggregateOutputType> | number
        }
      }
    }
    TaxCode: {
      payload: Prisma.$TaxCodePayload<ExtArgs>
      fields: Prisma.TaxCodeFieldRefs
      operations: {
        findUnique: {
          args: Prisma.TaxCodeFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TaxCodePayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.TaxCodeFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TaxCodePayload>
        }
        findFirst: {
          args: Prisma.TaxCodeFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TaxCodePayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.TaxCodeFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TaxCodePayload>
        }
        findMany: {
          args: Prisma.TaxCodeFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TaxCodePayload>[]
        }
        create: {
          args: Prisma.TaxCodeCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TaxCodePayload>
        }
        createMany: {
          args: Prisma.TaxCodeCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.TaxCodeCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TaxCodePayload>[]
        }
        delete: {
          args: Prisma.TaxCodeDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TaxCodePayload>
        }
        update: {
          args: Prisma.TaxCodeUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TaxCodePayload>
        }
        deleteMany: {
          args: Prisma.TaxCodeDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.TaxCodeUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.TaxCodeUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TaxCodePayload>[]
        }
        upsert: {
          args: Prisma.TaxCodeUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$TaxCodePayload>
        }
        aggregate: {
          args: Prisma.TaxCodeAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateTaxCode>
        }
        groupBy: {
          args: Prisma.TaxCodeGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.TaxCodeGroupByOutputType>[]
        }
        count: {
          args: Prisma.TaxCodeCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.TaxCodeCountAggregateOutputType> | number
        }
      }
    }
    CwMember: {
      payload: Prisma.$CwMemberPayload<ExtArgs>
      fields: Prisma.CwMemberFieldRefs
      operations: {
        findUnique: {
          args: Prisma.CwMemberFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CwMemberPayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.CwMemberFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CwMemberPayload>
        }
        findFirst: {
          args: Prisma.CwMemberFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CwMemberPayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.CwMemberFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CwMemberPayload>
        }
        findMany: {
          args: Prisma.CwMemberFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CwMemberPayload>[]
        }
        create: {
          args: Prisma.CwMemberCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CwMemberPayload>
        }
        createMany: {
          args: Prisma.CwMemberCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.CwMemberCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CwMemberPayload>[]
        }
        delete: {
          args: Prisma.CwMemberDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CwMemberPayload>
        }
        update: {
          args: Prisma.CwMemberUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CwMemberPayload>
        }
        deleteMany: {
          args: Prisma.CwMemberDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.CwMemberUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.CwMemberUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CwMemberPayload>[]
        }
        upsert: {
          args: Prisma.CwMemberUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CwMemberPayload>
        }
        aggregate: {
          args: Prisma.CwMemberAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateCwMember>
        }
        groupBy: {
          args: Prisma.CwMemberGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.CwMemberGroupByOutputType>[]
        }
        count: {
          args: Prisma.CwMemberCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.CwMemberCountAggregateOutputType> | number
        }
      }
    }
    CwMemberType: {
      payload: Prisma.$CwMemberTypePayload<ExtArgs>
      fields: Prisma.CwMemberTypeFieldRefs
      operations: {
        findUnique: {
          args: Prisma.CwMemberTypeFindUniqueArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CwMemberTypePayload> | null
        }
        findUniqueOrThrow: {
          args: Prisma.CwMemberTypeFindUniqueOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CwMemberTypePayload>
        }
        findFirst: {
          args: Prisma.CwMemberTypeFindFirstArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CwMemberTypePayload> | null
        }
        findFirstOrThrow: {
          args: Prisma.CwMemberTypeFindFirstOrThrowArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CwMemberTypePayload>
        }
        findMany: {
          args: Prisma.CwMemberTypeFindManyArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CwMemberTypePayload>[]
        }
        create: {
          args: Prisma.CwMemberTypeCreateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CwMemberTypePayload>
        }
        createMany: {
          args: Prisma.CwMemberTypeCreateManyArgs<ExtArgs>
          result: BatchPayload
        }
        createManyAndReturn: {
          args: Prisma.CwMemberTypeCreateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CwMemberTypePayload>[]
        }
        delete: {
          args: Prisma.CwMemberTypeDeleteArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CwMemberTypePayload>
        }
        update: {
          args: Prisma.CwMemberTypeUpdateArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CwMemberTypePayload>
        }
        deleteMany: {
          args: Prisma.CwMemberTypeDeleteManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateMany: {
          args: Prisma.CwMemberTypeUpdateManyArgs<ExtArgs>
          result: BatchPayload
        }
        updateManyAndReturn: {
          args: Prisma.CwMemberTypeUpdateManyAndReturnArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CwMemberTypePayload>[]
        }
        upsert: {
          args: Prisma.CwMemberTypeUpsertArgs<ExtArgs>
          result: runtime.Types.Utils.PayloadToResult<Prisma.$CwMemberTypePayload>
        }
        aggregate: {
          args: Prisma.CwMemberTypeAggregateArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.AggregateCwMemberType>
        }
        groupBy: {
          args: Prisma.CwMemberTypeGroupByArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.CwMemberTypeGroupByOutputType>[]
        }
        count: {
          args: Prisma.CwMemberTypeCountArgs<ExtArgs>
          result: runtime.Types.Utils.Optional<Prisma.CwMemberTypeCountAggregateOutputType> | number
        }
      }
    }
  }
} & {
  other: {
    payload: any
    operations: {
      $executeRaw: {
        args: [query: TemplateStringsArray | Sql, ...values: any[]],
        result: any
      }
      $executeRawUnsafe: {
        args: [query: string, ...values: any[]],
        result: any
      }
      $queryRaw: {
        args: [query: TemplateStringsArray | Sql, ...values: any[]],
        result: any
      }
      $queryRawUnsafe: {
        args: [query: string, ...values: any[]],
        result: any
      }
    }
  }
}

/**
 * Enums
 */

export const TransactionIsolationLevel = runtime.makeStrictEnum({
  ReadUncommitted: 'ReadUncommitted',
  ReadCommitted: 'ReadCommitted',
  RepeatableRead: 'RepeatableRead',
  Serializable: 'Serializable'
} as const)

export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel]


export const SyncJobRunScalarFieldEnum = {
  id: 'id',
  jobType: 'jobType',
  status: 'status',
  triggeredBy: 'triggeredBy',
  startedAt: 'startedAt',
  completedAt: 'completedAt',
  errorSummary: 'errorSummary',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type SyncJobRunScalarFieldEnum = (typeof SyncJobRunScalarFieldEnum)[keyof typeof SyncJobRunScalarFieldEnum]


export const SyncStepLogScalarFieldEnum = {
  id: 'id',
  syncJobRunId: 'syncJobRunId',
  tableName: 'tableName',
  syncMode: 'syncMode',
  recordsProcessed: 'recordsProcessed',
  recordsInserted: 'recordsInserted',
  recordsSkipped: 'recordsSkipped',
  recordsFailed: 'recordsFailed',
  recordsDeleted: 'recordsDeleted',
  sampleErrors: 'sampleErrors',
  durationMs: 'durationMs',
  createdAt: 'createdAt'
} as const

export type SyncStepLogScalarFieldEnum = (typeof SyncStepLogScalarFieldEnum)[keyof typeof SyncStepLogScalarFieldEnum]


export const SessionScalarFieldEnum = {
  id: 'id',
  sessionKey: 'sessionKey',
  userId: 'userId',
  expires: 'expires',
  refreshTokenGenerated: 'refreshTokenGenerated',
  refreshedAt: 'refreshedAt',
  invalidatedAt: 'invalidatedAt'
} as const

export type SessionScalarFieldEnum = (typeof SessionScalarFieldEnum)[keyof typeof SessionScalarFieldEnum]


export const UserScalarFieldEnum = {
  id: 'id',
  permissions: 'permissions',
  login: 'login',
  firstName: 'firstName',
  lastName: 'lastName',
  email: 'email',
  image: 'image',
  title: 'title',
  active: 'active',
  hidden: 'hidden',
  cwIdentifier: 'cwIdentifier',
  cwMemberId: 'cwMemberId',
  userId: 'userId',
  token: 'token',
  updatedBy: 'updatedBy',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum]


export const RoleScalarFieldEnum = {
  id: 'id',
  title: 'title',
  moniker: 'moniker',
  permissions: 'permissions',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type RoleScalarFieldEnum = (typeof RoleScalarFieldEnum)[keyof typeof RoleScalarFieldEnum]


export const CorporateLocationScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  name: 'name',
  description: 'description',
  updatedById: 'updatedById',
  addressLine1: 'addressLine1',
  addressLine2: 'addressLine2',
  city: 'city',
  state: 'state',
  zipCode: 'zipCode',
  country: 'country',
  inactiveFlag: 'inactiveFlag',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type CorporateLocationScalarFieldEnum = (typeof CorporateLocationScalarFieldEnum)[keyof typeof CorporateLocationScalarFieldEnum]


export const InternalDepartmentScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  name: 'name',
  description: 'description',
  createdById: 'createdById',
  updatedById: 'updatedById',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type InternalDepartmentScalarFieldEnum = (typeof InternalDepartmentScalarFieldEnum)[keyof typeof InternalDepartmentScalarFieldEnum]


export const UnifiSiteScalarFieldEnum = {
  id: 'id',
  name: 'name',
  siteId: 'siteId',
  companyId: 'companyId',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type UnifiSiteScalarFieldEnum = (typeof UnifiSiteScalarFieldEnum)[keyof typeof UnifiSiteScalarFieldEnum]


export const CompanyScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  name: 'name',
  phone: 'phone',
  website: 'website',
  deleteFlag: 'deleteFlag',
  dateDeleted: 'dateDeleted',
  taxId: 'taxId',
  taxExempt: 'taxExempt',
  enteredById: 'enteredById',
  deletedById: 'deletedById',
  deletedAt: 'deletedAt',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type CompanyScalarFieldEnum = (typeof CompanyScalarFieldEnum)[keyof typeof CompanyScalarFieldEnum]


export const CompanyAddressScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  name: 'name',
  description: 'description',
  addressLine1: 'addressLine1',
  addressLine2: 'addressLine2',
  city: 'city',
  state: 'state',
  zipCode: 'zipCode',
  country: 'country',
  phone: 'phone',
  fax: 'fax',
  inactiveFlag: 'inactiveFlag',
  defaultFlag: 'defaultFlag',
  defaultMailFlag: 'defaultMailFlag',
  defaultBillFlag: 'defaultBillFlag',
  defaultShipFlag: 'defaultShipFlag',
  updatedById: 'updatedById',
  companyId: 'companyId',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type CompanyAddressScalarFieldEnum = (typeof CompanyAddressScalarFieldEnum)[keyof typeof CompanyAddressScalarFieldEnum]


export const ContactScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  active: 'active',
  default: 'default',
  firstName: 'firstName',
  lastName: 'lastName',
  nickname: 'nickname',
  title: 'title',
  gender: 'gender',
  birthday: 'birthday',
  email: 'email',
  phone: 'phone',
  phoneExtension: 'phoneExtension',
  phoneType: 'phoneType',
  companyAddressId: 'companyAddressId',
  memberId: 'memberId',
  companyId: 'companyId',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type ContactScalarFieldEnum = (typeof ContactScalarFieldEnum)[keyof typeof ContactScalarFieldEnum]


export const CatalogItemTypeScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  name: 'name',
  description: 'description',
  inactiveFlag: 'inactiveFlag',
  defaultFlag: 'defaultFlag',
  updatedById: 'updatedById',
  createdById: 'createdById',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type CatalogItemTypeScalarFieldEnum = (typeof CatalogItemTypeScalarFieldEnum)[keyof typeof CatalogItemTypeScalarFieldEnum]


export const CatalogCategoryScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  name: 'name',
  description: 'description',
  inactiveFlag: 'inactiveFlag',
  updatedById: 'updatedById',
  createdById: 'createdById',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type CatalogCategoryScalarFieldEnum = (typeof CatalogCategoryScalarFieldEnum)[keyof typeof CatalogCategoryScalarFieldEnum]


export const CatalogSubcategoryScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  name: 'name',
  description: 'description',
  categoryId: 'categoryId',
  inactiveFlag: 'inactiveFlag',
  updatedById: 'updatedById',
  createdById: 'createdById',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type CatalogSubcategoryScalarFieldEnum = (typeof CatalogSubcategoryScalarFieldEnum)[keyof typeof CatalogSubcategoryScalarFieldEnum]


export const CatalogManufacturerScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  name: 'name',
  description: 'description',
  inactiveFlag: 'inactiveFlag',
  updatedById: 'updatedById',
  createdById: 'createdById',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type CatalogManufacturerScalarFieldEnum = (typeof CatalogManufacturerScalarFieldEnum)[keyof typeof CatalogManufacturerScalarFieldEnum]


export const WarehouseBinScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  name: 'name',
  description: 'description',
  minQuantity: 'minQuantity',
  maxQuantity: 'maxQuantity',
  inactiveFlag: 'inactiveFlag',
  defaultFlag: 'defaultFlag',
  warehouseId: 'warehouseId',
  updatedById: 'updatedById',
  createdById: 'createdById',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type WarehouseBinScalarFieldEnum = (typeof WarehouseBinScalarFieldEnum)[keyof typeof WarehouseBinScalarFieldEnum]


export const ProductInventoryScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  qtyOnHand: 'qtyOnHand',
  warehouseBinId: 'warehouseBinId',
  itemId: 'itemId',
  warehouseId: 'warehouseId',
  updatedById: 'updatedById',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type ProductInventoryScalarFieldEnum = (typeof ProductInventoryScalarFieldEnum)[keyof typeof ProductInventoryScalarFieldEnum]


export const WarehouseScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  name: 'name',
  description: 'description',
  inactiveFlag: 'inactiveFlag',
  lockedFlag: 'lockedFlag',
  updatedById: 'updatedById',
  createdById: 'createdById',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type WarehouseScalarFieldEnum = (typeof WarehouseScalarFieldEnum)[keyof typeof WarehouseScalarFieldEnum]


export const MinimumStockByWarehouseScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  minQty: 'minQty',
  warehouseId: 'warehouseId',
  itemId: 'itemId',
  updatedById: 'updatedById',
  enteredById: 'enteredById',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type MinimumStockByWarehouseScalarFieldEnum = (typeof MinimumStockByWarehouseScalarFieldEnum)[keyof typeof MinimumStockByWarehouseScalarFieldEnum]


export const CatalogItemScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  identifier: 'identifier',
  name: 'name',
  description: 'description',
  customerDescription: 'customerDescription',
  internalNotes: 'internalNotes',
  subcategoryId: 'subcategoryId',
  manufacturerId: 'manufacturerId',
  partNumber: 'partNumber',
  vendorName: 'vendorName',
  vendorSku: 'vendorSku',
  vendorCwId: 'vendorCwId',
  price: 'price',
  cost: 'cost',
  inactive: 'inactive',
  salesTaxable: 'salesTaxable',
  onHand: 'onHand',
  cwLastUpdated: 'cwLastUpdated',
  classId: 'classId',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type CatalogItemScalarFieldEnum = (typeof CatalogItemScalarFieldEnum)[keyof typeof CatalogItemScalarFieldEnum]


export const ProductDataScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  qty: 'qty',
  internalNote: 'internalNote',
  shortDescription: 'shortDescription',
  description: 'description',
  sequenceNumber: 'sequenceNumber',
  procurementNotes: 'procurementNotes',
  productNarrative: 'productNarrative',
  unitPrice: 'unitPrice',
  unitCost: 'unitCost',
  listPrice: 'listPrice',
  discount: 'discount',
  recurringRevenue: 'recurringRevenue',
  recurringCost: 'recurringCost',
  qtyPicked: 'qtyPicked',
  qtyShipped: 'qtyShipped',
  cancelReason: 'cancelReason',
  cancelQty: 'cancelQty',
  billableFlag: 'billableFlag',
  taxableFlag: 'taxableFlag',
  invoiceFlag: 'invoiceFlag',
  recurringFlag: 'recurringFlag',
  poApprovedFlag: 'poApprovedFlag',
  calcPriceFlag: 'calcPriceFlag',
  calcCostFlag: 'calcCostFlag',
  cancelFlag: 'cancelFlag',
  catalogItemId: 'catalogItemId',
  corporateLocationId: 'corporateLocationId',
  serviceTicketId: 'serviceTicketId',
  opportunityId: 'opportunityId',
  updatedById: 'updatedById',
  createdById: 'createdById',
  closedById: 'closedById',
  cancelById: 'cancelById',
  closedAt: 'closedAt',
  cancelledAt: 'cancelledAt',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type ProductDataScalarFieldEnum = (typeof ProductDataScalarFieldEnum)[keyof typeof ProductDataScalarFieldEnum]


export const ServiceTicketScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  summary: 'summary',
  addressLine1: 'addressLine1',
  addressLine2: 'addressLine2',
  city: 'city',
  state: 'state',
  zipCode: 'zipCode',
  country: 'country',
  contactName: 'contactName',
  phone: 'phone',
  phoneExtension: 'phoneExtension',
  phoneType: 'phoneType',
  email: 'email',
  poNumber: 'poNumber',
  billCompleteFlag: 'billCompleteFlag',
  billUnapprovedFlag: 'billUnapprovedFlag',
  billingAmount: 'billingAmount',
  billingMethod: 'billingMethod',
  timeBillableFlag: 'timeBillableFlag',
  expenseBillableFlag: 'expenseBillableFlag',
  productBillableFlag: 'productBillableFlag',
  timeInvoiceableFlag: 'timeInvoiceableFlag',
  expenseInvoiceableFlag: 'expenseInvoiceableFlag',
  productInvoiceableFlag: 'productInvoiceableFlag',
  dateRequested: 'dateRequested',
  billingType: 'billingType',
  billingInstructions: 'billingInstructions',
  rejectedFlag: 'rejectedFlag',
  closedFlag: 'closedFlag',
  redFlag: 'redFlag',
  publishFlag: 'publishFlag',
  ticketOwnerId: 'ticketOwnerId',
  serviceTicketBoardId: 'serviceTicketBoardId',
  severityId: 'severityId',
  impactId: 'impactId',
  priorityId: 'priorityId',
  sourceId: 'sourceId',
  locationId: 'locationId',
  parentId: 'parentId',
  companyId: 'companyId',
  contactId: 'contactId',
  companyAddressId: 'companyAddressId',
  billingCompanyId: 'billingCompanyId',
  billingAddressId: 'billingAddressId',
  createdById: 'createdById',
  updatedById: 'updatedById',
  closedById: 'closedById',
  rejectedAt: 'rejectedAt',
  closedAt: 'closedAt',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type ServiceTicketScalarFieldEnum = (typeof ServiceTicketScalarFieldEnum)[keyof typeof ServiceTicketScalarFieldEnum]


export const ServiceTicketNoteScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  notes: 'notes',
  notesMd: 'notesMd',
  authorId: 'authorId',
  problemFlag: 'problemFlag',
  resolutionFlag: 'resolutionFlag',
  internalAnalysisFlag: 'internalAnalysisFlag',
  internalMemberFlag: 'internalMemberFlag',
  createdByParentFlag: 'createdByParentFlag',
  mergedFlag: 'mergedFlag',
  bundledFlag: 'bundledFlag',
  serviceTicketId: 'serviceTicketId',
  createdById: 'createdById',
  updatedById: 'updatedById',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type ServiceTicketNoteScalarFieldEnum = (typeof ServiceTicketNoteScalarFieldEnum)[keyof typeof ServiceTicketNoteScalarFieldEnum]


export const ServiceTicketTypeScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  name: 'name',
  description: 'description',
  inactiveFlag: 'inactiveFlag',
  updatedById: 'updatedById',
  createdById: 'createdById',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type ServiceTicketTypeScalarFieldEnum = (typeof ServiceTicketTypeScalarFieldEnum)[keyof typeof ServiceTicketTypeScalarFieldEnum]


export const ServiceTicketBoardScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  name: 'name',
  timeBillableFlag: 'timeBillableFlag',
  expenseBillableFlag: 'expenseBillableFlag',
  productBillableFlag: 'productBillableFlag',
  timeInvoiceableFlag: 'timeInvoiceableFlag',
  expenseInvoiceableFlag: 'expenseInvoiceableFlag',
  productInvoiceableFlag: 'productInvoiceableFlag',
  autoAssignNewFlag: 'autoAssignNewFlag',
  autoAssignEmailCreatedFlag: 'autoAssignEmailCreatedFlag',
  autoAssignPortalCreatedFlag: 'autoAssignPortalCreatedFlag',
  projectFlag: 'projectFlag',
  lockDescriptionFlag: 'lockDescriptionFlag',
  emailContactFlag: 'emailContactFlag',
  emailResourceFlag: 'emailResourceFlag',
  resolutionSortOrder: 'resolutionSortOrder',
  internalAnalysisSortOrder: 'internalAnalysisSortOrder',
  locationId: 'locationId',
  createdById: 'createdById',
  updatedById: 'updatedById',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type ServiceTicketBoardScalarFieldEnum = (typeof ServiceTicketBoardScalarFieldEnum)[keyof typeof ServiceTicketBoardScalarFieldEnum]


export const ServiceTicketLocationScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  name: 'name',
  description: 'description',
  defaultFlag: 'defaultFlag',
  updatedById: 'updatedById',
  createdById: 'createdById',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type ServiceTicketLocationScalarFieldEnum = (typeof ServiceTicketLocationScalarFieldEnum)[keyof typeof ServiceTicketLocationScalarFieldEnum]


export const ServiceTicketSourceScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  name: 'name',
  description: 'description',
  inactiveFlag: 'inactiveFlag',
  defaultFlag: 'defaultFlag',
  updatedById: 'updatedById',
  createdById: 'createdById',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type ServiceTicketSourceScalarFieldEnum = (typeof ServiceTicketSourceScalarFieldEnum)[keyof typeof ServiceTicketSourceScalarFieldEnum]


export const ServiceTicketImpactScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  name: 'name',
  description: 'description',
  defaultFlag: 'defaultFlag',
  updatedById: 'updatedById',
  createdById: 'createdById',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type ServiceTicketImpactScalarFieldEnum = (typeof ServiceTicketImpactScalarFieldEnum)[keyof typeof ServiceTicketImpactScalarFieldEnum]


export const ServiceTicketPriorityScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  name: 'name',
  color: 'color',
  description: 'description',
  defaultFlag: 'defaultFlag',
  updatedById: 'updatedById',
  createdById: 'createdById',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type ServiceTicketPriorityScalarFieldEnum = (typeof ServiceTicketPriorityScalarFieldEnum)[keyof typeof ServiceTicketPriorityScalarFieldEnum]


export const ServiceTicketSeverityScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  name: 'name',
  description: 'description',
  defaultFlag: 'defaultFlag',
  updatedById: 'updatedById',
  createdById: 'createdById',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type ServiceTicketSeverityScalarFieldEnum = (typeof ServiceTicketSeverityScalarFieldEnum)[keyof typeof ServiceTicketSeverityScalarFieldEnum]


export const ServiceTicketFinalDataScalarFieldEnum = {
  id: 'id'
} as const

export type ServiceTicketFinalDataScalarFieldEnum = (typeof ServiceTicketFinalDataScalarFieldEnum)[keyof typeof ServiceTicketFinalDataScalarFieldEnum]


export const OpportunityStageScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  name: 'name',
  seqNbr: 'seqNbr',
  funnelColor: 'funnelColor',
  updatedById: 'updatedById',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type OpportunityStageScalarFieldEnum = (typeof OpportunityStageScalarFieldEnum)[keyof typeof OpportunityStageScalarFieldEnum]


export const OpportunityTypeScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  name: 'name',
  description: 'description',
  inactiveFlag: 'inactiveFlag',
  updatedById: 'updatedById',
  createdById: 'createdById',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type OpportunityTypeScalarFieldEnum = (typeof OpportunityTypeScalarFieldEnum)[keyof typeof OpportunityTypeScalarFieldEnum]


export const OpportunityStatusScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  name: 'name',
  description: 'description',
  inactiveFlag: 'inactiveFlag',
  defaultFlag: 'defaultFlag',
  wonFlag: 'wonFlag',
  lostFlag: 'lostFlag',
  closeFlag: 'closeFlag',
  updatedById: 'updatedById',
  createdById: 'createdById',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type OpportunityStatusScalarFieldEnum = (typeof OpportunityStatusScalarFieldEnum)[keyof typeof OpportunityStatusScalarFieldEnum]


export const OpportunityScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  name: 'name',
  notes: 'notes',
  oppNarrative: 'oppNarrative',
  typeId: 'typeId',
  stageId: 'stageId',
  statusId: 'statusId',
  taxCodeId: 'taxCodeId',
  interest: 'interest',
  probability: 'probability',
  source: 'source',
  primarySalesRepId: 'primarySalesRepId',
  secondarySalesRepId: 'secondarySalesRepId',
  companyId: 'companyId',
  contactId: 'contactId',
  siteId: 'siteId',
  customerPO: 'customerPO',
  locationId: 'locationId',
  departmentId: 'departmentId',
  expectedCloseDate: 'expectedCloseDate',
  pipelineChangeDate: 'pipelineChangeDate',
  dateBecameLead: 'dateBecameLead',
  closedDate: 'closedDate',
  closedFlag: 'closedFlag',
  closedById: 'closedById',
  productSequence: 'productSequence',
  updatedBy: 'updatedBy',
  eneteredBy: 'eneteredBy',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type OpportunityScalarFieldEnum = (typeof OpportunityScalarFieldEnum)[keyof typeof OpportunityScalarFieldEnum]


export const ScheduleStatusScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  name: 'name',
  description: 'description',
  color: 'color',
  softFlag: 'softFlag',
  defaultFlag: 'defaultFlag',
  updatedById: 'updatedById',
  createdById: 'createdById',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type ScheduleStatusScalarFieldEnum = (typeof ScheduleStatusScalarFieldEnum)[keyof typeof ScheduleStatusScalarFieldEnum]


export const ScheduleTypeScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  name: 'name',
  description: 'description',
  displayColor: 'displayColor',
  tableReference: 'tableReference',
  moduleId: 'moduleId',
  scheduleTypeId: 'scheduleTypeId',
  systemFlag: 'systemFlag',
  displayFlag: 'displayFlag',
  updatedById: 'updatedById',
  createdById: 'createdById',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type ScheduleTypeScalarFieldEnum = (typeof ScheduleTypeScalarFieldEnum)[keyof typeof ScheduleTypeScalarFieldEnum]


export const ScheduleSpanScalarFieldEnum = {
  id: 'id',
  scheduleSpanId: 'scheduleSpanId',
  spanDesc: 'spanDesc'
} as const

export type ScheduleSpanScalarFieldEnum = (typeof ScheduleSpanScalarFieldEnum)[keyof typeof ScheduleSpanScalarFieldEnum]


export const ScheduleScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  name: 'name',
  description: 'description',
  memberId: 'memberId',
  closedFlag: 'closedFlag',
  reminderFlag: 'reminderFlag',
  allDayFlag: 'allDayFlag',
  acknowledgementFlag: 'acknowledgementFlag',
  meetingFlag: 'meetingFlag',
  recurringFlag: 'recurringFlag',
  billableFlag: 'billableFlag',
  acknowledgedById: 'acknowledgedById',
  acknowledgedAt: 'acknowledgedAt',
  startDate: 'startDate',
  endDate: 'endDate',
  hoursScheduled: 'hoursScheduled',
  duration: 'duration',
  hoursPerDay: 'hoursPerDay',
  reminderMinutes: 'reminderMinutes',
  statusId: 'statusId',
  typeId: 'typeId',
  scheduleSpanId: 'scheduleSpanId',
  updatedById: 'updatedById',
  createdById: 'createdById',
  closedById: 'closedById',
  closedAt: 'closedAt',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type ScheduleScalarFieldEnum = (typeof ScheduleScalarFieldEnum)[keyof typeof ScheduleScalarFieldEnum]


export const ActivityScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  subject: 'subject',
  startTime: 'startTime',
  endTime: 'endTime',
  assignToId: 'assignToId',
  assignedById: 'assignedById',
  enteredBy: 'enteredBy',
  automated: 'automated',
  closedFlag: 'closedFlag',
  notifyCompleteFlag: 'notifyCompleteFlag',
  notificationSentFlat: 'notificationSentFlat',
  opportunityId: 'opportunityId',
  serviceTicketId: 'serviceTicketId',
  contactId: 'contactId',
  companyId: 'companyId',
  activityTypeId: 'activityTypeId',
  activityStatusId: 'activityStatusId',
  createdById: 'createdById',
  updatedById: 'updatedById',
  closedById: 'closedById',
  closedAt: 'closedAt',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type ActivityScalarFieldEnum = (typeof ActivityScalarFieldEnum)[keyof typeof ActivityScalarFieldEnum]


export const ActivityNotesScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  notes: 'notes',
  activityId: 'activityId',
  internalAnalysisFlag: 'internalAnalysisFlag',
  enteredById: 'enteredById',
  updatedById: 'updatedById',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type ActivityNotesScalarFieldEnum = (typeof ActivityNotesScalarFieldEnum)[keyof typeof ActivityNotesScalarFieldEnum]


export const ActivityTypeScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  name: 'name',
  description: 'description',
  inactiveFlag: 'inactiveFlag',
  historyFlag: 'historyFlag',
  defaultFlag: 'defaultFlag',
  importFlag: 'importFlag',
  emailFlag: 'emailFlag',
  memoFlag: 'memoFlag',
  pointsValue: 'pointsValue',
  updatedById: 'updatedById',
  createdById: 'createdById',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type ActivityTypeScalarFieldEnum = (typeof ActivityTypeScalarFieldEnum)[keyof typeof ActivityTypeScalarFieldEnum]


export const ActivityStatusScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  name: 'name',
  description: 'description',
  closedFlag: 'closedFlag',
  inactiveFlag: 'inactiveFlag',
  defaultFlag: 'defaultFlag',
  spawnFollowupFlag: 'spawnFollowupFlag',
  updatedById: 'updatedById',
  createdById: 'createdById',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type ActivityStatusScalarFieldEnum = (typeof ActivityStatusScalarFieldEnum)[keyof typeof ActivityStatusScalarFieldEnum]


export const TimeEntryScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  memberId: 'memberId',
  serviceTicketId: 'serviceTicketId',
  activityId: 'activityId',
  projectId: 'projectId',
  chargeCodeId: 'chargeCodeId',
  companyId: 'companyId',
  statusId: 'statusId',
  locationId: 'locationId',
  contactId: 'contactId',
  dateStart: 'dateStart',
  timeStart: 'timeStart',
  timeEnd: 'timeEnd',
  notes: 'notes',
  notesMd: 'notesMd',
  internalNote: 'internalNote',
  billableHours: 'billableHours',
  actualHours: 'actualHours',
  invoicedHours: 'invoicedHours',
  deductedHours: 'deductedHours',
  hourlyRate: 'hourlyRate',
  effectiveRate: 'effectiveRate',
  issueFlag: 'issueFlag',
  mergedFlag: 'mergedFlag',
  invoiceFlag: 'invoiceFlag',
  billableFlag: 'billableFlag',
  documentFlag: 'documentFlag',
  teProblemFlag: 'teProblemFlag',
  teResolutionFlag: 'teResolutionFlag',
  teInternalAnalysisFlag: 'teInternalAnalysisFlag',
  chargeToRecId: 'chargeToRecId',
  chargeToType: 'chargeToType',
  createdById: 'createdById',
  updatedById: 'updatedById',
  originalAuthorId: 'originalAuthorId',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type TimeEntryScalarFieldEnum = (typeof TimeEntryScalarFieldEnum)[keyof typeof TimeEntryScalarFieldEnum]


export const TimeEntryStatusScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  statusId: 'statusId',
  description: 'description',
  action: 'action',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type TimeEntryStatusScalarFieldEnum = (typeof TimeEntryStatusScalarFieldEnum)[keyof typeof TimeEntryStatusScalarFieldEnum]


export const TimeEntryChargeCodeScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  chargeCodeId: 'chargeCodeId',
  description: 'description',
  expenseFlag: 'expenseFlag',
  timeFlag: 'timeFlag',
  billableFlag: 'billableFlag',
  invoiceFlag: 'invoiceFlag',
  updatedById: 'updatedById',
  createdById: 'createdById',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type TimeEntryChargeCodeScalarFieldEnum = (typeof TimeEntryChargeCodeScalarFieldEnum)[keyof typeof TimeEntryChargeCodeScalarFieldEnum]


export const TimeActivityClassScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  description: 'description',
  hourlyRate: 'hourlyRate',
  inactiveFlag: 'inactiveFlag',
  taxExemptFlag: 'taxExemptFlag',
  createdById: 'createdById',
  updatedById: 'updatedById',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type TimeActivityClassScalarFieldEnum = (typeof TimeActivityClassScalarFieldEnum)[keyof typeof TimeActivityClassScalarFieldEnum]


export const TimeActivityTypeScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  description: 'description',
  minHours: 'minHours',
  maxHours: 'maxHours',
  rate: 'rate',
  costMultiplier: 'costMultiplier',
  inactiveFlag: 'inactiveFlag',
  invoiceFlag: 'invoiceFlag',
  billableFlag: 'billableFlag',
  utilizationFlag: 'utilizationFlag',
  defaultFlag: 'defaultFlag',
  multiplierFlag: 'multiplierFlag',
  createdById: 'createdById',
  updatedById: 'updatedById',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type TimeActivityTypeScalarFieldEnum = (typeof TimeActivityTypeScalarFieldEnum)[keyof typeof TimeActivityTypeScalarFieldEnum]


export const CredentialTypeScalarFieldEnum = {
  id: 'id',
  name: 'name',
  permissionScope: 'permissionScope',
  icon: 'icon',
  fields: 'fields',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type CredentialTypeScalarFieldEnum = (typeof CredentialTypeScalarFieldEnum)[keyof typeof CredentialTypeScalarFieldEnum]


export const SecureValueScalarFieldEnum = {
  id: 'id',
  name: 'name',
  content: 'content',
  hash: 'hash',
  credentialId: 'credentialId',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type SecureValueScalarFieldEnum = (typeof SecureValueScalarFieldEnum)[keyof typeof SecureValueScalarFieldEnum]


export const CredentialScalarFieldEnum = {
  id: 'id',
  name: 'name',
  notes: 'notes',
  subCredentialOfId: 'subCredentialOfId',
  typeId: 'typeId',
  fields: 'fields',
  companyId: 'companyId',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type CredentialScalarFieldEnum = (typeof CredentialScalarFieldEnum)[keyof typeof CredentialScalarFieldEnum]


export const GeneratedQuotesScalarFieldEnum = {
  id: 'id',
  quoteRegenData: 'quoteRegenData',
  quoteRegenParams: 'quoteRegenParams',
  quoteRegenHash: 'quoteRegenHash',
  downloads: 'downloads',
  quoteFile: 'quoteFile',
  quoteFileName: 'quoteFileName',
  opportunityId: 'opportunityId',
  createdById: 'createdById',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type GeneratedQuotesScalarFieldEnum = (typeof GeneratedQuotesScalarFieldEnum)[keyof typeof GeneratedQuotesScalarFieldEnum]


export const TaxCodeScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  code: 'code',
  codeCaption: 'codeCaption',
  description: 'description',
  rate: 'rate',
  defaultFlag: 'defaultFlag',
  createdBy: 'createdBy',
  updatedBy: 'updatedBy',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type TaxCodeScalarFieldEnum = (typeof TaxCodeScalarFieldEnum)[keyof typeof TaxCodeScalarFieldEnum]


export const CwMemberScalarFieldEnum = {
  id: 'id',
  cwMemberId: 'cwMemberId',
  identifier: 'identifier',
  firstName: 'firstName',
  lastName: 'lastName',
  officeEmail: 'officeEmail',
  inactiveFlag: 'inactiveFlag',
  apiKey: 'apiKey',
  cwLastUpdated: 'cwLastUpdated',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type CwMemberScalarFieldEnum = (typeof CwMemberScalarFieldEnum)[keyof typeof CwMemberScalarFieldEnum]


export const CwMemberTypeScalarFieldEnum = {
  id: 'id',
  uid: 'uid',
  description: 'description',
  inactiveFlag: 'inactiveFlag',
  updatedById: 'updatedById',
  createdById: 'createdById',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type CwMemberTypeScalarFieldEnum = (typeof CwMemberTypeScalarFieldEnum)[keyof typeof CwMemberTypeScalarFieldEnum]


export const SortOrder = {
  asc: 'asc',
  desc: 'desc'
} as const

export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder]


export const JsonNullValueInput = {
  JsonNull: JsonNull
} as const

export type JsonNullValueInput = (typeof JsonNullValueInput)[keyof typeof JsonNullValueInput]


export const QueryMode = {
  default: 'default',
  insensitive: 'insensitive'
} as const

export type QueryMode = (typeof QueryMode)[keyof typeof QueryMode]


export const NullsOrder = {
  first: 'first',
  last: 'last'
} as const

export type NullsOrder = (typeof NullsOrder)[keyof typeof NullsOrder]


export const JsonNullValueFilter = {
  DbNull: DbNull,
  JsonNull: JsonNull,
  AnyNull: AnyNull
} as const

export type JsonNullValueFilter = (typeof JsonNullValueFilter)[keyof typeof JsonNullValueFilter]



/**
 * Field references
 */


/**
 * Reference to a field of type 'String'
 */
export type StringFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'String'>
    


/**
 * Reference to a field of type 'String[]'
 */
export type ListStringFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'String[]'>
    


/**
 * Reference to a field of type 'SyncJobType'
 */
export type EnumSyncJobTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'SyncJobType'>
    


/**
 * Reference to a field of type 'SyncJobType[]'
 */
export type ListEnumSyncJobTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'SyncJobType[]'>
    


/**
 * Reference to a field of type 'SyncJobStatus'
 */
export type EnumSyncJobStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'SyncJobStatus'>
    


/**
 * Reference to a field of type 'SyncJobStatus[]'
 */
export type ListEnumSyncJobStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'SyncJobStatus[]'>
    


/**
 * Reference to a field of type 'DateTime'
 */
export type DateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime'>
    


/**
 * Reference to a field of type 'DateTime[]'
 */
export type ListDateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime[]'>
    


/**
 * Reference to a field of type 'Int'
 */
export type IntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Int'>
    


/**
 * Reference to a field of type 'Int[]'
 */
export type ListIntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Int[]'>
    


/**
 * Reference to a field of type 'Json'
 */
export type JsonFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Json'>
    


/**
 * Reference to a field of type 'QueryMode'
 */
export type EnumQueryModeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'QueryMode'>
    


/**
 * Reference to a field of type 'Boolean'
 */
export type BooleanFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Boolean'>
    


/**
 * Reference to a field of type 'USState'
 */
export type EnumUSStateFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'USState'>
    


/**
 * Reference to a field of type 'USState[]'
 */
export type ListEnumUSStateFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'USState[]'>
    


/**
 * Reference to a field of type 'Country'
 */
export type EnumCountryFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Country'>
    


/**
 * Reference to a field of type 'Country[]'
 */
export type ListEnumCountryFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Country[]'>
    


/**
 * Reference to a field of type 'GenderType'
 */
export type EnumGenderTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'GenderType'>
    


/**
 * Reference to a field of type 'GenderType[]'
 */
export type ListEnumGenderTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'GenderType[]'>
    


/**
 * Reference to a field of type 'PhoneType'
 */
export type EnumPhoneTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'PhoneType'>
    


/**
 * Reference to a field of type 'PhoneType[]'
 */
export type ListEnumPhoneTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'PhoneType[]'>
    


/**
 * Reference to a field of type 'Float'
 */
export type FloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float'>
    


/**
 * Reference to a field of type 'Float[]'
 */
export type ListFloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float[]'>
    


/**
 * Reference to a field of type 'BillingMethod'
 */
export type EnumBillingMethodFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'BillingMethod'>
    


/**
 * Reference to a field of type 'BillingMethod[]'
 */
export type ListEnumBillingMethodFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'BillingMethod[]'>
    


/**
 * Reference to a field of type 'BillingType'
 */
export type EnumBillingTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'BillingType'>
    


/**
 * Reference to a field of type 'BillingType[]'
 */
export type ListEnumBillingTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'BillingType[]'>
    


/**
 * Reference to a field of type 'OpportunityInterest'
 */
export type EnumOpportunityInterestFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'OpportunityInterest'>
    


/**
 * Reference to a field of type 'OpportunityInterest[]'
 */
export type ListEnumOpportunityInterestFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'OpportunityInterest[]'>
    


/**
 * Reference to a field of type 'Bytes'
 */
export type BytesFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Bytes'>
    


/**
 * Reference to a field of type 'Bytes[]'
 */
export type ListBytesFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Bytes[]'>
    

/**
 * Batch Payload for updateMany & deleteMany & createMany
 */
export type BatchPayload = {
  count: number
}

export const defineExtension = runtime.Extensions.defineExtension as unknown as runtime.Types.Extensions.ExtendsHook<"define", TypeMapCb, runtime.Types.Extensions.DefaultArgs>
export type DefaultPrismaClient = PrismaClient
export type ErrorFormat = 'pretty' | 'colorless' | 'minimal'
export type PrismaClientOptions = ({
  /**
   * Instance of a Driver Adapter, e.g., like one provided by `@prisma/adapter-pg`.
   */
  adapter: runtime.SqlDriverAdapterFactory
  accelerateUrl?: never
} | {
  /**
   * Prisma Accelerate URL allowing the client to connect through Accelerate instead of a direct database.
   */
  accelerateUrl: string
  adapter?: never
}) & {
  /**
   * @default "colorless"
   */
  errorFormat?: ErrorFormat
  /**
   * @example
   * ```
   * // Shorthand for `emit: 'stdout'`
   * log: ['query', 'info', 'warn', 'error']
   * 
   * // Emit as events only
   * log: [
   *   { emit: 'event', level: 'query' },
   *   { emit: 'event', level: 'info' },
   *   { emit: 'event', level: 'warn' }
   *   { emit: 'event', level: 'error' }
   * ]
   * 
   * / Emit as events and log to stdout
   * og: [
   *  { emit: 'stdout', level: 'query' },
   *  { emit: 'stdout', level: 'info' },
   *  { emit: 'stdout', level: 'warn' }
   *  { emit: 'stdout', level: 'error' }
   * 
   * ```
   * Read more in our [docs](https://pris.ly/d/logging).
   */
  log?: (LogLevel | LogDefinition)[]
  /**
   * The default values for transactionOptions
   * maxWait ?= 2000
   * timeout ?= 5000
   */
  transactionOptions?: {
    maxWait?: number
    timeout?: number
    isolationLevel?: TransactionIsolationLevel
  }
  /**
   * Global configuration for omitting model fields by default.
   * 
   * @example
   * ```
   * const prisma = new PrismaClient({
   *   omit: {
   *     user: {
   *       password: true
   *     }
   *   }
   * })
   * ```
   */
  omit?: GlobalOmitConfig
  /**
   * SQL commenter plugins that add metadata to SQL queries as comments.
   * Comments follow the sqlcommenter format: https://google.github.io/sqlcommenter/
   * 
   * @example
   * ```
   * const prisma = new PrismaClient({
   *   adapter,
   *   comments: [
   *     traceContext(),
   *     queryInsights(),
   *   ],
   * })
   * ```
   */
  comments?: runtime.SqlCommenterPlugin[]
}
export type GlobalOmitConfig = {
  syncJobRun?: Prisma.SyncJobRunOmit
  syncStepLog?: Prisma.SyncStepLogOmit
  session?: Prisma.SessionOmit
  user?: Prisma.UserOmit
  role?: Prisma.RoleOmit
  corporateLocation?: Prisma.CorporateLocationOmit
  internalDepartment?: Prisma.InternalDepartmentOmit
  unifiSite?: Prisma.UnifiSiteOmit
  company?: Prisma.CompanyOmit
  companyAddress?: Prisma.CompanyAddressOmit
  contact?: Prisma.ContactOmit
  catalogItemType?: Prisma.CatalogItemTypeOmit
  catalogCategory?: Prisma.CatalogCategoryOmit
  catalogSubcategory?: Prisma.CatalogSubcategoryOmit
  catalogManufacturer?: Prisma.CatalogManufacturerOmit
  warehouseBin?: Prisma.WarehouseBinOmit
  productInventory?: Prisma.ProductInventoryOmit
  warehouse?: Prisma.WarehouseOmit
  minimumStockByWarehouse?: Prisma.MinimumStockByWarehouseOmit
  catalogItem?: Prisma.CatalogItemOmit
  productData?: Prisma.ProductDataOmit
  serviceTicket?: Prisma.ServiceTicketOmit
  serviceTicketNote?: Prisma.ServiceTicketNoteOmit
  serviceTicketType?: Prisma.ServiceTicketTypeOmit
  serviceTicketBoard?: Prisma.ServiceTicketBoardOmit
  serviceTicketLocation?: Prisma.ServiceTicketLocationOmit
  serviceTicketSource?: Prisma.ServiceTicketSourceOmit
  serviceTicketImpact?: Prisma.ServiceTicketImpactOmit
  serviceTicketPriority?: Prisma.ServiceTicketPriorityOmit
  serviceTicketSeverity?: Prisma.ServiceTicketSeverityOmit
  serviceTicketFinalData?: Prisma.ServiceTicketFinalDataOmit
  opportunityStage?: Prisma.OpportunityStageOmit
  opportunityType?: Prisma.OpportunityTypeOmit
  opportunityStatus?: Prisma.OpportunityStatusOmit
  opportunity?: Prisma.OpportunityOmit
  scheduleStatus?: Prisma.ScheduleStatusOmit
  scheduleType?: Prisma.ScheduleTypeOmit
  scheduleSpan?: Prisma.ScheduleSpanOmit
  schedule?: Prisma.ScheduleOmit
  activity?: Prisma.ActivityOmit
  activityNotes?: Prisma.ActivityNotesOmit
  activityType?: Prisma.ActivityTypeOmit
  activityStatus?: Prisma.ActivityStatusOmit
  timeEntry?: Prisma.TimeEntryOmit
  timeEntryStatus?: Prisma.TimeEntryStatusOmit
  timeEntryChargeCode?: Prisma.TimeEntryChargeCodeOmit
  timeActivityClass?: Prisma.TimeActivityClassOmit
  timeActivityType?: Prisma.TimeActivityTypeOmit
  credentialType?: Prisma.CredentialTypeOmit
  secureValue?: Prisma.SecureValueOmit
  credential?: Prisma.CredentialOmit
  generatedQuotes?: Prisma.GeneratedQuotesOmit
  taxCode?: Prisma.TaxCodeOmit
  cwMember?: Prisma.CwMemberOmit
  cwMemberType?: Prisma.CwMemberTypeOmit
}

/* Types for Logging */
export type LogLevel = 'info' | 'query' | 'warn' | 'error'
export type LogDefinition = {
  level: LogLevel
  emit: 'stdout' | 'event'
}

export type CheckIsLogLevel<T> = T extends LogLevel ? T : never;

export type GetLogType<T> = CheckIsLogLevel<
  T extends LogDefinition ? T['level'] : T
>;

export type GetEvents<T extends any[]> = T extends Array<LogLevel | LogDefinition>
  ? GetLogType<T[number]>
  : 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'
  | 'createManyAndReturn'
  | 'update'
  | 'updateMany'
  | 'updateManyAndReturn'
  | 'upsert'
  | 'delete'
  | 'deleteMany'
  | 'executeRaw'
  | 'queryRaw'
  | 'aggregate'
  | 'count'
  | 'runCommandRaw'
  | 'findRaw'
  | 'groupBy'

/**
 * `PrismaClient` proxy available in interactive transactions.
 */
export type TransactionClient = Omit<DefaultPrismaClient, runtime.ITXClientDenyList>

