/** * Client **/ import * as runtime from '@prisma/client/runtime/library.js'; import $Types = runtime.Types // general types import $Public = runtime.Types.Public import $Utils = runtime.Types.Utils import $Extensions = runtime.Types.Extensions import $Result = runtime.Types.Result export type PrismaPromise = $Public.PrismaPromise /** * Model User * */ export type User = $Result.DefaultSelection /** * Model Account * */ export type Account = $Result.DefaultSelection /** * Model Session * */ export type Session = $Result.DefaultSelection /** * Model FamilyGroup * */ export type FamilyGroup = $Result.DefaultSelection /** * Model FamilyGroupMember * */ export type FamilyGroupMember = $Result.DefaultSelection /** * Model Subscription * */ export type Subscription = $Result.DefaultSelection /** * Model WatchlistItem * */ export type WatchlistItem = $Result.DefaultSelection /** * Model Exposure * */ export type Exposure = $Result.DefaultSelection /** * Model Alert * */ export type Alert = $Result.DefaultSelection /** * Model VoiceEnrollment * */ export type VoiceEnrollment = $Result.DefaultSelection /** * Model VoiceAnalysis * */ export type VoiceAnalysis = $Result.DefaultSelection /** * Model SpamFeedback * */ export type SpamFeedback = $Result.DefaultSelection /** * Model SpamRule * */ export type SpamRule = $Result.DefaultSelection /** * Model AuditLog * */ export type AuditLog = $Result.DefaultSelection /** * Model KPISnapshot * */ export type KPISnapshot = $Result.DefaultSelection /** * Enums */ export namespace $Enums { export const UserRole: { user: 'user', family_admin: 'family_admin', family_member: 'family_member', support: 'support' }; export type UserRole = (typeof UserRole)[keyof typeof UserRole] export const FamilyMemberRole: { owner: 'owner', admin: 'admin', member: 'member' }; export type FamilyMemberRole = (typeof FamilyMemberRole)[keyof typeof FamilyMemberRole] export const SubscriptionTier: { basic: 'basic', plus: 'plus', premium: 'premium' }; export type SubscriptionTier = (typeof SubscriptionTier)[keyof typeof SubscriptionTier] export const SubscriptionStatus: { active: 'active', past_due: 'past_due', canceled: 'canceled', unpaid: 'unpaid', trialing: 'trialing' }; export type SubscriptionStatus = (typeof SubscriptionStatus)[keyof typeof SubscriptionStatus] export const WatchlistType: { email: 'email', phoneNumber: 'phoneNumber', ssn: 'ssn', address: 'address', domain: 'domain' }; export type WatchlistType = (typeof WatchlistType)[keyof typeof WatchlistType] export const ExposureSource: { hibp: 'hibp', securityTrails: 'securityTrails', censys: 'censys', darkWebForum: 'darkWebForum', shodan: 'shodan', honeypot: 'honeypot' }; export type ExposureSource = (typeof ExposureSource)[keyof typeof ExposureSource] export const ExposureSeverity: { info: 'info', warning: 'warning', critical: 'critical' }; export type ExposureSeverity = (typeof ExposureSeverity)[keyof typeof ExposureSeverity] export const AlertType: { exposure_detected: 'exposure_detected', exposure_resolved: 'exposure_resolved', scan_complete: 'scan_complete', subscription_changed: 'subscription_changed', system_warning: 'system_warning' }; export type AlertType = (typeof AlertType)[keyof typeof AlertType] export const AlertSeverity: { info: 'info', warning: 'warning', critical: 'critical' }; export type AlertSeverity = (typeof AlertSeverity)[keyof typeof AlertSeverity] export const AlertChannel: { email: 'email', push: 'push', sms: 'sms' }; export type AlertChannel = (typeof AlertChannel)[keyof typeof AlertChannel] export const FeedbackType: { initial_detection: 'initial_detection', user_confirmation: 'user_confirmation', user_rejection: 'user_rejection', auto_learned: 'auto_learned' }; export type FeedbackType = (typeof FeedbackType)[keyof typeof FeedbackType] export const RuleType: { phoneNumber: 'phoneNumber', areaCode: 'areaCode', prefix: 'prefix', pattern: 'pattern', reputation: 'reputation' }; export type RuleType = (typeof RuleType)[keyof typeof RuleType] export const RuleAction: { block: 'block', flag: 'flag', allow: 'allow', challenge: 'challenge' }; export type RuleAction = (typeof RuleAction)[keyof typeof RuleAction] } export type UserRole = $Enums.UserRole export const UserRole: typeof $Enums.UserRole export type FamilyMemberRole = $Enums.FamilyMemberRole export const FamilyMemberRole: typeof $Enums.FamilyMemberRole export type SubscriptionTier = $Enums.SubscriptionTier export const SubscriptionTier: typeof $Enums.SubscriptionTier export type SubscriptionStatus = $Enums.SubscriptionStatus export const SubscriptionStatus: typeof $Enums.SubscriptionStatus export type WatchlistType = $Enums.WatchlistType export const WatchlistType: typeof $Enums.WatchlistType export type ExposureSource = $Enums.ExposureSource export const ExposureSource: typeof $Enums.ExposureSource export type ExposureSeverity = $Enums.ExposureSeverity export const ExposureSeverity: typeof $Enums.ExposureSeverity export type AlertType = $Enums.AlertType export const AlertType: typeof $Enums.AlertType export type AlertSeverity = $Enums.AlertSeverity export const AlertSeverity: typeof $Enums.AlertSeverity export type AlertChannel = $Enums.AlertChannel export const AlertChannel: typeof $Enums.AlertChannel export type FeedbackType = $Enums.FeedbackType export const FeedbackType: typeof $Enums.FeedbackType export type RuleType = $Enums.RuleType export const RuleType: typeof $Enums.RuleType export type RuleAction = $Enums.RuleAction export const RuleAction: typeof $Enums.RuleAction /** * ## Prisma Client ʲˢ * * Type-safe database client for TypeScript & Node.js * @example * ``` * const prisma = new PrismaClient() * // Fetch zero or more Users * const users = await prisma.user.findMany() * ``` * * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client). */ export class PrismaClient< ClientOptions extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions, U = 'log' extends keyof ClientOptions ? ClientOptions['log'] extends Array ? Prisma.GetEvents : never : never, ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs > { [K: symbol]: { types: Prisma.TypeMap['other'] } /** * ## Prisma Client ʲˢ * * Type-safe database client for TypeScript & Node.js * @example * ``` * const prisma = new PrismaClient() * // Fetch zero or more Users * const users = await prisma.user.findMany() * ``` * * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client). */ constructor(optionsArg ?: Prisma.Subset); $on(eventType: V, callback: (event: V extends 'query' ? Prisma.QueryEvent : Prisma.LogEvent) => void): void; /** * Connect with the database */ $connect(): $Utils.JsPromise; /** * Disconnect from the database */ $disconnect(): $Utils.JsPromise; /** * Add a middleware * @deprecated since 4.16.0. For new code, prefer client extensions instead. * @see https://pris.ly/d/extensions */ $use(cb: Prisma.Middleware): void /** * Executes a prepared raw query and returns the number of affected rows. * @example * ``` * const result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};` * ``` * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). */ $executeRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise; /** * Executes a raw query and returns the number of affected rows. * Susceptible to SQL injections, see documentation. * @example * ``` * const result = await prisma.$executeRawUnsafe('UPDATE User SET cool = $1 WHERE email = $2 ;', true, 'user@email.com') * ``` * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). */ $executeRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise; /** * Performs a prepared raw query and returns the `SELECT` data. * @example * ``` * const result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};` * ``` * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). */ $queryRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise; /** * Performs a raw query and returns the `SELECT` data. * Susceptible to SQL injections, see documentation. * @example * ``` * const result = await prisma.$queryRawUnsafe('SELECT * FROM User WHERE id = $1 OR email = $2;', 1, 'user@email.com') * ``` * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). */ $queryRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise; /** * Allows the running of a sequence of read/write operations that are guaranteed to either succeed or fail as a whole. * @example * ``` * const [george, bob, alice] = await prisma.$transaction([ * prisma.user.create({ data: { name: 'George' } }), * prisma.user.create({ data: { name: 'Bob' } }), * prisma.user.create({ data: { name: 'Alice' } }), * ]) * ``` * * Read more in our [docs](https://www.prisma.io/docs/concepts/components/prisma-client/transactions). */ $transaction

[]>(arg: [...P], options?: { isolationLevel?: Prisma.TransactionIsolationLevel }): $Utils.JsPromise> $transaction(fn: (prisma: Omit) => $Utils.JsPromise, options?: { maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel }): $Utils.JsPromise $extends: $Extensions.ExtendsHook<"extends", Prisma.TypeMapCb, ExtArgs> /** * `prisma.user`: Exposes CRUD operations for the **User** model. * Example usage: * ```ts * // Fetch zero or more Users * const users = await prisma.user.findMany() * ``` */ get user(): Prisma.UserDelegate; /** * `prisma.account`: Exposes CRUD operations for the **Account** model. * Example usage: * ```ts * // Fetch zero or more Accounts * const accounts = await prisma.account.findMany() * ``` */ get account(): Prisma.AccountDelegate; /** * `prisma.session`: Exposes CRUD operations for the **Session** model. * Example usage: * ```ts * // Fetch zero or more Sessions * const sessions = await prisma.session.findMany() * ``` */ get session(): Prisma.SessionDelegate; /** * `prisma.familyGroup`: Exposes CRUD operations for the **FamilyGroup** model. * Example usage: * ```ts * // Fetch zero or more FamilyGroups * const familyGroups = await prisma.familyGroup.findMany() * ``` */ get familyGroup(): Prisma.FamilyGroupDelegate; /** * `prisma.familyGroupMember`: Exposes CRUD operations for the **FamilyGroupMember** model. * Example usage: * ```ts * // Fetch zero or more FamilyGroupMembers * const familyGroupMembers = await prisma.familyGroupMember.findMany() * ``` */ get familyGroupMember(): Prisma.FamilyGroupMemberDelegate; /** * `prisma.subscription`: Exposes CRUD operations for the **Subscription** model. * Example usage: * ```ts * // Fetch zero or more Subscriptions * const subscriptions = await prisma.subscription.findMany() * ``` */ get subscription(): Prisma.SubscriptionDelegate; /** * `prisma.watchlistItem`: Exposes CRUD operations for the **WatchlistItem** model. * Example usage: * ```ts * // Fetch zero or more WatchlistItems * const watchlistItems = await prisma.watchlistItem.findMany() * ``` */ get watchlistItem(): Prisma.WatchlistItemDelegate; /** * `prisma.exposure`: Exposes CRUD operations for the **Exposure** model. * Example usage: * ```ts * // Fetch zero or more Exposures * const exposures = await prisma.exposure.findMany() * ``` */ get exposure(): Prisma.ExposureDelegate; /** * `prisma.alert`: Exposes CRUD operations for the **Alert** model. * Example usage: * ```ts * // Fetch zero or more Alerts * const alerts = await prisma.alert.findMany() * ``` */ get alert(): Prisma.AlertDelegate; /** * `prisma.voiceEnrollment`: Exposes CRUD operations for the **VoiceEnrollment** model. * Example usage: * ```ts * // Fetch zero or more VoiceEnrollments * const voiceEnrollments = await prisma.voiceEnrollment.findMany() * ``` */ get voiceEnrollment(): Prisma.VoiceEnrollmentDelegate; /** * `prisma.voiceAnalysis`: Exposes CRUD operations for the **VoiceAnalysis** model. * Example usage: * ```ts * // Fetch zero or more VoiceAnalyses * const voiceAnalyses = await prisma.voiceAnalysis.findMany() * ``` */ get voiceAnalysis(): Prisma.VoiceAnalysisDelegate; /** * `prisma.spamFeedback`: Exposes CRUD operations for the **SpamFeedback** model. * Example usage: * ```ts * // Fetch zero or more SpamFeedbacks * const spamFeedbacks = await prisma.spamFeedback.findMany() * ``` */ get spamFeedback(): Prisma.SpamFeedbackDelegate; /** * `prisma.spamRule`: Exposes CRUD operations for the **SpamRule** model. * Example usage: * ```ts * // Fetch zero or more SpamRules * const spamRules = await prisma.spamRule.findMany() * ``` */ get spamRule(): Prisma.SpamRuleDelegate; /** * `prisma.auditLog`: Exposes CRUD operations for the **AuditLog** model. * Example usage: * ```ts * // Fetch zero or more AuditLogs * const auditLogs = await prisma.auditLog.findMany() * ``` */ get auditLog(): Prisma.AuditLogDelegate; /** * `prisma.kPISnapshot`: Exposes CRUD operations for the **KPISnapshot** model. * Example usage: * ```ts * // Fetch zero or more KPISnapshots * const kPISnapshots = await prisma.kPISnapshot.findMany() * ``` */ get kPISnapshot(): Prisma.KPISnapshotDelegate; } export namespace Prisma { export import DMMF = runtime.DMMF export type PrismaPromise = $Public.PrismaPromise /** * Validator */ export import validator = runtime.Public.validator /** * Prisma Errors */ export import PrismaClientKnownRequestError = runtime.PrismaClientKnownRequestError export import PrismaClientUnknownRequestError = runtime.PrismaClientUnknownRequestError export import PrismaClientRustPanicError = runtime.PrismaClientRustPanicError export import PrismaClientInitializationError = runtime.PrismaClientInitializationError export import PrismaClientValidationError = runtime.PrismaClientValidationError export import NotFoundError = runtime.NotFoundError /** * Re-export of sql-template-tag */ export import sql = runtime.sqltag export import empty = runtime.empty export import join = runtime.join export import raw = runtime.raw export import Sql = runtime.Sql /** * Decimal.js */ export import Decimal = runtime.Decimal export type DecimalJsLike = runtime.DecimalJsLike /** * Metrics */ export type Metrics = runtime.Metrics export type Metric = runtime.Metric export type MetricHistogram = runtime.MetricHistogram export type MetricHistogramBucket = runtime.MetricHistogramBucket /** * Extensions */ export import Extension = $Extensions.UserArgs export import getExtensionContext = runtime.Extensions.getExtensionContext export import Args = $Public.Args export import Payload = $Public.Payload export import Result = $Public.Result export import Exact = $Public.Exact /** * Prisma Client JS version: 5.22.0 * Query Engine version: 605197351a3c8bdd595af2d2a9bc3025bca48ea2 */ export type PrismaVersion = { client: string } export const prismaVersion: PrismaVersion /** * Utility Types */ export import JsonObject = runtime.JsonObject export import JsonArray = runtime.JsonArray export import JsonValue = runtime.JsonValue export import InputJsonObject = runtime.InputJsonObject export import InputJsonArray = runtime.InputJsonArray export import InputJsonValue = runtime.InputJsonValue /** * Types of the values used to represent different kinds of `null` values when working with JSON fields. * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ namespace NullTypes { /** * Type of `Prisma.DbNull`. * * You cannot use other instances of this class. Please use the `Prisma.DbNull` value. * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class DbNull { private DbNull: never private constructor() } /** * Type of `Prisma.JsonNull`. * * You cannot use other instances of this class. Please use the `Prisma.JsonNull` value. * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class JsonNull { private JsonNull: never private constructor() } /** * Type of `Prisma.AnyNull`. * * You cannot use other instances of this class. Please use the `Prisma.AnyNull` value. * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class AnyNull { private AnyNull: never private constructor() } } /** * Helper for filtering JSON entries that have `null` on the database (empty on the db) * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const DbNull: NullTypes.DbNull /** * Helper for filtering JSON entries that have JSON `null` values (not empty on the db) * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const JsonNull: NullTypes.JsonNull /** * Helper for filtering JSON entries that are `Prisma.DbNull` or `Prisma.JsonNull` * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const AnyNull: NullTypes.AnyNull type SelectAndInclude = { select: any include: any } type SelectAndOmit = { select: any omit: any } /** * Get the type of the value, that the Promise holds. */ export type PromiseType> = T extends PromiseLike ? U : T; /** * Get the return type of a function which returns a Promise. */ export type PromiseReturnType $Utils.JsPromise> = PromiseType> /** * From T, pick a set of properties whose keys are in the union K */ type Prisma__Pick = { [P in K]: T[P]; }; export type Enumerable = T | Array; export type RequiredKeys = { [K in keyof T]-?: {} extends Prisma__Pick ? never : K }[keyof T] export type TruthyKeys = keyof { [K in keyof T as T[K] extends false | undefined | null ? never : K]: K } export type TrueKeys = TruthyKeys>> /** * Subset * @desc From `T` pick properties that exist in `U`. Simple version of Intersection */ export type Subset = { [key in keyof T]: key extends keyof U ? T[key] : never; }; /** * SelectSubset * @desc From `T` pick properties that exist in `U`. Simple version of Intersection. * Additionally, it validates, if both select and include are present. If the case, it errors. */ export type SelectSubset = { [key in keyof T]: key extends keyof U ? T[key] : never } & (T extends SelectAndInclude ? 'Please either choose `select` or `include`.' : T extends SelectAndOmit ? 'Please either choose `select` or `omit`.' : {}) /** * Subset + Intersection * @desc From `T` pick properties that exist in `U` and intersect `K` */ export type SubsetIntersection = { [key in keyof T]: key extends keyof U ? T[key] : never } & K type Without = { [P in Exclude]?: never }; /** * XOR is needed to have a real mutually exclusive union type * https://stackoverflow.com/questions/42123407/does-typescript-support-mutually-exclusive-types */ type XOR = T extends object ? U extends object ? (Without & U) | (Without & T) : U : T /** * Is T a Record? */ type IsObject = T extends Array ? False : T extends Date ? False : T extends Uint8Array ? False : T extends BigInt ? False : T extends object ? True : False /** * If it's T[], return T */ export type UnEnumerate = T extends Array ? U : T /** * From ts-toolbelt */ type __Either = Omit & { // Merge all but K [P in K]: Prisma__Pick // With K possibilities }[K] type EitherStrict = Strict<__Either> type EitherLoose = ComputeRaw<__Either> type _Either< O extends object, K extends Key, strict extends Boolean > = { 1: EitherStrict 0: EitherLoose }[strict] type Either< O extends object, K extends Key, strict extends Boolean = 1 > = O extends unknown ? _Either : never export type Union = any type PatchUndefined = { [K in keyof O]: O[K] extends undefined ? At : O[K] } & {} /** Helper Types for "Merge" **/ export type IntersectOf = ( U extends unknown ? (k: U) => void : never ) extends (k: infer I) => void ? I : never export type Overwrite = { [K in keyof O]: K extends keyof O1 ? O1[K] : O[K]; } & {}; type _Merge = IntersectOf; }>>; type Key = string | number | symbol; type AtBasic = K extends keyof O ? O[K] : never; type AtStrict = O[K & keyof O]; type AtLoose = O extends unknown ? AtStrict : never; export type At = { 1: AtStrict; 0: AtLoose; }[strict]; export type ComputeRaw = A extends Function ? A : { [K in keyof A]: A[K]; } & {}; export type OptionalFlat = { [K in keyof O]?: O[K]; } & {}; type _Record = { [P in K]: T; }; // cause typescript not to expand types and preserve names type NoExpand = T extends unknown ? T : never; // this type assumes the passed object is entirely optional type AtLeast = NoExpand< O extends unknown ? | (K extends keyof O ? { [P in K]: O[P] } & O : O) | {[P in keyof O as P extends K ? K : never]-?: O[P]} & O : never>; type _Strict = U extends unknown ? U & OptionalFlat<_Record, keyof U>, never>> : never; export type Strict = ComputeRaw<_Strict>; /** End Helper Types for "Merge" **/ export type Merge = ComputeRaw<_Merge>>; /** A [[Boolean]] */ export type Boolean = True | False // /** // 1 // */ export type True = 1 /** 0 */ export type False = 0 export type Not = { 0: 1 1: 0 }[B] export type Extends = [A1] extends [never] ? 0 // anything `never` is false : A1 extends A2 ? 1 : 0 export type Has = Not< Extends, U1> > export type Or = { 0: { 0: 0 1: 1 } 1: { 0: 1 1: 1 } }[B1][B2] export type Keys = U extends unknown ? keyof U : never type Cast = A extends B ? A : B; export const type: unique symbol; /** * Used by group by */ export type GetScalarType = O extends object ? { [P in keyof T]: P extends keyof O ? O[P] : never } : never type FieldPaths< T, U = Omit > = IsObject extends True ? U : T type GetHavingFields = { [K in keyof T]: Or< Or, Extends<'AND', K>>, Extends<'NOT', K> > extends True ? // infer is only needed to not hit TS limit // based on the brilliant idea of Pierre-Antoine Mills // https://github.com/microsoft/TypeScript/issues/30188#issuecomment-478938437 T[K] extends infer TK ? GetHavingFields extends object ? Merge> : never> : never : {} extends FieldPaths ? never : K }[keyof T] /** * Convert tuple to union */ type _TupleToUnion = T extends (infer E)[] ? E : never type TupleToUnion = _TupleToUnion type MaybeTupleToUnion = T extends any[] ? TupleToUnion : T /** * Like `Pick`, but additionally can also accept an array of keys */ type PickEnumerable | keyof T> = Prisma__Pick> /** * Exclude all keys with underscores */ type ExcludeUnderscoreKeys = T extends `_${string}` ? never : T export type FieldRef = runtime.FieldRef type FieldRefInputType = Model extends never ? never : FieldRef export const ModelName: { User: 'User', Account: 'Account', Session: 'Session', FamilyGroup: 'FamilyGroup', FamilyGroupMember: 'FamilyGroupMember', Subscription: 'Subscription', WatchlistItem: 'WatchlistItem', Exposure: 'Exposure', Alert: 'Alert', VoiceEnrollment: 'VoiceEnrollment', VoiceAnalysis: 'VoiceAnalysis', SpamFeedback: 'SpamFeedback', SpamRule: 'SpamRule', AuditLog: 'AuditLog', KPISnapshot: 'KPISnapshot' }; export type ModelName = (typeof ModelName)[keyof typeof ModelName] export type Datasources = { db?: Datasource } interface TypeMapCb extends $Utils.Fn<{extArgs: $Extensions.InternalArgs, clientOptions: PrismaClientOptions }, $Utils.Record> { returns: Prisma.TypeMap } export type TypeMap = { meta: { modelProps: "user" | "account" | "session" | "familyGroup" | "familyGroupMember" | "subscription" | "watchlistItem" | "exposure" | "alert" | "voiceEnrollment" | "voiceAnalysis" | "spamFeedback" | "spamRule" | "auditLog" | "kPISnapshot" txIsolationLevel: Prisma.TransactionIsolationLevel } model: { User: { payload: Prisma.$UserPayload fields: Prisma.UserFieldRefs operations: { findUnique: { args: Prisma.UserFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.UserFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.UserFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.UserFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.UserFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.UserCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.UserCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.UserCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.UserDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.UserUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.UserDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.UserUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.UserUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.UserAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.UserGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.UserCountArgs result: $Utils.Optional | number } } } Account: { payload: Prisma.$AccountPayload fields: Prisma.AccountFieldRefs operations: { findUnique: { args: Prisma.AccountFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.AccountFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.AccountFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.AccountFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.AccountFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.AccountCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.AccountCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.AccountCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.AccountDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.AccountUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.AccountDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.AccountUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.AccountUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.AccountAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.AccountGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.AccountCountArgs result: $Utils.Optional | number } } } Session: { payload: Prisma.$SessionPayload fields: Prisma.SessionFieldRefs operations: { findUnique: { args: Prisma.SessionFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.SessionFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.SessionFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.SessionFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.SessionFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.SessionCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.SessionCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.SessionCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.SessionDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.SessionUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.SessionDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.SessionUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.SessionUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.SessionAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.SessionGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.SessionCountArgs result: $Utils.Optional | number } } } FamilyGroup: { payload: Prisma.$FamilyGroupPayload fields: Prisma.FamilyGroupFieldRefs operations: { findUnique: { args: Prisma.FamilyGroupFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.FamilyGroupFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.FamilyGroupFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.FamilyGroupFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.FamilyGroupFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.FamilyGroupCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.FamilyGroupCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.FamilyGroupCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.FamilyGroupDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.FamilyGroupUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.FamilyGroupDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.FamilyGroupUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.FamilyGroupUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.FamilyGroupAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.FamilyGroupGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.FamilyGroupCountArgs result: $Utils.Optional | number } } } FamilyGroupMember: { payload: Prisma.$FamilyGroupMemberPayload fields: Prisma.FamilyGroupMemberFieldRefs operations: { findUnique: { args: Prisma.FamilyGroupMemberFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.FamilyGroupMemberFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.FamilyGroupMemberFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.FamilyGroupMemberFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.FamilyGroupMemberFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.FamilyGroupMemberCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.FamilyGroupMemberCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.FamilyGroupMemberCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.FamilyGroupMemberDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.FamilyGroupMemberUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.FamilyGroupMemberDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.FamilyGroupMemberUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.FamilyGroupMemberUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.FamilyGroupMemberAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.FamilyGroupMemberGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.FamilyGroupMemberCountArgs result: $Utils.Optional | number } } } Subscription: { payload: Prisma.$SubscriptionPayload fields: Prisma.SubscriptionFieldRefs operations: { findUnique: { args: Prisma.SubscriptionFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.SubscriptionFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.SubscriptionFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.SubscriptionFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.SubscriptionFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.SubscriptionCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.SubscriptionCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.SubscriptionCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.SubscriptionDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.SubscriptionUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.SubscriptionDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.SubscriptionUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.SubscriptionUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.SubscriptionAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.SubscriptionGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.SubscriptionCountArgs result: $Utils.Optional | number } } } WatchlistItem: { payload: Prisma.$WatchlistItemPayload fields: Prisma.WatchlistItemFieldRefs operations: { findUnique: { args: Prisma.WatchlistItemFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.WatchlistItemFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.WatchlistItemFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.WatchlistItemFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.WatchlistItemFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.WatchlistItemCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.WatchlistItemCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.WatchlistItemCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.WatchlistItemDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.WatchlistItemUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.WatchlistItemDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.WatchlistItemUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.WatchlistItemUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.WatchlistItemAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.WatchlistItemGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.WatchlistItemCountArgs result: $Utils.Optional | number } } } Exposure: { payload: Prisma.$ExposurePayload fields: Prisma.ExposureFieldRefs operations: { findUnique: { args: Prisma.ExposureFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.ExposureFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.ExposureFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.ExposureFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.ExposureFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.ExposureCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.ExposureCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.ExposureCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.ExposureDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.ExposureUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.ExposureDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.ExposureUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.ExposureUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.ExposureAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.ExposureGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.ExposureCountArgs result: $Utils.Optional | number } } } Alert: { payload: Prisma.$AlertPayload fields: Prisma.AlertFieldRefs operations: { findUnique: { args: Prisma.AlertFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.AlertFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.AlertFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.AlertFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.AlertFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.AlertCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.AlertCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.AlertCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.AlertDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.AlertUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.AlertDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.AlertUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.AlertUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.AlertAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.AlertGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.AlertCountArgs result: $Utils.Optional | number } } } VoiceEnrollment: { payload: Prisma.$VoiceEnrollmentPayload fields: Prisma.VoiceEnrollmentFieldRefs operations: { findUnique: { args: Prisma.VoiceEnrollmentFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.VoiceEnrollmentFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.VoiceEnrollmentFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.VoiceEnrollmentFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.VoiceEnrollmentFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.VoiceEnrollmentCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.VoiceEnrollmentCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.VoiceEnrollmentCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.VoiceEnrollmentDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.VoiceEnrollmentUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.VoiceEnrollmentDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.VoiceEnrollmentUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.VoiceEnrollmentUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.VoiceEnrollmentAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.VoiceEnrollmentGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.VoiceEnrollmentCountArgs result: $Utils.Optional | number } } } VoiceAnalysis: { payload: Prisma.$VoiceAnalysisPayload fields: Prisma.VoiceAnalysisFieldRefs operations: { findUnique: { args: Prisma.VoiceAnalysisFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.VoiceAnalysisFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.VoiceAnalysisFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.VoiceAnalysisFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.VoiceAnalysisFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.VoiceAnalysisCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.VoiceAnalysisCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.VoiceAnalysisCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.VoiceAnalysisDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.VoiceAnalysisUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.VoiceAnalysisDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.VoiceAnalysisUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.VoiceAnalysisUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.VoiceAnalysisAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.VoiceAnalysisGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.VoiceAnalysisCountArgs result: $Utils.Optional | number } } } SpamFeedback: { payload: Prisma.$SpamFeedbackPayload fields: Prisma.SpamFeedbackFieldRefs operations: { findUnique: { args: Prisma.SpamFeedbackFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.SpamFeedbackFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.SpamFeedbackFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.SpamFeedbackFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.SpamFeedbackFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.SpamFeedbackCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.SpamFeedbackCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.SpamFeedbackCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.SpamFeedbackDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.SpamFeedbackUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.SpamFeedbackDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.SpamFeedbackUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.SpamFeedbackUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.SpamFeedbackAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.SpamFeedbackGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.SpamFeedbackCountArgs result: $Utils.Optional | number } } } SpamRule: { payload: Prisma.$SpamRulePayload fields: Prisma.SpamRuleFieldRefs operations: { findUnique: { args: Prisma.SpamRuleFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.SpamRuleFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.SpamRuleFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.SpamRuleFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.SpamRuleFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.SpamRuleCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.SpamRuleCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.SpamRuleCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.SpamRuleDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.SpamRuleUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.SpamRuleDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.SpamRuleUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.SpamRuleUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.SpamRuleAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.SpamRuleGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.SpamRuleCountArgs result: $Utils.Optional | number } } } AuditLog: { payload: Prisma.$AuditLogPayload fields: Prisma.AuditLogFieldRefs operations: { findUnique: { args: Prisma.AuditLogFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.AuditLogFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.AuditLogFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.AuditLogFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.AuditLogFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.AuditLogCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.AuditLogCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.AuditLogCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.AuditLogDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.AuditLogUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.AuditLogDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.AuditLogUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.AuditLogUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.AuditLogAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.AuditLogGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.AuditLogCountArgs result: $Utils.Optional | number } } } KPISnapshot: { payload: Prisma.$KPISnapshotPayload fields: Prisma.KPISnapshotFieldRefs operations: { findUnique: { args: Prisma.KPISnapshotFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.KPISnapshotFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.KPISnapshotFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.KPISnapshotFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.KPISnapshotFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.KPISnapshotCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.KPISnapshotCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.KPISnapshotCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.KPISnapshotDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.KPISnapshotUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.KPISnapshotDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.KPISnapshotUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.KPISnapshotUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.KPISnapshotAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.KPISnapshotGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.KPISnapshotCountArgs result: $Utils.Optional | number } } } } } & { other: { payload: any operations: { $executeRaw: { args: [query: TemplateStringsArray | Prisma.Sql, ...values: any[]], result: any } $executeRawUnsafe: { args: [query: string, ...values: any[]], result: any } $queryRaw: { args: [query: TemplateStringsArray | Prisma.Sql, ...values: any[]], result: any } $queryRawUnsafe: { args: [query: string, ...values: any[]], result: any } } } } export const defineExtension: $Extensions.ExtendsHook<"define", Prisma.TypeMapCb, $Extensions.DefaultArgs> export type DefaultPrismaClient = PrismaClient export type ErrorFormat = 'pretty' | 'colorless' | 'minimal' export interface PrismaClientOptions { /** * Overwrites the datasource url from your schema.prisma file */ datasources?: Datasources /** * Overwrites the datasource url from your schema.prisma file */ datasourceUrl?: string /** * @default "colorless" */ errorFormat?: ErrorFormat /** * @example * ``` * // Defaults to stdout * log: ['query', 'info', 'warn', 'error'] * * // Emit as events * log: [ * { emit: 'stdout', level: 'query' }, * { emit: 'stdout', level: 'info' }, * { emit: 'stdout', level: 'warn' } * { emit: 'stdout', level: 'error' } * ] * ``` * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/logging#the-log-option). */ log?: (LogLevel | LogDefinition)[] /** * The default values for transactionOptions * maxWait ?= 2000 * timeout ?= 5000 */ transactionOptions?: { maxWait?: number timeout?: number isolationLevel?: Prisma.TransactionIsolationLevel } } /* Types for Logging */ export type LogLevel = 'info' | 'query' | 'warn' | 'error' export type LogDefinition = { level: LogLevel emit: 'stdout' | 'event' } export type GetLogType = T extends LogDefinition ? T['emit'] extends 'event' ? T['level'] : never : never export type GetEvents = T extends Array ? GetLogType | GetLogType | GetLogType | GetLogType : never export type QueryEvent = { timestamp: Date query: string params: string duration: number target: string } export type LogEvent = { timestamp: Date message: string target: string } /* End Types for Logging */ export type PrismaAction = | 'findUnique' | 'findUniqueOrThrow' | 'findMany' | 'findFirst' | 'findFirstOrThrow' | 'create' | 'createMany' | 'createManyAndReturn' | 'update' | 'updateMany' | 'upsert' | 'delete' | 'deleteMany' | 'executeRaw' | 'queryRaw' | 'aggregate' | 'count' | 'runCommandRaw' | 'findRaw' | 'groupBy' /** * These options are being passed into the middleware as "params" */ export type MiddlewareParams = { model?: ModelName action: PrismaAction args: any dataPath: string[] runInTransaction: boolean } /** * The `T` type makes sure, that the `return proceed` is not forgotten in the middleware implementation */ export type Middleware = ( params: MiddlewareParams, next: (params: MiddlewareParams) => $Utils.JsPromise, ) => $Utils.JsPromise // tested in getLogLevel.test.ts export function getLogLevel(log: Array): LogLevel | undefined; /** * `PrismaClient` proxy available in interactive transactions. */ export type TransactionClient = Omit export type Datasource = { url?: string } /** * Count Types */ /** * Count Type UserCountOutputType */ export type UserCountOutputType = { accounts: number sessions: number familyGroups: number familyGroupOwned: number subscriptions: number alerts: number voiceEnrollments: number voiceAnalyses: number spamFeedback: number spamRules: number } export type UserCountOutputTypeSelect = { accounts?: boolean | UserCountOutputTypeCountAccountsArgs sessions?: boolean | UserCountOutputTypeCountSessionsArgs familyGroups?: boolean | UserCountOutputTypeCountFamilyGroupsArgs familyGroupOwned?: boolean | UserCountOutputTypeCountFamilyGroupOwnedArgs subscriptions?: boolean | UserCountOutputTypeCountSubscriptionsArgs alerts?: boolean | UserCountOutputTypeCountAlertsArgs voiceEnrollments?: boolean | UserCountOutputTypeCountVoiceEnrollmentsArgs voiceAnalyses?: boolean | UserCountOutputTypeCountVoiceAnalysesArgs spamFeedback?: boolean | UserCountOutputTypeCountSpamFeedbackArgs spamRules?: boolean | UserCountOutputTypeCountSpamRulesArgs } // Custom InputTypes /** * UserCountOutputType without action */ export type UserCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the UserCountOutputType */ select?: UserCountOutputTypeSelect | null } /** * UserCountOutputType without action */ export type UserCountOutputTypeCountAccountsArgs = { where?: AccountWhereInput } /** * UserCountOutputType without action */ export type UserCountOutputTypeCountSessionsArgs = { where?: SessionWhereInput } /** * UserCountOutputType without action */ export type UserCountOutputTypeCountFamilyGroupsArgs = { where?: FamilyGroupMemberWhereInput } /** * UserCountOutputType without action */ export type UserCountOutputTypeCountFamilyGroupOwnedArgs = { where?: FamilyGroupWhereInput } /** * UserCountOutputType without action */ export type UserCountOutputTypeCountSubscriptionsArgs = { where?: SubscriptionWhereInput } /** * UserCountOutputType without action */ export type UserCountOutputTypeCountAlertsArgs = { where?: AlertWhereInput } /** * UserCountOutputType without action */ export type UserCountOutputTypeCountVoiceEnrollmentsArgs = { where?: VoiceEnrollmentWhereInput } /** * UserCountOutputType without action */ export type UserCountOutputTypeCountVoiceAnalysesArgs = { where?: VoiceAnalysisWhereInput } /** * UserCountOutputType without action */ export type UserCountOutputTypeCountSpamFeedbackArgs = { where?: SpamFeedbackWhereInput } /** * UserCountOutputType without action */ export type UserCountOutputTypeCountSpamRulesArgs = { where?: SpamRuleWhereInput } /** * Count Type FamilyGroupCountOutputType */ export type FamilyGroupCountOutputType = { members: number subscriptions: number } export type FamilyGroupCountOutputTypeSelect = { members?: boolean | FamilyGroupCountOutputTypeCountMembersArgs subscriptions?: boolean | FamilyGroupCountOutputTypeCountSubscriptionsArgs } // Custom InputTypes /** * FamilyGroupCountOutputType without action */ export type FamilyGroupCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the FamilyGroupCountOutputType */ select?: FamilyGroupCountOutputTypeSelect | null } /** * FamilyGroupCountOutputType without action */ export type FamilyGroupCountOutputTypeCountMembersArgs = { where?: FamilyGroupMemberWhereInput } /** * FamilyGroupCountOutputType without action */ export type FamilyGroupCountOutputTypeCountSubscriptionsArgs = { where?: SubscriptionWhereInput } /** * Count Type SubscriptionCountOutputType */ export type SubscriptionCountOutputType = { watchlistItems: number exposures: number alerts: number } export type SubscriptionCountOutputTypeSelect = { watchlistItems?: boolean | SubscriptionCountOutputTypeCountWatchlistItemsArgs exposures?: boolean | SubscriptionCountOutputTypeCountExposuresArgs alerts?: boolean | SubscriptionCountOutputTypeCountAlertsArgs } // Custom InputTypes /** * SubscriptionCountOutputType without action */ export type SubscriptionCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the SubscriptionCountOutputType */ select?: SubscriptionCountOutputTypeSelect | null } /** * SubscriptionCountOutputType without action */ export type SubscriptionCountOutputTypeCountWatchlistItemsArgs = { where?: WatchlistItemWhereInput } /** * SubscriptionCountOutputType without action */ export type SubscriptionCountOutputTypeCountExposuresArgs = { where?: ExposureWhereInput } /** * SubscriptionCountOutputType without action */ export type SubscriptionCountOutputTypeCountAlertsArgs = { where?: AlertWhereInput } /** * Count Type WatchlistItemCountOutputType */ export type WatchlistItemCountOutputType = { exposures: number } export type WatchlistItemCountOutputTypeSelect = { exposures?: boolean | WatchlistItemCountOutputTypeCountExposuresArgs } // Custom InputTypes /** * WatchlistItemCountOutputType without action */ export type WatchlistItemCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the WatchlistItemCountOutputType */ select?: WatchlistItemCountOutputTypeSelect | null } /** * WatchlistItemCountOutputType without action */ export type WatchlistItemCountOutputTypeCountExposuresArgs = { where?: ExposureWhereInput } /** * Count Type ExposureCountOutputType */ export type ExposureCountOutputType = { alerts: number } export type ExposureCountOutputTypeSelect = { alerts?: boolean | ExposureCountOutputTypeCountAlertsArgs } // Custom InputTypes /** * ExposureCountOutputType without action */ export type ExposureCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the ExposureCountOutputType */ select?: ExposureCountOutputTypeSelect | null } /** * ExposureCountOutputType without action */ export type ExposureCountOutputTypeCountAlertsArgs = { where?: AlertWhereInput } /** * Count Type VoiceEnrollmentCountOutputType */ export type VoiceEnrollmentCountOutputType = { analyses: number } export type VoiceEnrollmentCountOutputTypeSelect = { analyses?: boolean | VoiceEnrollmentCountOutputTypeCountAnalysesArgs } // Custom InputTypes /** * VoiceEnrollmentCountOutputType without action */ export type VoiceEnrollmentCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the VoiceEnrollmentCountOutputType */ select?: VoiceEnrollmentCountOutputTypeSelect | null } /** * VoiceEnrollmentCountOutputType without action */ export type VoiceEnrollmentCountOutputTypeCountAnalysesArgs = { where?: VoiceAnalysisWhereInput } /** * Models */ /** * Model User */ export type AggregateUser = { _count: UserCountAggregateOutputType | null _min: UserMinAggregateOutputType | null _max: UserMaxAggregateOutputType | null } export type UserMinAggregateOutputType = { id: string | null email: string | null emailVerified: Date | null name: string | null image: string | null role: $Enums.UserRole | null createdAt: Date | null updatedAt: Date | null } export type UserMaxAggregateOutputType = { id: string | null email: string | null emailVerified: Date | null name: string | null image: string | null role: $Enums.UserRole | null createdAt: Date | null updatedAt: Date | null } export type UserCountAggregateOutputType = { id: number email: number emailVerified: number name: number image: number role: number createdAt: number updatedAt: number _all: number } export type UserMinAggregateInputType = { id?: true email?: true emailVerified?: true name?: true image?: true role?: true createdAt?: true updatedAt?: true } export type UserMaxAggregateInputType = { id?: true email?: true emailVerified?: true name?: true image?: true role?: true createdAt?: true updatedAt?: true } export type UserCountAggregateInputType = { id?: true email?: true emailVerified?: true name?: true image?: true role?: true createdAt?: true updatedAt?: true _all?: true } export type UserAggregateArgs = { /** * Filter which User to aggregate. */ where?: UserWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Users to fetch. */ orderBy?: UserOrderByWithRelationInput | UserOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: UserWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Users from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Users. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Users **/ _count?: true | UserCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: UserMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: UserMaxAggregateInputType } export type GetUserAggregateType = { [P in keyof T & keyof AggregateUser]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type UserGroupByArgs = { where?: UserWhereInput orderBy?: UserOrderByWithAggregationInput | UserOrderByWithAggregationInput[] by: UserScalarFieldEnum[] | UserScalarFieldEnum having?: UserScalarWhereWithAggregatesInput take?: number skip?: number _count?: UserCountAggregateInputType | true _min?: UserMinAggregateInputType _max?: UserMaxAggregateInputType } export type UserGroupByOutputType = { id: string email: string emailVerified: Date | null name: string | null image: string | null role: $Enums.UserRole createdAt: Date updatedAt: Date _count: UserCountAggregateOutputType | null _min: UserMinAggregateOutputType | null _max: UserMaxAggregateOutputType | null } type GetUserGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof UserGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type UserSelect = $Extensions.GetSelect<{ id?: boolean email?: boolean emailVerified?: boolean name?: boolean image?: boolean role?: boolean createdAt?: boolean updatedAt?: boolean accounts?: boolean | User$accountsArgs sessions?: boolean | User$sessionsArgs familyGroups?: boolean | User$familyGroupsArgs familyGroupOwned?: boolean | User$familyGroupOwnedArgs subscriptions?: boolean | User$subscriptionsArgs alerts?: boolean | User$alertsArgs voiceEnrollments?: boolean | User$voiceEnrollmentsArgs voiceAnalyses?: boolean | User$voiceAnalysesArgs spamFeedback?: boolean | User$spamFeedbackArgs spamRules?: boolean | User$spamRulesArgs _count?: boolean | UserCountOutputTypeDefaultArgs }, ExtArgs["result"]["user"]> export type UserSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean email?: boolean emailVerified?: boolean name?: boolean image?: boolean role?: boolean createdAt?: boolean updatedAt?: boolean }, ExtArgs["result"]["user"]> export type UserSelectScalar = { id?: boolean email?: boolean emailVerified?: boolean name?: boolean image?: boolean role?: boolean createdAt?: boolean updatedAt?: boolean } export type UserInclude = { accounts?: boolean | User$accountsArgs sessions?: boolean | User$sessionsArgs familyGroups?: boolean | User$familyGroupsArgs familyGroupOwned?: boolean | User$familyGroupOwnedArgs subscriptions?: boolean | User$subscriptionsArgs alerts?: boolean | User$alertsArgs voiceEnrollments?: boolean | User$voiceEnrollmentsArgs voiceAnalyses?: boolean | User$voiceAnalysesArgs spamFeedback?: boolean | User$spamFeedbackArgs spamRules?: boolean | User$spamRulesArgs _count?: boolean | UserCountOutputTypeDefaultArgs } export type UserIncludeCreateManyAndReturn = {} export type $UserPayload = { name: "User" objects: { accounts: Prisma.$AccountPayload[] sessions: Prisma.$SessionPayload[] familyGroups: Prisma.$FamilyGroupMemberPayload[] familyGroupOwned: Prisma.$FamilyGroupPayload[] subscriptions: Prisma.$SubscriptionPayload[] alerts: Prisma.$AlertPayload[] voiceEnrollments: Prisma.$VoiceEnrollmentPayload[] voiceAnalyses: Prisma.$VoiceAnalysisPayload[] spamFeedback: Prisma.$SpamFeedbackPayload[] spamRules: Prisma.$SpamRulePayload[] } scalars: $Extensions.GetPayloadResult<{ id: string email: string emailVerified: Date | null name: string | null image: string | null role: $Enums.UserRole createdAt: Date updatedAt: Date }, ExtArgs["result"]["user"]> composites: {} } type UserGetPayload = $Result.GetResult type UserCountArgs = Omit & { select?: UserCountAggregateInputType | true } export interface UserDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['User'], meta: { name: 'User' } } /** * Find zero or one User that matches the filter. * @param {UserFindUniqueArgs} args - Arguments to find a User * @example * // Get one User * const user = await prisma.user.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one User that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {UserFindUniqueOrThrowArgs} args - Arguments to find a User * @example * // Get one User * const user = await prisma.user.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first User that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserFindFirstArgs} args - Arguments to find a User * @example * // Get one User * const user = await prisma.user.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first User that matches the filter or * throw `PrismaKnownClientError` with `P2025` code if no matches were found. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserFindFirstOrThrowArgs} args - Arguments to find a User * @example * // Get one User * const user = await prisma.user.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Users that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Users * const users = await prisma.user.findMany() * * // Get first 10 Users * const users = await prisma.user.findMany({ take: 10 }) * * // Only select the `id` * const userWithIdOnly = await prisma.user.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a User. * @param {UserCreateArgs} args - Arguments to create a User. * @example * // Create one User * const User = await prisma.user.create({ * data: { * // ... data to create a User * } * }) * */ create(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Users. * @param {UserCreateManyArgs} args - Arguments to create many Users. * @example * // Create many Users * const user = await prisma.user.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Users and returns the data saved in the database. * @param {UserCreateManyAndReturnArgs} args - Arguments to create many Users. * @example * // Create many Users * const user = await prisma.user.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Users and only return the `id` * const userWithIdOnly = await prisma.user.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a User. * @param {UserDeleteArgs} args - Arguments to delete one User. * @example * // Delete one User * const User = await prisma.user.delete({ * where: { * // ... filter to delete one User * } * }) * */ delete(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one User. * @param {UserUpdateArgs} args - Arguments to update one User. * @example * // Update one User * const user = await prisma.user.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Users. * @param {UserDeleteManyArgs} args - Arguments to filter Users to delete. * @example * // Delete a few Users * const { count } = await prisma.user.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Users. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Users * const user = await prisma.user.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one User. * @param {UserUpsertArgs} args - Arguments to update or create a User. * @example * // Update or create a User * const user = await prisma.user.upsert({ * create: { * // ... data to create a User * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the User we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Users. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserCountArgs} args - Arguments to filter Users to count. * @example * // Count the number of Users * const count = await prisma.user.count({ * where: { * // ... the filter for the Users we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a User. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserAggregateArgs} args - Select which aggregations you would like to apply and on what fields. * @example * // Ordered by age ascending * // Where email contains prisma.io * // Limited to the 10 users * const aggregations = await prisma.user.aggregate({ * _avg: { * age: true, * }, * where: { * email: { * contains: "prisma.io", * }, * }, * orderBy: { * age: "asc", * }, * take: 10, * }) **/ aggregate(args: Subset): Prisma.PrismaPromise> /** * Group by User. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserGroupByArgs} args - Group by arguments. * @example * // Group by city, order by createdAt, get count * const result = await prisma.user.groupBy({ * by: ['city', 'createdAt'], * orderBy: { * createdAt: true * }, * _count: { * _all: true * }, * }) * **/ groupBy< T extends UserGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: UserGroupByArgs['orderBy'] } : { orderBy?: UserGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends False ? { [P in HavingFields]: P extends ByFields ? never : P extends string ? `Error: Field "${P}" used in "having" needs to be provided in "by".` : [ Error, 'Field ', P, ` in "having" needs to be provided in "by"`, ] }[HavingFields] : 'take' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "take", you also need to provide "orderBy"' : 'skip' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "skip", you also need to provide "orderBy"' : ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetUserGroupByPayload : Prisma.PrismaPromise /** * Fields of the User model */ readonly fields: UserFieldRefs; } /** * The delegate class that acts as a "Promise-like" for User. * Why is this prefixed with `Prisma__`? * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ export interface Prisma__UserClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" accounts = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> sessions = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> familyGroups = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> familyGroupOwned = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> subscriptions = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> alerts = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> voiceEnrollments = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> voiceAnalyses = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> spamFeedback = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> spamRules = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the User model */ interface UserFieldRefs { readonly id: FieldRef<"User", 'String'> readonly email: FieldRef<"User", 'String'> readonly emailVerified: FieldRef<"User", 'DateTime'> readonly name: FieldRef<"User", 'String'> readonly image: FieldRef<"User", 'String'> readonly role: FieldRef<"User", 'UserRole'> readonly createdAt: FieldRef<"User", 'DateTime'> readonly updatedAt: FieldRef<"User", 'DateTime'> } // Custom InputTypes /** * User findUnique */ export type UserFindUniqueArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter, which User to fetch. */ where: UserWhereUniqueInput } /** * User findUniqueOrThrow */ export type UserFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter, which User to fetch. */ where: UserWhereUniqueInput } /** * User findFirst */ export type UserFindFirstArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter, which User to fetch. */ where?: UserWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Users to fetch. */ orderBy?: UserOrderByWithRelationInput | UserOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Users. */ cursor?: UserWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Users from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Users. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Users. */ distinct?: UserScalarFieldEnum | UserScalarFieldEnum[] } /** * User findFirstOrThrow */ export type UserFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter, which User to fetch. */ where?: UserWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Users to fetch. */ orderBy?: UserOrderByWithRelationInput | UserOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Users. */ cursor?: UserWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Users from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Users. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Users. */ distinct?: UserScalarFieldEnum | UserScalarFieldEnum[] } /** * User findMany */ export type UserFindManyArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter, which Users to fetch. */ where?: UserWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Users to fetch. */ orderBy?: UserOrderByWithRelationInput | UserOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Users. */ cursor?: UserWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Users from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Users. */ skip?: number distinct?: UserScalarFieldEnum | UserScalarFieldEnum[] } /** * User create */ export type UserCreateArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * The data needed to create a User. */ data: XOR } /** * User createMany */ export type UserCreateManyArgs = { /** * The data used to create many Users. */ data: UserCreateManyInput | UserCreateManyInput[] skipDuplicates?: boolean } /** * User createManyAndReturn */ export type UserCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelectCreateManyAndReturn | null /** * The data used to create many Users. */ data: UserCreateManyInput | UserCreateManyInput[] skipDuplicates?: boolean } /** * User update */ export type UserUpdateArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * The data needed to update a User. */ data: XOR /** * Choose, which User to update. */ where: UserWhereUniqueInput } /** * User updateMany */ export type UserUpdateManyArgs = { /** * The data used to update Users. */ data: XOR /** * Filter which Users to update */ where?: UserWhereInput } /** * User upsert */ export type UserUpsertArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * The filter to search for the User to update in case it exists. */ where: UserWhereUniqueInput /** * In case the User found by the `where` argument doesn't exist, create a new User with this data. */ create: XOR /** * In case the User was found with the provided `where` argument, update it with this data. */ update: XOR } /** * User delete */ export type UserDeleteArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter which User to delete. */ where: UserWhereUniqueInput } /** * User deleteMany */ export type UserDeleteManyArgs = { /** * Filter which Users to delete */ where?: UserWhereInput } /** * User.accounts */ export type User$accountsArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * Choose, which related nodes to fetch as well */ include?: AccountInclude | null where?: AccountWhereInput orderBy?: AccountOrderByWithRelationInput | AccountOrderByWithRelationInput[] cursor?: AccountWhereUniqueInput take?: number skip?: number distinct?: AccountScalarFieldEnum | AccountScalarFieldEnum[] } /** * User.sessions */ export type User$sessionsArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null where?: SessionWhereInput orderBy?: SessionOrderByWithRelationInput | SessionOrderByWithRelationInput[] cursor?: SessionWhereUniqueInput take?: number skip?: number distinct?: SessionScalarFieldEnum | SessionScalarFieldEnum[] } /** * User.familyGroups */ export type User$familyGroupsArgs = { /** * Select specific fields to fetch from the FamilyGroupMember */ select?: FamilyGroupMemberSelect | null /** * Choose, which related nodes to fetch as well */ include?: FamilyGroupMemberInclude | null where?: FamilyGroupMemberWhereInput orderBy?: FamilyGroupMemberOrderByWithRelationInput | FamilyGroupMemberOrderByWithRelationInput[] cursor?: FamilyGroupMemberWhereUniqueInput take?: number skip?: number distinct?: FamilyGroupMemberScalarFieldEnum | FamilyGroupMemberScalarFieldEnum[] } /** * User.familyGroupOwned */ export type User$familyGroupOwnedArgs = { /** * Select specific fields to fetch from the FamilyGroup */ select?: FamilyGroupSelect | null /** * Choose, which related nodes to fetch as well */ include?: FamilyGroupInclude | null where?: FamilyGroupWhereInput orderBy?: FamilyGroupOrderByWithRelationInput | FamilyGroupOrderByWithRelationInput[] cursor?: FamilyGroupWhereUniqueInput take?: number skip?: number distinct?: FamilyGroupScalarFieldEnum | FamilyGroupScalarFieldEnum[] } /** * User.subscriptions */ export type User$subscriptionsArgs = { /** * Select specific fields to fetch from the Subscription */ select?: SubscriptionSelect | null /** * Choose, which related nodes to fetch as well */ include?: SubscriptionInclude | null where?: SubscriptionWhereInput orderBy?: SubscriptionOrderByWithRelationInput | SubscriptionOrderByWithRelationInput[] cursor?: SubscriptionWhereUniqueInput take?: number skip?: number distinct?: SubscriptionScalarFieldEnum | SubscriptionScalarFieldEnum[] } /** * User.alerts */ export type User$alertsArgs = { /** * Select specific fields to fetch from the Alert */ select?: AlertSelect | null /** * Choose, which related nodes to fetch as well */ include?: AlertInclude | null where?: AlertWhereInput orderBy?: AlertOrderByWithRelationInput | AlertOrderByWithRelationInput[] cursor?: AlertWhereUniqueInput take?: number skip?: number distinct?: AlertScalarFieldEnum | AlertScalarFieldEnum[] } /** * User.voiceEnrollments */ export type User$voiceEnrollmentsArgs = { /** * Select specific fields to fetch from the VoiceEnrollment */ select?: VoiceEnrollmentSelect | null /** * Choose, which related nodes to fetch as well */ include?: VoiceEnrollmentInclude | null where?: VoiceEnrollmentWhereInput orderBy?: VoiceEnrollmentOrderByWithRelationInput | VoiceEnrollmentOrderByWithRelationInput[] cursor?: VoiceEnrollmentWhereUniqueInput take?: number skip?: number distinct?: VoiceEnrollmentScalarFieldEnum | VoiceEnrollmentScalarFieldEnum[] } /** * User.voiceAnalyses */ export type User$voiceAnalysesArgs = { /** * Select specific fields to fetch from the VoiceAnalysis */ select?: VoiceAnalysisSelect | null /** * Choose, which related nodes to fetch as well */ include?: VoiceAnalysisInclude | null where?: VoiceAnalysisWhereInput orderBy?: VoiceAnalysisOrderByWithRelationInput | VoiceAnalysisOrderByWithRelationInput[] cursor?: VoiceAnalysisWhereUniqueInput take?: number skip?: number distinct?: VoiceAnalysisScalarFieldEnum | VoiceAnalysisScalarFieldEnum[] } /** * User.spamFeedback */ export type User$spamFeedbackArgs = { /** * Select specific fields to fetch from the SpamFeedback */ select?: SpamFeedbackSelect | null /** * Choose, which related nodes to fetch as well */ include?: SpamFeedbackInclude | null where?: SpamFeedbackWhereInput orderBy?: SpamFeedbackOrderByWithRelationInput | SpamFeedbackOrderByWithRelationInput[] cursor?: SpamFeedbackWhereUniqueInput take?: number skip?: number distinct?: SpamFeedbackScalarFieldEnum | SpamFeedbackScalarFieldEnum[] } /** * User.spamRules */ export type User$spamRulesArgs = { /** * Select specific fields to fetch from the SpamRule */ select?: SpamRuleSelect | null /** * Choose, which related nodes to fetch as well */ include?: SpamRuleInclude | null where?: SpamRuleWhereInput orderBy?: SpamRuleOrderByWithRelationInput | SpamRuleOrderByWithRelationInput[] cursor?: SpamRuleWhereUniqueInput take?: number skip?: number distinct?: SpamRuleScalarFieldEnum | SpamRuleScalarFieldEnum[] } /** * User without action */ export type UserDefaultArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null } /** * Model Account */ export type AggregateAccount = { _count: AccountCountAggregateOutputType | null _avg: AccountAvgAggregateOutputType | null _sum: AccountSumAggregateOutputType | null _min: AccountMinAggregateOutputType | null _max: AccountMaxAggregateOutputType | null } export type AccountAvgAggregateOutputType = { expires_at: number | null } export type AccountSumAggregateOutputType = { expires_at: number | null } export type AccountMinAggregateOutputType = { id: string | null userId: string | null provider: string | null providerAccountId: string | null access_token: string | null refresh_token: string | null expires_at: number | null token_type: string | null scope: string | null createdAt: Date | null updatedAt: Date | null } export type AccountMaxAggregateOutputType = { id: string | null userId: string | null provider: string | null providerAccountId: string | null access_token: string | null refresh_token: string | null expires_at: number | null token_type: string | null scope: string | null createdAt: Date | null updatedAt: Date | null } export type AccountCountAggregateOutputType = { id: number userId: number provider: number providerAccountId: number access_token: number refresh_token: number expires_at: number token_type: number scope: number createdAt: number updatedAt: number _all: number } export type AccountAvgAggregateInputType = { expires_at?: true } export type AccountSumAggregateInputType = { expires_at?: true } export type AccountMinAggregateInputType = { id?: true userId?: true provider?: true providerAccountId?: true access_token?: true refresh_token?: true expires_at?: true token_type?: true scope?: true createdAt?: true updatedAt?: true } export type AccountMaxAggregateInputType = { id?: true userId?: true provider?: true providerAccountId?: true access_token?: true refresh_token?: true expires_at?: true token_type?: true scope?: true createdAt?: true updatedAt?: true } export type AccountCountAggregateInputType = { id?: true userId?: true provider?: true providerAccountId?: true access_token?: true refresh_token?: true expires_at?: true token_type?: true scope?: true createdAt?: true updatedAt?: true _all?: true } export type AccountAggregateArgs = { /** * Filter which Account to aggregate. */ where?: AccountWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Accounts to fetch. */ orderBy?: AccountOrderByWithRelationInput | AccountOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: AccountWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Accounts from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Accounts. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Accounts **/ _count?: true | AccountCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: AccountAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: AccountSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: AccountMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: AccountMaxAggregateInputType } export type GetAccountAggregateType = { [P in keyof T & keyof AggregateAccount]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type AccountGroupByArgs = { where?: AccountWhereInput orderBy?: AccountOrderByWithAggregationInput | AccountOrderByWithAggregationInput[] by: AccountScalarFieldEnum[] | AccountScalarFieldEnum having?: AccountScalarWhereWithAggregatesInput take?: number skip?: number _count?: AccountCountAggregateInputType | true _avg?: AccountAvgAggregateInputType _sum?: AccountSumAggregateInputType _min?: AccountMinAggregateInputType _max?: AccountMaxAggregateInputType } export type AccountGroupByOutputType = { id: string userId: string provider: string providerAccountId: string access_token: string | null refresh_token: string | null expires_at: number | null token_type: string | null scope: string | null createdAt: Date updatedAt: Date _count: AccountCountAggregateOutputType | null _avg: AccountAvgAggregateOutputType | null _sum: AccountSumAggregateOutputType | null _min: AccountMinAggregateOutputType | null _max: AccountMaxAggregateOutputType | null } type GetAccountGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof AccountGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type AccountSelect = $Extensions.GetSelect<{ id?: boolean userId?: boolean provider?: boolean providerAccountId?: boolean access_token?: boolean refresh_token?: boolean expires_at?: boolean token_type?: boolean scope?: boolean createdAt?: boolean updatedAt?: boolean user?: boolean | UserDefaultArgs }, ExtArgs["result"]["account"]> export type AccountSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean userId?: boolean provider?: boolean providerAccountId?: boolean access_token?: boolean refresh_token?: boolean expires_at?: boolean token_type?: boolean scope?: boolean createdAt?: boolean updatedAt?: boolean user?: boolean | UserDefaultArgs }, ExtArgs["result"]["account"]> export type AccountSelectScalar = { id?: boolean userId?: boolean provider?: boolean providerAccountId?: boolean access_token?: boolean refresh_token?: boolean expires_at?: boolean token_type?: boolean scope?: boolean createdAt?: boolean updatedAt?: boolean } export type AccountInclude = { user?: boolean | UserDefaultArgs } export type AccountIncludeCreateManyAndReturn = { user?: boolean | UserDefaultArgs } export type $AccountPayload = { name: "Account" objects: { user: Prisma.$UserPayload } scalars: $Extensions.GetPayloadResult<{ id: string userId: string provider: string providerAccountId: string access_token: string | null refresh_token: string | null expires_at: number | null token_type: string | null scope: string | null createdAt: Date updatedAt: Date }, ExtArgs["result"]["account"]> composites: {} } type AccountGetPayload = $Result.GetResult type AccountCountArgs = Omit & { select?: AccountCountAggregateInputType | true } export interface AccountDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Account'], meta: { name: 'Account' } } /** * Find zero or one Account that matches the filter. * @param {AccountFindUniqueArgs} args - Arguments to find a Account * @example * // Get one Account * const account = await prisma.account.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__AccountClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Account that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {AccountFindUniqueOrThrowArgs} args - Arguments to find a Account * @example * // Get one Account * const account = await prisma.account.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__AccountClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Account that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AccountFindFirstArgs} args - Arguments to find a Account * @example * // Get one Account * const account = await prisma.account.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__AccountClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Account that matches the filter or * throw `PrismaKnownClientError` with `P2025` code if no matches were found. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AccountFindFirstOrThrowArgs} args - Arguments to find a Account * @example * // Get one Account * const account = await prisma.account.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__AccountClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Accounts that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AccountFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Accounts * const accounts = await prisma.account.findMany() * * // Get first 10 Accounts * const accounts = await prisma.account.findMany({ take: 10 }) * * // Only select the `id` * const accountWithIdOnly = await prisma.account.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Account. * @param {AccountCreateArgs} args - Arguments to create a Account. * @example * // Create one Account * const Account = await prisma.account.create({ * data: { * // ... data to create a Account * } * }) * */ create(args: SelectSubset>): Prisma__AccountClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Accounts. * @param {AccountCreateManyArgs} args - Arguments to create many Accounts. * @example * // Create many Accounts * const account = await prisma.account.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Accounts and returns the data saved in the database. * @param {AccountCreateManyAndReturnArgs} args - Arguments to create many Accounts. * @example * // Create many Accounts * const account = await prisma.account.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Accounts and only return the `id` * const accountWithIdOnly = await prisma.account.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a Account. * @param {AccountDeleteArgs} args - Arguments to delete one Account. * @example * // Delete one Account * const Account = await prisma.account.delete({ * where: { * // ... filter to delete one Account * } * }) * */ delete(args: SelectSubset>): Prisma__AccountClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Account. * @param {AccountUpdateArgs} args - Arguments to update one Account. * @example * // Update one Account * const account = await prisma.account.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__AccountClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Accounts. * @param {AccountDeleteManyArgs} args - Arguments to filter Accounts to delete. * @example * // Delete a few Accounts * const { count } = await prisma.account.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Accounts. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AccountUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Accounts * const account = await prisma.account.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Account. * @param {AccountUpsertArgs} args - Arguments to update or create a Account. * @example * // Update or create a Account * const account = await prisma.account.upsert({ * create: { * // ... data to create a Account * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Account we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__AccountClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Accounts. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AccountCountArgs} args - Arguments to filter Accounts to count. * @example * // Count the number of Accounts * const count = await prisma.account.count({ * where: { * // ... the filter for the Accounts we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a Account. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AccountAggregateArgs} args - Select which aggregations you would like to apply and on what fields. * @example * // Ordered by age ascending * // Where email contains prisma.io * // Limited to the 10 users * const aggregations = await prisma.user.aggregate({ * _avg: { * age: true, * }, * where: { * email: { * contains: "prisma.io", * }, * }, * orderBy: { * age: "asc", * }, * take: 10, * }) **/ aggregate(args: Subset): Prisma.PrismaPromise> /** * Group by Account. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AccountGroupByArgs} args - Group by arguments. * @example * // Group by city, order by createdAt, get count * const result = await prisma.user.groupBy({ * by: ['city', 'createdAt'], * orderBy: { * createdAt: true * }, * _count: { * _all: true * }, * }) * **/ groupBy< T extends AccountGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: AccountGroupByArgs['orderBy'] } : { orderBy?: AccountGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends False ? { [P in HavingFields]: P extends ByFields ? never : P extends string ? `Error: Field "${P}" used in "having" needs to be provided in "by".` : [ Error, 'Field ', P, ` in "having" needs to be provided in "by"`, ] }[HavingFields] : 'take' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "take", you also need to provide "orderBy"' : 'skip' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "skip", you also need to provide "orderBy"' : ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetAccountGroupByPayload : Prisma.PrismaPromise /** * Fields of the Account model */ readonly fields: AccountFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Account. * Why is this prefixed with `Prisma__`? * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ export interface Prisma__AccountClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" user = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the Account model */ interface AccountFieldRefs { readonly id: FieldRef<"Account", 'String'> readonly userId: FieldRef<"Account", 'String'> readonly provider: FieldRef<"Account", 'String'> readonly providerAccountId: FieldRef<"Account", 'String'> readonly access_token: FieldRef<"Account", 'String'> readonly refresh_token: FieldRef<"Account", 'String'> readonly expires_at: FieldRef<"Account", 'Int'> readonly token_type: FieldRef<"Account", 'String'> readonly scope: FieldRef<"Account", 'String'> readonly createdAt: FieldRef<"Account", 'DateTime'> readonly updatedAt: FieldRef<"Account", 'DateTime'> } // Custom InputTypes /** * Account findUnique */ export type AccountFindUniqueArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * Choose, which related nodes to fetch as well */ include?: AccountInclude | null /** * Filter, which Account to fetch. */ where: AccountWhereUniqueInput } /** * Account findUniqueOrThrow */ export type AccountFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * Choose, which related nodes to fetch as well */ include?: AccountInclude | null /** * Filter, which Account to fetch. */ where: AccountWhereUniqueInput } /** * Account findFirst */ export type AccountFindFirstArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * Choose, which related nodes to fetch as well */ include?: AccountInclude | null /** * Filter, which Account to fetch. */ where?: AccountWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Accounts to fetch. */ orderBy?: AccountOrderByWithRelationInput | AccountOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Accounts. */ cursor?: AccountWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Accounts from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Accounts. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Accounts. */ distinct?: AccountScalarFieldEnum | AccountScalarFieldEnum[] } /** * Account findFirstOrThrow */ export type AccountFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * Choose, which related nodes to fetch as well */ include?: AccountInclude | null /** * Filter, which Account to fetch. */ where?: AccountWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Accounts to fetch. */ orderBy?: AccountOrderByWithRelationInput | AccountOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Accounts. */ cursor?: AccountWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Accounts from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Accounts. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Accounts. */ distinct?: AccountScalarFieldEnum | AccountScalarFieldEnum[] } /** * Account findMany */ export type AccountFindManyArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * Choose, which related nodes to fetch as well */ include?: AccountInclude | null /** * Filter, which Accounts to fetch. */ where?: AccountWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Accounts to fetch. */ orderBy?: AccountOrderByWithRelationInput | AccountOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Accounts. */ cursor?: AccountWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Accounts from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Accounts. */ skip?: number distinct?: AccountScalarFieldEnum | AccountScalarFieldEnum[] } /** * Account create */ export type AccountCreateArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * Choose, which related nodes to fetch as well */ include?: AccountInclude | null /** * The data needed to create a Account. */ data: XOR } /** * Account createMany */ export type AccountCreateManyArgs = { /** * The data used to create many Accounts. */ data: AccountCreateManyInput | AccountCreateManyInput[] skipDuplicates?: boolean } /** * Account createManyAndReturn */ export type AccountCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelectCreateManyAndReturn | null /** * The data used to create many Accounts. */ data: AccountCreateManyInput | AccountCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: AccountIncludeCreateManyAndReturn | null } /** * Account update */ export type AccountUpdateArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * Choose, which related nodes to fetch as well */ include?: AccountInclude | null /** * The data needed to update a Account. */ data: XOR /** * Choose, which Account to update. */ where: AccountWhereUniqueInput } /** * Account updateMany */ export type AccountUpdateManyArgs = { /** * The data used to update Accounts. */ data: XOR /** * Filter which Accounts to update */ where?: AccountWhereInput } /** * Account upsert */ export type AccountUpsertArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * Choose, which related nodes to fetch as well */ include?: AccountInclude | null /** * The filter to search for the Account to update in case it exists. */ where: AccountWhereUniqueInput /** * In case the Account found by the `where` argument doesn't exist, create a new Account with this data. */ create: XOR /** * In case the Account was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Account delete */ export type AccountDeleteArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * Choose, which related nodes to fetch as well */ include?: AccountInclude | null /** * Filter which Account to delete. */ where: AccountWhereUniqueInput } /** * Account deleteMany */ export type AccountDeleteManyArgs = { /** * Filter which Accounts to delete */ where?: AccountWhereInput } /** * Account without action */ export type AccountDefaultArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * Choose, which related nodes to fetch as well */ include?: AccountInclude | null } /** * Model Session */ export type AggregateSession = { _count: SessionCountAggregateOutputType | null _min: SessionMinAggregateOutputType | null _max: SessionMaxAggregateOutputType | null } export type SessionMinAggregateOutputType = { id: string | null userId: string | null sessionToken: string | null expires: Date | null createdAt: Date | null updatedAt: Date | null } export type SessionMaxAggregateOutputType = { id: string | null userId: string | null sessionToken: string | null expires: Date | null createdAt: Date | null updatedAt: Date | null } export type SessionCountAggregateOutputType = { id: number userId: number sessionToken: number expires: number createdAt: number updatedAt: number _all: number } export type SessionMinAggregateInputType = { id?: true userId?: true sessionToken?: true expires?: true createdAt?: true updatedAt?: true } export type SessionMaxAggregateInputType = { id?: true userId?: true sessionToken?: true expires?: true createdAt?: true updatedAt?: true } export type SessionCountAggregateInputType = { id?: true userId?: true sessionToken?: true expires?: true createdAt?: true updatedAt?: true _all?: true } export type SessionAggregateArgs = { /** * Filter which Session to aggregate. */ where?: SessionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Sessions to fetch. */ orderBy?: SessionOrderByWithRelationInput | SessionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: SessionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Sessions from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Sessions. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Sessions **/ _count?: true | SessionCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: SessionMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: SessionMaxAggregateInputType } export type GetSessionAggregateType = { [P in keyof T & keyof AggregateSession]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type SessionGroupByArgs = { where?: SessionWhereInput orderBy?: SessionOrderByWithAggregationInput | SessionOrderByWithAggregationInput[] by: SessionScalarFieldEnum[] | SessionScalarFieldEnum having?: SessionScalarWhereWithAggregatesInput take?: number skip?: number _count?: SessionCountAggregateInputType | true _min?: SessionMinAggregateInputType _max?: SessionMaxAggregateInputType } export type SessionGroupByOutputType = { id: string userId: string sessionToken: string expires: Date createdAt: Date updatedAt: Date _count: SessionCountAggregateOutputType | null _min: SessionMinAggregateOutputType | null _max: SessionMaxAggregateOutputType | null } type GetSessionGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof SessionGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type SessionSelect = $Extensions.GetSelect<{ id?: boolean userId?: boolean sessionToken?: boolean expires?: boolean createdAt?: boolean updatedAt?: boolean user?: boolean | UserDefaultArgs }, ExtArgs["result"]["session"]> export type SessionSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean userId?: boolean sessionToken?: boolean expires?: boolean createdAt?: boolean updatedAt?: boolean user?: boolean | UserDefaultArgs }, ExtArgs["result"]["session"]> export type SessionSelectScalar = { id?: boolean userId?: boolean sessionToken?: boolean expires?: boolean createdAt?: boolean updatedAt?: boolean } export type SessionInclude = { user?: boolean | UserDefaultArgs } export type SessionIncludeCreateManyAndReturn = { user?: boolean | UserDefaultArgs } export type $SessionPayload = { name: "Session" objects: { user: Prisma.$UserPayload } scalars: $Extensions.GetPayloadResult<{ id: string userId: string sessionToken: string expires: Date createdAt: Date updatedAt: Date }, ExtArgs["result"]["session"]> composites: {} } type SessionGetPayload = $Result.GetResult type SessionCountArgs = Omit & { select?: SessionCountAggregateInputType | true } export interface SessionDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Session'], meta: { name: 'Session' } } /** * Find zero or one Session that matches the filter. * @param {SessionFindUniqueArgs} args - Arguments to find a Session * @example * // Get one Session * const session = await prisma.session.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Session that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {SessionFindUniqueOrThrowArgs} args - Arguments to find a Session * @example * // Get one Session * const session = await prisma.session.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Session that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SessionFindFirstArgs} args - Arguments to find a Session * @example * // Get one Session * const session = await prisma.session.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Session that matches the filter or * throw `PrismaKnownClientError` with `P2025` code if no matches were found. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SessionFindFirstOrThrowArgs} args - Arguments to find a Session * @example * // Get one Session * const session = await prisma.session.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Sessions that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SessionFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Sessions * const sessions = await prisma.session.findMany() * * // Get first 10 Sessions * const sessions = await prisma.session.findMany({ take: 10 }) * * // Only select the `id` * const sessionWithIdOnly = await prisma.session.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Session. * @param {SessionCreateArgs} args - Arguments to create a Session. * @example * // Create one Session * const Session = await prisma.session.create({ * data: { * // ... data to create a Session * } * }) * */ create(args: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Sessions. * @param {SessionCreateManyArgs} args - Arguments to create many Sessions. * @example * // Create many Sessions * const session = await prisma.session.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Sessions and returns the data saved in the database. * @param {SessionCreateManyAndReturnArgs} args - Arguments to create many Sessions. * @example * // Create many Sessions * const session = await prisma.session.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Sessions and only return the `id` * const sessionWithIdOnly = await prisma.session.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a Session. * @param {SessionDeleteArgs} args - Arguments to delete one Session. * @example * // Delete one Session * const Session = await prisma.session.delete({ * where: { * // ... filter to delete one Session * } * }) * */ delete(args: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Session. * @param {SessionUpdateArgs} args - Arguments to update one Session. * @example * // Update one Session * const session = await prisma.session.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Sessions. * @param {SessionDeleteManyArgs} args - Arguments to filter Sessions to delete. * @example * // Delete a few Sessions * const { count } = await prisma.session.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Sessions. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SessionUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Sessions * const session = await prisma.session.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Session. * @param {SessionUpsertArgs} args - Arguments to update or create a Session. * @example * // Update or create a Session * const session = await prisma.session.upsert({ * create: { * // ... data to create a Session * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Session we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Sessions. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SessionCountArgs} args - Arguments to filter Sessions to count. * @example * // Count the number of Sessions * const count = await prisma.session.count({ * where: { * // ... the filter for the Sessions we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a Session. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SessionAggregateArgs} args - Select which aggregations you would like to apply and on what fields. * @example * // Ordered by age ascending * // Where email contains prisma.io * // Limited to the 10 users * const aggregations = await prisma.user.aggregate({ * _avg: { * age: true, * }, * where: { * email: { * contains: "prisma.io", * }, * }, * orderBy: { * age: "asc", * }, * take: 10, * }) **/ aggregate(args: Subset): Prisma.PrismaPromise> /** * Group by Session. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SessionGroupByArgs} args - Group by arguments. * @example * // Group by city, order by createdAt, get count * const result = await prisma.user.groupBy({ * by: ['city', 'createdAt'], * orderBy: { * createdAt: true * }, * _count: { * _all: true * }, * }) * **/ groupBy< T extends SessionGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: SessionGroupByArgs['orderBy'] } : { orderBy?: SessionGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends False ? { [P in HavingFields]: P extends ByFields ? never : P extends string ? `Error: Field "${P}" used in "having" needs to be provided in "by".` : [ Error, 'Field ', P, ` in "having" needs to be provided in "by"`, ] }[HavingFields] : 'take' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "take", you also need to provide "orderBy"' : 'skip' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "skip", you also need to provide "orderBy"' : ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetSessionGroupByPayload : Prisma.PrismaPromise /** * Fields of the Session model */ readonly fields: SessionFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Session. * Why is this prefixed with `Prisma__`? * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ export interface Prisma__SessionClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" user = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the Session model */ interface SessionFieldRefs { readonly id: FieldRef<"Session", 'String'> readonly userId: FieldRef<"Session", 'String'> readonly sessionToken: FieldRef<"Session", 'String'> readonly expires: FieldRef<"Session", 'DateTime'> readonly createdAt: FieldRef<"Session", 'DateTime'> readonly updatedAt: FieldRef<"Session", 'DateTime'> } // Custom InputTypes /** * Session findUnique */ export type SessionFindUniqueArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null /** * Filter, which Session to fetch. */ where: SessionWhereUniqueInput } /** * Session findUniqueOrThrow */ export type SessionFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null /** * Filter, which Session to fetch. */ where: SessionWhereUniqueInput } /** * Session findFirst */ export type SessionFindFirstArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null /** * Filter, which Session to fetch. */ where?: SessionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Sessions to fetch. */ orderBy?: SessionOrderByWithRelationInput | SessionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Sessions. */ cursor?: SessionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Sessions from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Sessions. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Sessions. */ distinct?: SessionScalarFieldEnum | SessionScalarFieldEnum[] } /** * Session findFirstOrThrow */ export type SessionFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null /** * Filter, which Session to fetch. */ where?: SessionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Sessions to fetch. */ orderBy?: SessionOrderByWithRelationInput | SessionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Sessions. */ cursor?: SessionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Sessions from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Sessions. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Sessions. */ distinct?: SessionScalarFieldEnum | SessionScalarFieldEnum[] } /** * Session findMany */ export type SessionFindManyArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null /** * Filter, which Sessions to fetch. */ where?: SessionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Sessions to fetch. */ orderBy?: SessionOrderByWithRelationInput | SessionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Sessions. */ cursor?: SessionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Sessions from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Sessions. */ skip?: number distinct?: SessionScalarFieldEnum | SessionScalarFieldEnum[] } /** * Session create */ export type SessionCreateArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null /** * The data needed to create a Session. */ data: XOR } /** * Session createMany */ export type SessionCreateManyArgs = { /** * The data used to create many Sessions. */ data: SessionCreateManyInput | SessionCreateManyInput[] skipDuplicates?: boolean } /** * Session createManyAndReturn */ export type SessionCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelectCreateManyAndReturn | null /** * The data used to create many Sessions. */ data: SessionCreateManyInput | SessionCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: SessionIncludeCreateManyAndReturn | null } /** * Session update */ export type SessionUpdateArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null /** * The data needed to update a Session. */ data: XOR /** * Choose, which Session to update. */ where: SessionWhereUniqueInput } /** * Session updateMany */ export type SessionUpdateManyArgs = { /** * The data used to update Sessions. */ data: XOR /** * Filter which Sessions to update */ where?: SessionWhereInput } /** * Session upsert */ export type SessionUpsertArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null /** * The filter to search for the Session to update in case it exists. */ where: SessionWhereUniqueInput /** * In case the Session found by the `where` argument doesn't exist, create a new Session with this data. */ create: XOR /** * In case the Session was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Session delete */ export type SessionDeleteArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null /** * Filter which Session to delete. */ where: SessionWhereUniqueInput } /** * Session deleteMany */ export type SessionDeleteManyArgs = { /** * Filter which Sessions to delete */ where?: SessionWhereInput } /** * Session without action */ export type SessionDefaultArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null } /** * Model FamilyGroup */ export type AggregateFamilyGroup = { _count: FamilyGroupCountAggregateOutputType | null _min: FamilyGroupMinAggregateOutputType | null _max: FamilyGroupMaxAggregateOutputType | null } export type FamilyGroupMinAggregateOutputType = { id: string | null name: string | null ownerId: string | null createdAt: Date | null updatedAt: Date | null } export type FamilyGroupMaxAggregateOutputType = { id: string | null name: string | null ownerId: string | null createdAt: Date | null updatedAt: Date | null } export type FamilyGroupCountAggregateOutputType = { id: number name: number ownerId: number createdAt: number updatedAt: number _all: number } export type FamilyGroupMinAggregateInputType = { id?: true name?: true ownerId?: true createdAt?: true updatedAt?: true } export type FamilyGroupMaxAggregateInputType = { id?: true name?: true ownerId?: true createdAt?: true updatedAt?: true } export type FamilyGroupCountAggregateInputType = { id?: true name?: true ownerId?: true createdAt?: true updatedAt?: true _all?: true } export type FamilyGroupAggregateArgs = { /** * Filter which FamilyGroup to aggregate. */ where?: FamilyGroupWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of FamilyGroups to fetch. */ orderBy?: FamilyGroupOrderByWithRelationInput | FamilyGroupOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: FamilyGroupWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` FamilyGroups from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` FamilyGroups. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned FamilyGroups **/ _count?: true | FamilyGroupCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: FamilyGroupMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: FamilyGroupMaxAggregateInputType } export type GetFamilyGroupAggregateType = { [P in keyof T & keyof AggregateFamilyGroup]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type FamilyGroupGroupByArgs = { where?: FamilyGroupWhereInput orderBy?: FamilyGroupOrderByWithAggregationInput | FamilyGroupOrderByWithAggregationInput[] by: FamilyGroupScalarFieldEnum[] | FamilyGroupScalarFieldEnum having?: FamilyGroupScalarWhereWithAggregatesInput take?: number skip?: number _count?: FamilyGroupCountAggregateInputType | true _min?: FamilyGroupMinAggregateInputType _max?: FamilyGroupMaxAggregateInputType } export type FamilyGroupGroupByOutputType = { id: string name: string ownerId: string createdAt: Date updatedAt: Date _count: FamilyGroupCountAggregateOutputType | null _min: FamilyGroupMinAggregateOutputType | null _max: FamilyGroupMaxAggregateOutputType | null } type GetFamilyGroupGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof FamilyGroupGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type FamilyGroupSelect = $Extensions.GetSelect<{ id?: boolean name?: boolean ownerId?: boolean createdAt?: boolean updatedAt?: boolean owner?: boolean | UserDefaultArgs members?: boolean | FamilyGroup$membersArgs subscriptions?: boolean | FamilyGroup$subscriptionsArgs _count?: boolean | FamilyGroupCountOutputTypeDefaultArgs }, ExtArgs["result"]["familyGroup"]> export type FamilyGroupSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean name?: boolean ownerId?: boolean createdAt?: boolean updatedAt?: boolean owner?: boolean | UserDefaultArgs }, ExtArgs["result"]["familyGroup"]> export type FamilyGroupSelectScalar = { id?: boolean name?: boolean ownerId?: boolean createdAt?: boolean updatedAt?: boolean } export type FamilyGroupInclude = { owner?: boolean | UserDefaultArgs members?: boolean | FamilyGroup$membersArgs subscriptions?: boolean | FamilyGroup$subscriptionsArgs _count?: boolean | FamilyGroupCountOutputTypeDefaultArgs } export type FamilyGroupIncludeCreateManyAndReturn = { owner?: boolean | UserDefaultArgs } export type $FamilyGroupPayload = { name: "FamilyGroup" objects: { owner: Prisma.$UserPayload members: Prisma.$FamilyGroupMemberPayload[] subscriptions: Prisma.$SubscriptionPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string name: string ownerId: string createdAt: Date updatedAt: Date }, ExtArgs["result"]["familyGroup"]> composites: {} } type FamilyGroupGetPayload = $Result.GetResult type FamilyGroupCountArgs = Omit & { select?: FamilyGroupCountAggregateInputType | true } export interface FamilyGroupDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['FamilyGroup'], meta: { name: 'FamilyGroup' } } /** * Find zero or one FamilyGroup that matches the filter. * @param {FamilyGroupFindUniqueArgs} args - Arguments to find a FamilyGroup * @example * // Get one FamilyGroup * const familyGroup = await prisma.familyGroup.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__FamilyGroupClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one FamilyGroup that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {FamilyGroupFindUniqueOrThrowArgs} args - Arguments to find a FamilyGroup * @example * // Get one FamilyGroup * const familyGroup = await prisma.familyGroup.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__FamilyGroupClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first FamilyGroup that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {FamilyGroupFindFirstArgs} args - Arguments to find a FamilyGroup * @example * // Get one FamilyGroup * const familyGroup = await prisma.familyGroup.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__FamilyGroupClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first FamilyGroup that matches the filter or * throw `PrismaKnownClientError` with `P2025` code if no matches were found. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {FamilyGroupFindFirstOrThrowArgs} args - Arguments to find a FamilyGroup * @example * // Get one FamilyGroup * const familyGroup = await prisma.familyGroup.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__FamilyGroupClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more FamilyGroups that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {FamilyGroupFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all FamilyGroups * const familyGroups = await prisma.familyGroup.findMany() * * // Get first 10 FamilyGroups * const familyGroups = await prisma.familyGroup.findMany({ take: 10 }) * * // Only select the `id` * const familyGroupWithIdOnly = await prisma.familyGroup.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a FamilyGroup. * @param {FamilyGroupCreateArgs} args - Arguments to create a FamilyGroup. * @example * // Create one FamilyGroup * const FamilyGroup = await prisma.familyGroup.create({ * data: { * // ... data to create a FamilyGroup * } * }) * */ create(args: SelectSubset>): Prisma__FamilyGroupClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many FamilyGroups. * @param {FamilyGroupCreateManyArgs} args - Arguments to create many FamilyGroups. * @example * // Create many FamilyGroups * const familyGroup = await prisma.familyGroup.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many FamilyGroups and returns the data saved in the database. * @param {FamilyGroupCreateManyAndReturnArgs} args - Arguments to create many FamilyGroups. * @example * // Create many FamilyGroups * const familyGroup = await prisma.familyGroup.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many FamilyGroups and only return the `id` * const familyGroupWithIdOnly = await prisma.familyGroup.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a FamilyGroup. * @param {FamilyGroupDeleteArgs} args - Arguments to delete one FamilyGroup. * @example * // Delete one FamilyGroup * const FamilyGroup = await prisma.familyGroup.delete({ * where: { * // ... filter to delete one FamilyGroup * } * }) * */ delete(args: SelectSubset>): Prisma__FamilyGroupClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one FamilyGroup. * @param {FamilyGroupUpdateArgs} args - Arguments to update one FamilyGroup. * @example * // Update one FamilyGroup * const familyGroup = await prisma.familyGroup.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__FamilyGroupClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more FamilyGroups. * @param {FamilyGroupDeleteManyArgs} args - Arguments to filter FamilyGroups to delete. * @example * // Delete a few FamilyGroups * const { count } = await prisma.familyGroup.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more FamilyGroups. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {FamilyGroupUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many FamilyGroups * const familyGroup = await prisma.familyGroup.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one FamilyGroup. * @param {FamilyGroupUpsertArgs} args - Arguments to update or create a FamilyGroup. * @example * // Update or create a FamilyGroup * const familyGroup = await prisma.familyGroup.upsert({ * create: { * // ... data to create a FamilyGroup * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the FamilyGroup we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__FamilyGroupClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of FamilyGroups. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {FamilyGroupCountArgs} args - Arguments to filter FamilyGroups to count. * @example * // Count the number of FamilyGroups * const count = await prisma.familyGroup.count({ * where: { * // ... the filter for the FamilyGroups we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a FamilyGroup. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {FamilyGroupAggregateArgs} args - Select which aggregations you would like to apply and on what fields. * @example * // Ordered by age ascending * // Where email contains prisma.io * // Limited to the 10 users * const aggregations = await prisma.user.aggregate({ * _avg: { * age: true, * }, * where: { * email: { * contains: "prisma.io", * }, * }, * orderBy: { * age: "asc", * }, * take: 10, * }) **/ aggregate(args: Subset): Prisma.PrismaPromise> /** * Group by FamilyGroup. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {FamilyGroupGroupByArgs} args - Group by arguments. * @example * // Group by city, order by createdAt, get count * const result = await prisma.user.groupBy({ * by: ['city', 'createdAt'], * orderBy: { * createdAt: true * }, * _count: { * _all: true * }, * }) * **/ groupBy< T extends FamilyGroupGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: FamilyGroupGroupByArgs['orderBy'] } : { orderBy?: FamilyGroupGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends False ? { [P in HavingFields]: P extends ByFields ? never : P extends string ? `Error: Field "${P}" used in "having" needs to be provided in "by".` : [ Error, 'Field ', P, ` in "having" needs to be provided in "by"`, ] }[HavingFields] : 'take' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "take", you also need to provide "orderBy"' : 'skip' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "skip", you also need to provide "orderBy"' : ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetFamilyGroupGroupByPayload : Prisma.PrismaPromise /** * Fields of the FamilyGroup model */ readonly fields: FamilyGroupFieldRefs; } /** * The delegate class that acts as a "Promise-like" for FamilyGroup. * Why is this prefixed with `Prisma__`? * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ export interface Prisma__FamilyGroupClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" owner = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> members = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> subscriptions = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the FamilyGroup model */ interface FamilyGroupFieldRefs { readonly id: FieldRef<"FamilyGroup", 'String'> readonly name: FieldRef<"FamilyGroup", 'String'> readonly ownerId: FieldRef<"FamilyGroup", 'String'> readonly createdAt: FieldRef<"FamilyGroup", 'DateTime'> readonly updatedAt: FieldRef<"FamilyGroup", 'DateTime'> } // Custom InputTypes /** * FamilyGroup findUnique */ export type FamilyGroupFindUniqueArgs = { /** * Select specific fields to fetch from the FamilyGroup */ select?: FamilyGroupSelect | null /** * Choose, which related nodes to fetch as well */ include?: FamilyGroupInclude | null /** * Filter, which FamilyGroup to fetch. */ where: FamilyGroupWhereUniqueInput } /** * FamilyGroup findUniqueOrThrow */ export type FamilyGroupFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the FamilyGroup */ select?: FamilyGroupSelect | null /** * Choose, which related nodes to fetch as well */ include?: FamilyGroupInclude | null /** * Filter, which FamilyGroup to fetch. */ where: FamilyGroupWhereUniqueInput } /** * FamilyGroup findFirst */ export type FamilyGroupFindFirstArgs = { /** * Select specific fields to fetch from the FamilyGroup */ select?: FamilyGroupSelect | null /** * Choose, which related nodes to fetch as well */ include?: FamilyGroupInclude | null /** * Filter, which FamilyGroup to fetch. */ where?: FamilyGroupWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of FamilyGroups to fetch. */ orderBy?: FamilyGroupOrderByWithRelationInput | FamilyGroupOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for FamilyGroups. */ cursor?: FamilyGroupWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` FamilyGroups from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` FamilyGroups. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of FamilyGroups. */ distinct?: FamilyGroupScalarFieldEnum | FamilyGroupScalarFieldEnum[] } /** * FamilyGroup findFirstOrThrow */ export type FamilyGroupFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the FamilyGroup */ select?: FamilyGroupSelect | null /** * Choose, which related nodes to fetch as well */ include?: FamilyGroupInclude | null /** * Filter, which FamilyGroup to fetch. */ where?: FamilyGroupWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of FamilyGroups to fetch. */ orderBy?: FamilyGroupOrderByWithRelationInput | FamilyGroupOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for FamilyGroups. */ cursor?: FamilyGroupWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` FamilyGroups from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` FamilyGroups. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of FamilyGroups. */ distinct?: FamilyGroupScalarFieldEnum | FamilyGroupScalarFieldEnum[] } /** * FamilyGroup findMany */ export type FamilyGroupFindManyArgs = { /** * Select specific fields to fetch from the FamilyGroup */ select?: FamilyGroupSelect | null /** * Choose, which related nodes to fetch as well */ include?: FamilyGroupInclude | null /** * Filter, which FamilyGroups to fetch. */ where?: FamilyGroupWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of FamilyGroups to fetch. */ orderBy?: FamilyGroupOrderByWithRelationInput | FamilyGroupOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing FamilyGroups. */ cursor?: FamilyGroupWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` FamilyGroups from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` FamilyGroups. */ skip?: number distinct?: FamilyGroupScalarFieldEnum | FamilyGroupScalarFieldEnum[] } /** * FamilyGroup create */ export type FamilyGroupCreateArgs = { /** * Select specific fields to fetch from the FamilyGroup */ select?: FamilyGroupSelect | null /** * Choose, which related nodes to fetch as well */ include?: FamilyGroupInclude | null /** * The data needed to create a FamilyGroup. */ data: XOR } /** * FamilyGroup createMany */ export type FamilyGroupCreateManyArgs = { /** * The data used to create many FamilyGroups. */ data: FamilyGroupCreateManyInput | FamilyGroupCreateManyInput[] skipDuplicates?: boolean } /** * FamilyGroup createManyAndReturn */ export type FamilyGroupCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the FamilyGroup */ select?: FamilyGroupSelectCreateManyAndReturn | null /** * The data used to create many FamilyGroups. */ data: FamilyGroupCreateManyInput | FamilyGroupCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: FamilyGroupIncludeCreateManyAndReturn | null } /** * FamilyGroup update */ export type FamilyGroupUpdateArgs = { /** * Select specific fields to fetch from the FamilyGroup */ select?: FamilyGroupSelect | null /** * Choose, which related nodes to fetch as well */ include?: FamilyGroupInclude | null /** * The data needed to update a FamilyGroup. */ data: XOR /** * Choose, which FamilyGroup to update. */ where: FamilyGroupWhereUniqueInput } /** * FamilyGroup updateMany */ export type FamilyGroupUpdateManyArgs = { /** * The data used to update FamilyGroups. */ data: XOR /** * Filter which FamilyGroups to update */ where?: FamilyGroupWhereInput } /** * FamilyGroup upsert */ export type FamilyGroupUpsertArgs = { /** * Select specific fields to fetch from the FamilyGroup */ select?: FamilyGroupSelect | null /** * Choose, which related nodes to fetch as well */ include?: FamilyGroupInclude | null /** * The filter to search for the FamilyGroup to update in case it exists. */ where: FamilyGroupWhereUniqueInput /** * In case the FamilyGroup found by the `where` argument doesn't exist, create a new FamilyGroup with this data. */ create: XOR /** * In case the FamilyGroup was found with the provided `where` argument, update it with this data. */ update: XOR } /** * FamilyGroup delete */ export type FamilyGroupDeleteArgs = { /** * Select specific fields to fetch from the FamilyGroup */ select?: FamilyGroupSelect | null /** * Choose, which related nodes to fetch as well */ include?: FamilyGroupInclude | null /** * Filter which FamilyGroup to delete. */ where: FamilyGroupWhereUniqueInput } /** * FamilyGroup deleteMany */ export type FamilyGroupDeleteManyArgs = { /** * Filter which FamilyGroups to delete */ where?: FamilyGroupWhereInput } /** * FamilyGroup.members */ export type FamilyGroup$membersArgs = { /** * Select specific fields to fetch from the FamilyGroupMember */ select?: FamilyGroupMemberSelect | null /** * Choose, which related nodes to fetch as well */ include?: FamilyGroupMemberInclude | null where?: FamilyGroupMemberWhereInput orderBy?: FamilyGroupMemberOrderByWithRelationInput | FamilyGroupMemberOrderByWithRelationInput[] cursor?: FamilyGroupMemberWhereUniqueInput take?: number skip?: number distinct?: FamilyGroupMemberScalarFieldEnum | FamilyGroupMemberScalarFieldEnum[] } /** * FamilyGroup.subscriptions */ export type FamilyGroup$subscriptionsArgs = { /** * Select specific fields to fetch from the Subscription */ select?: SubscriptionSelect | null /** * Choose, which related nodes to fetch as well */ include?: SubscriptionInclude | null where?: SubscriptionWhereInput orderBy?: SubscriptionOrderByWithRelationInput | SubscriptionOrderByWithRelationInput[] cursor?: SubscriptionWhereUniqueInput take?: number skip?: number distinct?: SubscriptionScalarFieldEnum | SubscriptionScalarFieldEnum[] } /** * FamilyGroup without action */ export type FamilyGroupDefaultArgs = { /** * Select specific fields to fetch from the FamilyGroup */ select?: FamilyGroupSelect | null /** * Choose, which related nodes to fetch as well */ include?: FamilyGroupInclude | null } /** * Model FamilyGroupMember */ export type AggregateFamilyGroupMember = { _count: FamilyGroupMemberCountAggregateOutputType | null _min: FamilyGroupMemberMinAggregateOutputType | null _max: FamilyGroupMemberMaxAggregateOutputType | null } export type FamilyGroupMemberMinAggregateOutputType = { id: string | null groupId: string | null userId: string | null role: $Enums.FamilyMemberRole | null joinedAt: Date | null createdAt: Date | null updatedAt: Date | null } export type FamilyGroupMemberMaxAggregateOutputType = { id: string | null groupId: string | null userId: string | null role: $Enums.FamilyMemberRole | null joinedAt: Date | null createdAt: Date | null updatedAt: Date | null } export type FamilyGroupMemberCountAggregateOutputType = { id: number groupId: number userId: number role: number joinedAt: number createdAt: number updatedAt: number _all: number } export type FamilyGroupMemberMinAggregateInputType = { id?: true groupId?: true userId?: true role?: true joinedAt?: true createdAt?: true updatedAt?: true } export type FamilyGroupMemberMaxAggregateInputType = { id?: true groupId?: true userId?: true role?: true joinedAt?: true createdAt?: true updatedAt?: true } export type FamilyGroupMemberCountAggregateInputType = { id?: true groupId?: true userId?: true role?: true joinedAt?: true createdAt?: true updatedAt?: true _all?: true } export type FamilyGroupMemberAggregateArgs = { /** * Filter which FamilyGroupMember to aggregate. */ where?: FamilyGroupMemberWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of FamilyGroupMembers to fetch. */ orderBy?: FamilyGroupMemberOrderByWithRelationInput | FamilyGroupMemberOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: FamilyGroupMemberWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` FamilyGroupMembers from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` FamilyGroupMembers. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned FamilyGroupMembers **/ _count?: true | FamilyGroupMemberCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: FamilyGroupMemberMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: FamilyGroupMemberMaxAggregateInputType } export type GetFamilyGroupMemberAggregateType = { [P in keyof T & keyof AggregateFamilyGroupMember]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type FamilyGroupMemberGroupByArgs = { where?: FamilyGroupMemberWhereInput orderBy?: FamilyGroupMemberOrderByWithAggregationInput | FamilyGroupMemberOrderByWithAggregationInput[] by: FamilyGroupMemberScalarFieldEnum[] | FamilyGroupMemberScalarFieldEnum having?: FamilyGroupMemberScalarWhereWithAggregatesInput take?: number skip?: number _count?: FamilyGroupMemberCountAggregateInputType | true _min?: FamilyGroupMemberMinAggregateInputType _max?: FamilyGroupMemberMaxAggregateInputType } export type FamilyGroupMemberGroupByOutputType = { id: string groupId: string userId: string role: $Enums.FamilyMemberRole joinedAt: Date createdAt: Date updatedAt: Date _count: FamilyGroupMemberCountAggregateOutputType | null _min: FamilyGroupMemberMinAggregateOutputType | null _max: FamilyGroupMemberMaxAggregateOutputType | null } type GetFamilyGroupMemberGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof FamilyGroupMemberGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type FamilyGroupMemberSelect = $Extensions.GetSelect<{ id?: boolean groupId?: boolean userId?: boolean role?: boolean joinedAt?: boolean createdAt?: boolean updatedAt?: boolean group?: boolean | FamilyGroupDefaultArgs user?: boolean | UserDefaultArgs }, ExtArgs["result"]["familyGroupMember"]> export type FamilyGroupMemberSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean groupId?: boolean userId?: boolean role?: boolean joinedAt?: boolean createdAt?: boolean updatedAt?: boolean group?: boolean | FamilyGroupDefaultArgs user?: boolean | UserDefaultArgs }, ExtArgs["result"]["familyGroupMember"]> export type FamilyGroupMemberSelectScalar = { id?: boolean groupId?: boolean userId?: boolean role?: boolean joinedAt?: boolean createdAt?: boolean updatedAt?: boolean } export type FamilyGroupMemberInclude = { group?: boolean | FamilyGroupDefaultArgs user?: boolean | UserDefaultArgs } export type FamilyGroupMemberIncludeCreateManyAndReturn = { group?: boolean | FamilyGroupDefaultArgs user?: boolean | UserDefaultArgs } export type $FamilyGroupMemberPayload = { name: "FamilyGroupMember" objects: { group: Prisma.$FamilyGroupPayload user: Prisma.$UserPayload } scalars: $Extensions.GetPayloadResult<{ id: string groupId: string userId: string role: $Enums.FamilyMemberRole joinedAt: Date createdAt: Date updatedAt: Date }, ExtArgs["result"]["familyGroupMember"]> composites: {} } type FamilyGroupMemberGetPayload = $Result.GetResult type FamilyGroupMemberCountArgs = Omit & { select?: FamilyGroupMemberCountAggregateInputType | true } export interface FamilyGroupMemberDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['FamilyGroupMember'], meta: { name: 'FamilyGroupMember' } } /** * Find zero or one FamilyGroupMember that matches the filter. * @param {FamilyGroupMemberFindUniqueArgs} args - Arguments to find a FamilyGroupMember * @example * // Get one FamilyGroupMember * const familyGroupMember = await prisma.familyGroupMember.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__FamilyGroupMemberClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one FamilyGroupMember that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {FamilyGroupMemberFindUniqueOrThrowArgs} args - Arguments to find a FamilyGroupMember * @example * // Get one FamilyGroupMember * const familyGroupMember = await prisma.familyGroupMember.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__FamilyGroupMemberClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first FamilyGroupMember that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {FamilyGroupMemberFindFirstArgs} args - Arguments to find a FamilyGroupMember * @example * // Get one FamilyGroupMember * const familyGroupMember = await prisma.familyGroupMember.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__FamilyGroupMemberClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first FamilyGroupMember that matches the filter or * throw `PrismaKnownClientError` with `P2025` code if no matches were found. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {FamilyGroupMemberFindFirstOrThrowArgs} args - Arguments to find a FamilyGroupMember * @example * // Get one FamilyGroupMember * const familyGroupMember = await prisma.familyGroupMember.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__FamilyGroupMemberClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more FamilyGroupMembers that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {FamilyGroupMemberFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all FamilyGroupMembers * const familyGroupMembers = await prisma.familyGroupMember.findMany() * * // Get first 10 FamilyGroupMembers * const familyGroupMembers = await prisma.familyGroupMember.findMany({ take: 10 }) * * // Only select the `id` * const familyGroupMemberWithIdOnly = await prisma.familyGroupMember.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a FamilyGroupMember. * @param {FamilyGroupMemberCreateArgs} args - Arguments to create a FamilyGroupMember. * @example * // Create one FamilyGroupMember * const FamilyGroupMember = await prisma.familyGroupMember.create({ * data: { * // ... data to create a FamilyGroupMember * } * }) * */ create(args: SelectSubset>): Prisma__FamilyGroupMemberClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many FamilyGroupMembers. * @param {FamilyGroupMemberCreateManyArgs} args - Arguments to create many FamilyGroupMembers. * @example * // Create many FamilyGroupMembers * const familyGroupMember = await prisma.familyGroupMember.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many FamilyGroupMembers and returns the data saved in the database. * @param {FamilyGroupMemberCreateManyAndReturnArgs} args - Arguments to create many FamilyGroupMembers. * @example * // Create many FamilyGroupMembers * const familyGroupMember = await prisma.familyGroupMember.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many FamilyGroupMembers and only return the `id` * const familyGroupMemberWithIdOnly = await prisma.familyGroupMember.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a FamilyGroupMember. * @param {FamilyGroupMemberDeleteArgs} args - Arguments to delete one FamilyGroupMember. * @example * // Delete one FamilyGroupMember * const FamilyGroupMember = await prisma.familyGroupMember.delete({ * where: { * // ... filter to delete one FamilyGroupMember * } * }) * */ delete(args: SelectSubset>): Prisma__FamilyGroupMemberClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one FamilyGroupMember. * @param {FamilyGroupMemberUpdateArgs} args - Arguments to update one FamilyGroupMember. * @example * // Update one FamilyGroupMember * const familyGroupMember = await prisma.familyGroupMember.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__FamilyGroupMemberClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more FamilyGroupMembers. * @param {FamilyGroupMemberDeleteManyArgs} args - Arguments to filter FamilyGroupMembers to delete. * @example * // Delete a few FamilyGroupMembers * const { count } = await prisma.familyGroupMember.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more FamilyGroupMembers. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {FamilyGroupMemberUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many FamilyGroupMembers * const familyGroupMember = await prisma.familyGroupMember.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one FamilyGroupMember. * @param {FamilyGroupMemberUpsertArgs} args - Arguments to update or create a FamilyGroupMember. * @example * // Update or create a FamilyGroupMember * const familyGroupMember = await prisma.familyGroupMember.upsert({ * create: { * // ... data to create a FamilyGroupMember * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the FamilyGroupMember we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__FamilyGroupMemberClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of FamilyGroupMembers. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {FamilyGroupMemberCountArgs} args - Arguments to filter FamilyGroupMembers to count. * @example * // Count the number of FamilyGroupMembers * const count = await prisma.familyGroupMember.count({ * where: { * // ... the filter for the FamilyGroupMembers we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a FamilyGroupMember. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {FamilyGroupMemberAggregateArgs} args - Select which aggregations you would like to apply and on what fields. * @example * // Ordered by age ascending * // Where email contains prisma.io * // Limited to the 10 users * const aggregations = await prisma.user.aggregate({ * _avg: { * age: true, * }, * where: { * email: { * contains: "prisma.io", * }, * }, * orderBy: { * age: "asc", * }, * take: 10, * }) **/ aggregate(args: Subset): Prisma.PrismaPromise> /** * Group by FamilyGroupMember. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {FamilyGroupMemberGroupByArgs} args - Group by arguments. * @example * // Group by city, order by createdAt, get count * const result = await prisma.user.groupBy({ * by: ['city', 'createdAt'], * orderBy: { * createdAt: true * }, * _count: { * _all: true * }, * }) * **/ groupBy< T extends FamilyGroupMemberGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: FamilyGroupMemberGroupByArgs['orderBy'] } : { orderBy?: FamilyGroupMemberGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends False ? { [P in HavingFields]: P extends ByFields ? never : P extends string ? `Error: Field "${P}" used in "having" needs to be provided in "by".` : [ Error, 'Field ', P, ` in "having" needs to be provided in "by"`, ] }[HavingFields] : 'take' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "take", you also need to provide "orderBy"' : 'skip' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "skip", you also need to provide "orderBy"' : ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetFamilyGroupMemberGroupByPayload : Prisma.PrismaPromise /** * Fields of the FamilyGroupMember model */ readonly fields: FamilyGroupMemberFieldRefs; } /** * The delegate class that acts as a "Promise-like" for FamilyGroupMember. * Why is this prefixed with `Prisma__`? * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ export interface Prisma__FamilyGroupMemberClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" group = {}>(args?: Subset>): Prisma__FamilyGroupClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> user = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the FamilyGroupMember model */ interface FamilyGroupMemberFieldRefs { readonly id: FieldRef<"FamilyGroupMember", 'String'> readonly groupId: FieldRef<"FamilyGroupMember", 'String'> readonly userId: FieldRef<"FamilyGroupMember", 'String'> readonly role: FieldRef<"FamilyGroupMember", 'FamilyMemberRole'> readonly joinedAt: FieldRef<"FamilyGroupMember", 'DateTime'> readonly createdAt: FieldRef<"FamilyGroupMember", 'DateTime'> readonly updatedAt: FieldRef<"FamilyGroupMember", 'DateTime'> } // Custom InputTypes /** * FamilyGroupMember findUnique */ export type FamilyGroupMemberFindUniqueArgs = { /** * Select specific fields to fetch from the FamilyGroupMember */ select?: FamilyGroupMemberSelect | null /** * Choose, which related nodes to fetch as well */ include?: FamilyGroupMemberInclude | null /** * Filter, which FamilyGroupMember to fetch. */ where: FamilyGroupMemberWhereUniqueInput } /** * FamilyGroupMember findUniqueOrThrow */ export type FamilyGroupMemberFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the FamilyGroupMember */ select?: FamilyGroupMemberSelect | null /** * Choose, which related nodes to fetch as well */ include?: FamilyGroupMemberInclude | null /** * Filter, which FamilyGroupMember to fetch. */ where: FamilyGroupMemberWhereUniqueInput } /** * FamilyGroupMember findFirst */ export type FamilyGroupMemberFindFirstArgs = { /** * Select specific fields to fetch from the FamilyGroupMember */ select?: FamilyGroupMemberSelect | null /** * Choose, which related nodes to fetch as well */ include?: FamilyGroupMemberInclude | null /** * Filter, which FamilyGroupMember to fetch. */ where?: FamilyGroupMemberWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of FamilyGroupMembers to fetch. */ orderBy?: FamilyGroupMemberOrderByWithRelationInput | FamilyGroupMemberOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for FamilyGroupMembers. */ cursor?: FamilyGroupMemberWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` FamilyGroupMembers from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` FamilyGroupMembers. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of FamilyGroupMembers. */ distinct?: FamilyGroupMemberScalarFieldEnum | FamilyGroupMemberScalarFieldEnum[] } /** * FamilyGroupMember findFirstOrThrow */ export type FamilyGroupMemberFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the FamilyGroupMember */ select?: FamilyGroupMemberSelect | null /** * Choose, which related nodes to fetch as well */ include?: FamilyGroupMemberInclude | null /** * Filter, which FamilyGroupMember to fetch. */ where?: FamilyGroupMemberWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of FamilyGroupMembers to fetch. */ orderBy?: FamilyGroupMemberOrderByWithRelationInput | FamilyGroupMemberOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for FamilyGroupMembers. */ cursor?: FamilyGroupMemberWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` FamilyGroupMembers from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` FamilyGroupMembers. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of FamilyGroupMembers. */ distinct?: FamilyGroupMemberScalarFieldEnum | FamilyGroupMemberScalarFieldEnum[] } /** * FamilyGroupMember findMany */ export type FamilyGroupMemberFindManyArgs = { /** * Select specific fields to fetch from the FamilyGroupMember */ select?: FamilyGroupMemberSelect | null /** * Choose, which related nodes to fetch as well */ include?: FamilyGroupMemberInclude | null /** * Filter, which FamilyGroupMembers to fetch. */ where?: FamilyGroupMemberWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of FamilyGroupMembers to fetch. */ orderBy?: FamilyGroupMemberOrderByWithRelationInput | FamilyGroupMemberOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing FamilyGroupMembers. */ cursor?: FamilyGroupMemberWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` FamilyGroupMembers from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` FamilyGroupMembers. */ skip?: number distinct?: FamilyGroupMemberScalarFieldEnum | FamilyGroupMemberScalarFieldEnum[] } /** * FamilyGroupMember create */ export type FamilyGroupMemberCreateArgs = { /** * Select specific fields to fetch from the FamilyGroupMember */ select?: FamilyGroupMemberSelect | null /** * Choose, which related nodes to fetch as well */ include?: FamilyGroupMemberInclude | null /** * The data needed to create a FamilyGroupMember. */ data: XOR } /** * FamilyGroupMember createMany */ export type FamilyGroupMemberCreateManyArgs = { /** * The data used to create many FamilyGroupMembers. */ data: FamilyGroupMemberCreateManyInput | FamilyGroupMemberCreateManyInput[] skipDuplicates?: boolean } /** * FamilyGroupMember createManyAndReturn */ export type FamilyGroupMemberCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the FamilyGroupMember */ select?: FamilyGroupMemberSelectCreateManyAndReturn | null /** * The data used to create many FamilyGroupMembers. */ data: FamilyGroupMemberCreateManyInput | FamilyGroupMemberCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: FamilyGroupMemberIncludeCreateManyAndReturn | null } /** * FamilyGroupMember update */ export type FamilyGroupMemberUpdateArgs = { /** * Select specific fields to fetch from the FamilyGroupMember */ select?: FamilyGroupMemberSelect | null /** * Choose, which related nodes to fetch as well */ include?: FamilyGroupMemberInclude | null /** * The data needed to update a FamilyGroupMember. */ data: XOR /** * Choose, which FamilyGroupMember to update. */ where: FamilyGroupMemberWhereUniqueInput } /** * FamilyGroupMember updateMany */ export type FamilyGroupMemberUpdateManyArgs = { /** * The data used to update FamilyGroupMembers. */ data: XOR /** * Filter which FamilyGroupMembers to update */ where?: FamilyGroupMemberWhereInput } /** * FamilyGroupMember upsert */ export type FamilyGroupMemberUpsertArgs = { /** * Select specific fields to fetch from the FamilyGroupMember */ select?: FamilyGroupMemberSelect | null /** * Choose, which related nodes to fetch as well */ include?: FamilyGroupMemberInclude | null /** * The filter to search for the FamilyGroupMember to update in case it exists. */ where: FamilyGroupMemberWhereUniqueInput /** * In case the FamilyGroupMember found by the `where` argument doesn't exist, create a new FamilyGroupMember with this data. */ create: XOR /** * In case the FamilyGroupMember was found with the provided `where` argument, update it with this data. */ update: XOR } /** * FamilyGroupMember delete */ export type FamilyGroupMemberDeleteArgs = { /** * Select specific fields to fetch from the FamilyGroupMember */ select?: FamilyGroupMemberSelect | null /** * Choose, which related nodes to fetch as well */ include?: FamilyGroupMemberInclude | null /** * Filter which FamilyGroupMember to delete. */ where: FamilyGroupMemberWhereUniqueInput } /** * FamilyGroupMember deleteMany */ export type FamilyGroupMemberDeleteManyArgs = { /** * Filter which FamilyGroupMembers to delete */ where?: FamilyGroupMemberWhereInput } /** * FamilyGroupMember without action */ export type FamilyGroupMemberDefaultArgs = { /** * Select specific fields to fetch from the FamilyGroupMember */ select?: FamilyGroupMemberSelect | null /** * Choose, which related nodes to fetch as well */ include?: FamilyGroupMemberInclude | null } /** * Model Subscription */ export type AggregateSubscription = { _count: SubscriptionCountAggregateOutputType | null _min: SubscriptionMinAggregateOutputType | null _max: SubscriptionMaxAggregateOutputType | null } export type SubscriptionMinAggregateOutputType = { id: string | null userId: string | null familyGroupId: string | null stripeId: string | null tier: $Enums.SubscriptionTier | null status: $Enums.SubscriptionStatus | null currentPeriodStart: Date | null currentPeriodEnd: Date | null cancelAtPeriodEnd: boolean | null createdAt: Date | null updatedAt: Date | null } export type SubscriptionMaxAggregateOutputType = { id: string | null userId: string | null familyGroupId: string | null stripeId: string | null tier: $Enums.SubscriptionTier | null status: $Enums.SubscriptionStatus | null currentPeriodStart: Date | null currentPeriodEnd: Date | null cancelAtPeriodEnd: boolean | null createdAt: Date | null updatedAt: Date | null } export type SubscriptionCountAggregateOutputType = { id: number userId: number familyGroupId: number stripeId: number tier: number status: number currentPeriodStart: number currentPeriodEnd: number cancelAtPeriodEnd: number createdAt: number updatedAt: number _all: number } export type SubscriptionMinAggregateInputType = { id?: true userId?: true familyGroupId?: true stripeId?: true tier?: true status?: true currentPeriodStart?: true currentPeriodEnd?: true cancelAtPeriodEnd?: true createdAt?: true updatedAt?: true } export type SubscriptionMaxAggregateInputType = { id?: true userId?: true familyGroupId?: true stripeId?: true tier?: true status?: true currentPeriodStart?: true currentPeriodEnd?: true cancelAtPeriodEnd?: true createdAt?: true updatedAt?: true } export type SubscriptionCountAggregateInputType = { id?: true userId?: true familyGroupId?: true stripeId?: true tier?: true status?: true currentPeriodStart?: true currentPeriodEnd?: true cancelAtPeriodEnd?: true createdAt?: true updatedAt?: true _all?: true } export type SubscriptionAggregateArgs = { /** * Filter which Subscription to aggregate. */ where?: SubscriptionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Subscriptions to fetch. */ orderBy?: SubscriptionOrderByWithRelationInput | SubscriptionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: SubscriptionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Subscriptions from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Subscriptions. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Subscriptions **/ _count?: true | SubscriptionCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: SubscriptionMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: SubscriptionMaxAggregateInputType } export type GetSubscriptionAggregateType = { [P in keyof T & keyof AggregateSubscription]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type SubscriptionGroupByArgs = { where?: SubscriptionWhereInput orderBy?: SubscriptionOrderByWithAggregationInput | SubscriptionOrderByWithAggregationInput[] by: SubscriptionScalarFieldEnum[] | SubscriptionScalarFieldEnum having?: SubscriptionScalarWhereWithAggregatesInput take?: number skip?: number _count?: SubscriptionCountAggregateInputType | true _min?: SubscriptionMinAggregateInputType _max?: SubscriptionMaxAggregateInputType } export type SubscriptionGroupByOutputType = { id: string userId: string familyGroupId: string | null stripeId: string | null tier: $Enums.SubscriptionTier status: $Enums.SubscriptionStatus currentPeriodStart: Date currentPeriodEnd: Date cancelAtPeriodEnd: boolean createdAt: Date updatedAt: Date _count: SubscriptionCountAggregateOutputType | null _min: SubscriptionMinAggregateOutputType | null _max: SubscriptionMaxAggregateOutputType | null } type GetSubscriptionGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof SubscriptionGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type SubscriptionSelect = $Extensions.GetSelect<{ id?: boolean userId?: boolean familyGroupId?: boolean stripeId?: boolean tier?: boolean status?: boolean currentPeriodStart?: boolean currentPeriodEnd?: boolean cancelAtPeriodEnd?: boolean createdAt?: boolean updatedAt?: boolean user?: boolean | UserDefaultArgs familyGroup?: boolean | Subscription$familyGroupArgs watchlistItems?: boolean | Subscription$watchlistItemsArgs exposures?: boolean | Subscription$exposuresArgs alerts?: boolean | Subscription$alertsArgs _count?: boolean | SubscriptionCountOutputTypeDefaultArgs }, ExtArgs["result"]["subscription"]> export type SubscriptionSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean userId?: boolean familyGroupId?: boolean stripeId?: boolean tier?: boolean status?: boolean currentPeriodStart?: boolean currentPeriodEnd?: boolean cancelAtPeriodEnd?: boolean createdAt?: boolean updatedAt?: boolean user?: boolean | UserDefaultArgs familyGroup?: boolean | Subscription$familyGroupArgs }, ExtArgs["result"]["subscription"]> export type SubscriptionSelectScalar = { id?: boolean userId?: boolean familyGroupId?: boolean stripeId?: boolean tier?: boolean status?: boolean currentPeriodStart?: boolean currentPeriodEnd?: boolean cancelAtPeriodEnd?: boolean createdAt?: boolean updatedAt?: boolean } export type SubscriptionInclude = { user?: boolean | UserDefaultArgs familyGroup?: boolean | Subscription$familyGroupArgs watchlistItems?: boolean | Subscription$watchlistItemsArgs exposures?: boolean | Subscription$exposuresArgs alerts?: boolean | Subscription$alertsArgs _count?: boolean | SubscriptionCountOutputTypeDefaultArgs } export type SubscriptionIncludeCreateManyAndReturn = { user?: boolean | UserDefaultArgs familyGroup?: boolean | Subscription$familyGroupArgs } export type $SubscriptionPayload = { name: "Subscription" objects: { user: Prisma.$UserPayload familyGroup: Prisma.$FamilyGroupPayload | null watchlistItems: Prisma.$WatchlistItemPayload[] exposures: Prisma.$ExposurePayload[] alerts: Prisma.$AlertPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string userId: string familyGroupId: string | null stripeId: string | null tier: $Enums.SubscriptionTier status: $Enums.SubscriptionStatus currentPeriodStart: Date currentPeriodEnd: Date cancelAtPeriodEnd: boolean createdAt: Date updatedAt: Date }, ExtArgs["result"]["subscription"]> composites: {} } type SubscriptionGetPayload = $Result.GetResult type SubscriptionCountArgs = Omit & { select?: SubscriptionCountAggregateInputType | true } export interface SubscriptionDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Subscription'], meta: { name: 'Subscription' } } /** * Find zero or one Subscription that matches the filter. * @param {SubscriptionFindUniqueArgs} args - Arguments to find a Subscription * @example * // Get one Subscription * const subscription = await prisma.subscription.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__SubscriptionClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Subscription that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {SubscriptionFindUniqueOrThrowArgs} args - Arguments to find a Subscription * @example * // Get one Subscription * const subscription = await prisma.subscription.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__SubscriptionClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Subscription that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SubscriptionFindFirstArgs} args - Arguments to find a Subscription * @example * // Get one Subscription * const subscription = await prisma.subscription.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__SubscriptionClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Subscription that matches the filter or * throw `PrismaKnownClientError` with `P2025` code if no matches were found. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SubscriptionFindFirstOrThrowArgs} args - Arguments to find a Subscription * @example * // Get one Subscription * const subscription = await prisma.subscription.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__SubscriptionClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Subscriptions that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SubscriptionFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Subscriptions * const subscriptions = await prisma.subscription.findMany() * * // Get first 10 Subscriptions * const subscriptions = await prisma.subscription.findMany({ take: 10 }) * * // Only select the `id` * const subscriptionWithIdOnly = await prisma.subscription.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Subscription. * @param {SubscriptionCreateArgs} args - Arguments to create a Subscription. * @example * // Create one Subscription * const Subscription = await prisma.subscription.create({ * data: { * // ... data to create a Subscription * } * }) * */ create(args: SelectSubset>): Prisma__SubscriptionClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Subscriptions. * @param {SubscriptionCreateManyArgs} args - Arguments to create many Subscriptions. * @example * // Create many Subscriptions * const subscription = await prisma.subscription.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Subscriptions and returns the data saved in the database. * @param {SubscriptionCreateManyAndReturnArgs} args - Arguments to create many Subscriptions. * @example * // Create many Subscriptions * const subscription = await prisma.subscription.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Subscriptions and only return the `id` * const subscriptionWithIdOnly = await prisma.subscription.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a Subscription. * @param {SubscriptionDeleteArgs} args - Arguments to delete one Subscription. * @example * // Delete one Subscription * const Subscription = await prisma.subscription.delete({ * where: { * // ... filter to delete one Subscription * } * }) * */ delete(args: SelectSubset>): Prisma__SubscriptionClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Subscription. * @param {SubscriptionUpdateArgs} args - Arguments to update one Subscription. * @example * // Update one Subscription * const subscription = await prisma.subscription.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__SubscriptionClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Subscriptions. * @param {SubscriptionDeleteManyArgs} args - Arguments to filter Subscriptions to delete. * @example * // Delete a few Subscriptions * const { count } = await prisma.subscription.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Subscriptions. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SubscriptionUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Subscriptions * const subscription = await prisma.subscription.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Subscription. * @param {SubscriptionUpsertArgs} args - Arguments to update or create a Subscription. * @example * // Update or create a Subscription * const subscription = await prisma.subscription.upsert({ * create: { * // ... data to create a Subscription * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Subscription we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__SubscriptionClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Subscriptions. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SubscriptionCountArgs} args - Arguments to filter Subscriptions to count. * @example * // Count the number of Subscriptions * const count = await prisma.subscription.count({ * where: { * // ... the filter for the Subscriptions we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a Subscription. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SubscriptionAggregateArgs} args - Select which aggregations you would like to apply and on what fields. * @example * // Ordered by age ascending * // Where email contains prisma.io * // Limited to the 10 users * const aggregations = await prisma.user.aggregate({ * _avg: { * age: true, * }, * where: { * email: { * contains: "prisma.io", * }, * }, * orderBy: { * age: "asc", * }, * take: 10, * }) **/ aggregate(args: Subset): Prisma.PrismaPromise> /** * Group by Subscription. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SubscriptionGroupByArgs} args - Group by arguments. * @example * // Group by city, order by createdAt, get count * const result = await prisma.user.groupBy({ * by: ['city', 'createdAt'], * orderBy: { * createdAt: true * }, * _count: { * _all: true * }, * }) * **/ groupBy< T extends SubscriptionGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: SubscriptionGroupByArgs['orderBy'] } : { orderBy?: SubscriptionGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends False ? { [P in HavingFields]: P extends ByFields ? never : P extends string ? `Error: Field "${P}" used in "having" needs to be provided in "by".` : [ Error, 'Field ', P, ` in "having" needs to be provided in "by"`, ] }[HavingFields] : 'take' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "take", you also need to provide "orderBy"' : 'skip' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "skip", you also need to provide "orderBy"' : ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetSubscriptionGroupByPayload : Prisma.PrismaPromise /** * Fields of the Subscription model */ readonly fields: SubscriptionFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Subscription. * Why is this prefixed with `Prisma__`? * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ export interface Prisma__SubscriptionClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" user = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> familyGroup = {}>(args?: Subset>): Prisma__FamilyGroupClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> watchlistItems = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> exposures = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> alerts = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the Subscription model */ interface SubscriptionFieldRefs { readonly id: FieldRef<"Subscription", 'String'> readonly userId: FieldRef<"Subscription", 'String'> readonly familyGroupId: FieldRef<"Subscription", 'String'> readonly stripeId: FieldRef<"Subscription", 'String'> readonly tier: FieldRef<"Subscription", 'SubscriptionTier'> readonly status: FieldRef<"Subscription", 'SubscriptionStatus'> readonly currentPeriodStart: FieldRef<"Subscription", 'DateTime'> readonly currentPeriodEnd: FieldRef<"Subscription", 'DateTime'> readonly cancelAtPeriodEnd: FieldRef<"Subscription", 'Boolean'> readonly createdAt: FieldRef<"Subscription", 'DateTime'> readonly updatedAt: FieldRef<"Subscription", 'DateTime'> } // Custom InputTypes /** * Subscription findUnique */ export type SubscriptionFindUniqueArgs = { /** * Select specific fields to fetch from the Subscription */ select?: SubscriptionSelect | null /** * Choose, which related nodes to fetch as well */ include?: SubscriptionInclude | null /** * Filter, which Subscription to fetch. */ where: SubscriptionWhereUniqueInput } /** * Subscription findUniqueOrThrow */ export type SubscriptionFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Subscription */ select?: SubscriptionSelect | null /** * Choose, which related nodes to fetch as well */ include?: SubscriptionInclude | null /** * Filter, which Subscription to fetch. */ where: SubscriptionWhereUniqueInput } /** * Subscription findFirst */ export type SubscriptionFindFirstArgs = { /** * Select specific fields to fetch from the Subscription */ select?: SubscriptionSelect | null /** * Choose, which related nodes to fetch as well */ include?: SubscriptionInclude | null /** * Filter, which Subscription to fetch. */ where?: SubscriptionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Subscriptions to fetch. */ orderBy?: SubscriptionOrderByWithRelationInput | SubscriptionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Subscriptions. */ cursor?: SubscriptionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Subscriptions from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Subscriptions. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Subscriptions. */ distinct?: SubscriptionScalarFieldEnum | SubscriptionScalarFieldEnum[] } /** * Subscription findFirstOrThrow */ export type SubscriptionFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Subscription */ select?: SubscriptionSelect | null /** * Choose, which related nodes to fetch as well */ include?: SubscriptionInclude | null /** * Filter, which Subscription to fetch. */ where?: SubscriptionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Subscriptions to fetch. */ orderBy?: SubscriptionOrderByWithRelationInput | SubscriptionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Subscriptions. */ cursor?: SubscriptionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Subscriptions from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Subscriptions. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Subscriptions. */ distinct?: SubscriptionScalarFieldEnum | SubscriptionScalarFieldEnum[] } /** * Subscription findMany */ export type SubscriptionFindManyArgs = { /** * Select specific fields to fetch from the Subscription */ select?: SubscriptionSelect | null /** * Choose, which related nodes to fetch as well */ include?: SubscriptionInclude | null /** * Filter, which Subscriptions to fetch. */ where?: SubscriptionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Subscriptions to fetch. */ orderBy?: SubscriptionOrderByWithRelationInput | SubscriptionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Subscriptions. */ cursor?: SubscriptionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Subscriptions from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Subscriptions. */ skip?: number distinct?: SubscriptionScalarFieldEnum | SubscriptionScalarFieldEnum[] } /** * Subscription create */ export type SubscriptionCreateArgs = { /** * Select specific fields to fetch from the Subscription */ select?: SubscriptionSelect | null /** * Choose, which related nodes to fetch as well */ include?: SubscriptionInclude | null /** * The data needed to create a Subscription. */ data: XOR } /** * Subscription createMany */ export type SubscriptionCreateManyArgs = { /** * The data used to create many Subscriptions. */ data: SubscriptionCreateManyInput | SubscriptionCreateManyInput[] skipDuplicates?: boolean } /** * Subscription createManyAndReturn */ export type SubscriptionCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Subscription */ select?: SubscriptionSelectCreateManyAndReturn | null /** * The data used to create many Subscriptions. */ data: SubscriptionCreateManyInput | SubscriptionCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: SubscriptionIncludeCreateManyAndReturn | null } /** * Subscription update */ export type SubscriptionUpdateArgs = { /** * Select specific fields to fetch from the Subscription */ select?: SubscriptionSelect | null /** * Choose, which related nodes to fetch as well */ include?: SubscriptionInclude | null /** * The data needed to update a Subscription. */ data: XOR /** * Choose, which Subscription to update. */ where: SubscriptionWhereUniqueInput } /** * Subscription updateMany */ export type SubscriptionUpdateManyArgs = { /** * The data used to update Subscriptions. */ data: XOR /** * Filter which Subscriptions to update */ where?: SubscriptionWhereInput } /** * Subscription upsert */ export type SubscriptionUpsertArgs = { /** * Select specific fields to fetch from the Subscription */ select?: SubscriptionSelect | null /** * Choose, which related nodes to fetch as well */ include?: SubscriptionInclude | null /** * The filter to search for the Subscription to update in case it exists. */ where: SubscriptionWhereUniqueInput /** * In case the Subscription found by the `where` argument doesn't exist, create a new Subscription with this data. */ create: XOR /** * In case the Subscription was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Subscription delete */ export type SubscriptionDeleteArgs = { /** * Select specific fields to fetch from the Subscription */ select?: SubscriptionSelect | null /** * Choose, which related nodes to fetch as well */ include?: SubscriptionInclude | null /** * Filter which Subscription to delete. */ where: SubscriptionWhereUniqueInput } /** * Subscription deleteMany */ export type SubscriptionDeleteManyArgs = { /** * Filter which Subscriptions to delete */ where?: SubscriptionWhereInput } /** * Subscription.familyGroup */ export type Subscription$familyGroupArgs = { /** * Select specific fields to fetch from the FamilyGroup */ select?: FamilyGroupSelect | null /** * Choose, which related nodes to fetch as well */ include?: FamilyGroupInclude | null where?: FamilyGroupWhereInput } /** * Subscription.watchlistItems */ export type Subscription$watchlistItemsArgs = { /** * Select specific fields to fetch from the WatchlistItem */ select?: WatchlistItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: WatchlistItemInclude | null where?: WatchlistItemWhereInput orderBy?: WatchlistItemOrderByWithRelationInput | WatchlistItemOrderByWithRelationInput[] cursor?: WatchlistItemWhereUniqueInput take?: number skip?: number distinct?: WatchlistItemScalarFieldEnum | WatchlistItemScalarFieldEnum[] } /** * Subscription.exposures */ export type Subscription$exposuresArgs = { /** * Select specific fields to fetch from the Exposure */ select?: ExposureSelect | null /** * Choose, which related nodes to fetch as well */ include?: ExposureInclude | null where?: ExposureWhereInput orderBy?: ExposureOrderByWithRelationInput | ExposureOrderByWithRelationInput[] cursor?: ExposureWhereUniqueInput take?: number skip?: number distinct?: ExposureScalarFieldEnum | ExposureScalarFieldEnum[] } /** * Subscription.alerts */ export type Subscription$alertsArgs = { /** * Select specific fields to fetch from the Alert */ select?: AlertSelect | null /** * Choose, which related nodes to fetch as well */ include?: AlertInclude | null where?: AlertWhereInput orderBy?: AlertOrderByWithRelationInput | AlertOrderByWithRelationInput[] cursor?: AlertWhereUniqueInput take?: number skip?: number distinct?: AlertScalarFieldEnum | AlertScalarFieldEnum[] } /** * Subscription without action */ export type SubscriptionDefaultArgs = { /** * Select specific fields to fetch from the Subscription */ select?: SubscriptionSelect | null /** * Choose, which related nodes to fetch as well */ include?: SubscriptionInclude | null } /** * Model WatchlistItem */ export type AggregateWatchlistItem = { _count: WatchlistItemCountAggregateOutputType | null _min: WatchlistItemMinAggregateOutputType | null _max: WatchlistItemMaxAggregateOutputType | null } export type WatchlistItemMinAggregateOutputType = { id: string | null subscriptionId: string | null type: $Enums.WatchlistType | null value: string | null hash: string | null isActive: boolean | null createdAt: Date | null updatedAt: Date | null } export type WatchlistItemMaxAggregateOutputType = { id: string | null subscriptionId: string | null type: $Enums.WatchlistType | null value: string | null hash: string | null isActive: boolean | null createdAt: Date | null updatedAt: Date | null } export type WatchlistItemCountAggregateOutputType = { id: number subscriptionId: number type: number value: number hash: number isActive: number createdAt: number updatedAt: number _all: number } export type WatchlistItemMinAggregateInputType = { id?: true subscriptionId?: true type?: true value?: true hash?: true isActive?: true createdAt?: true updatedAt?: true } export type WatchlistItemMaxAggregateInputType = { id?: true subscriptionId?: true type?: true value?: true hash?: true isActive?: true createdAt?: true updatedAt?: true } export type WatchlistItemCountAggregateInputType = { id?: true subscriptionId?: true type?: true value?: true hash?: true isActive?: true createdAt?: true updatedAt?: true _all?: true } export type WatchlistItemAggregateArgs = { /** * Filter which WatchlistItem to aggregate. */ where?: WatchlistItemWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of WatchlistItems to fetch. */ orderBy?: WatchlistItemOrderByWithRelationInput | WatchlistItemOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: WatchlistItemWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` WatchlistItems from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` WatchlistItems. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned WatchlistItems **/ _count?: true | WatchlistItemCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: WatchlistItemMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: WatchlistItemMaxAggregateInputType } export type GetWatchlistItemAggregateType = { [P in keyof T & keyof AggregateWatchlistItem]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type WatchlistItemGroupByArgs = { where?: WatchlistItemWhereInput orderBy?: WatchlistItemOrderByWithAggregationInput | WatchlistItemOrderByWithAggregationInput[] by: WatchlistItemScalarFieldEnum[] | WatchlistItemScalarFieldEnum having?: WatchlistItemScalarWhereWithAggregatesInput take?: number skip?: number _count?: WatchlistItemCountAggregateInputType | true _min?: WatchlistItemMinAggregateInputType _max?: WatchlistItemMaxAggregateInputType } export type WatchlistItemGroupByOutputType = { id: string subscriptionId: string type: $Enums.WatchlistType value: string hash: string isActive: boolean createdAt: Date updatedAt: Date _count: WatchlistItemCountAggregateOutputType | null _min: WatchlistItemMinAggregateOutputType | null _max: WatchlistItemMaxAggregateOutputType | null } type GetWatchlistItemGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof WatchlistItemGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type WatchlistItemSelect = $Extensions.GetSelect<{ id?: boolean subscriptionId?: boolean type?: boolean value?: boolean hash?: boolean isActive?: boolean createdAt?: boolean updatedAt?: boolean subscription?: boolean | SubscriptionDefaultArgs exposures?: boolean | WatchlistItem$exposuresArgs _count?: boolean | WatchlistItemCountOutputTypeDefaultArgs }, ExtArgs["result"]["watchlistItem"]> export type WatchlistItemSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean subscriptionId?: boolean type?: boolean value?: boolean hash?: boolean isActive?: boolean createdAt?: boolean updatedAt?: boolean subscription?: boolean | SubscriptionDefaultArgs }, ExtArgs["result"]["watchlistItem"]> export type WatchlistItemSelectScalar = { id?: boolean subscriptionId?: boolean type?: boolean value?: boolean hash?: boolean isActive?: boolean createdAt?: boolean updatedAt?: boolean } export type WatchlistItemInclude = { subscription?: boolean | SubscriptionDefaultArgs exposures?: boolean | WatchlistItem$exposuresArgs _count?: boolean | WatchlistItemCountOutputTypeDefaultArgs } export type WatchlistItemIncludeCreateManyAndReturn = { subscription?: boolean | SubscriptionDefaultArgs } export type $WatchlistItemPayload = { name: "WatchlistItem" objects: { subscription: Prisma.$SubscriptionPayload exposures: Prisma.$ExposurePayload[] } scalars: $Extensions.GetPayloadResult<{ id: string subscriptionId: string type: $Enums.WatchlistType value: string hash: string isActive: boolean createdAt: Date updatedAt: Date }, ExtArgs["result"]["watchlistItem"]> composites: {} } type WatchlistItemGetPayload = $Result.GetResult type WatchlistItemCountArgs = Omit & { select?: WatchlistItemCountAggregateInputType | true } export interface WatchlistItemDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['WatchlistItem'], meta: { name: 'WatchlistItem' } } /** * Find zero or one WatchlistItem that matches the filter. * @param {WatchlistItemFindUniqueArgs} args - Arguments to find a WatchlistItem * @example * // Get one WatchlistItem * const watchlistItem = await prisma.watchlistItem.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__WatchlistItemClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one WatchlistItem that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {WatchlistItemFindUniqueOrThrowArgs} args - Arguments to find a WatchlistItem * @example * // Get one WatchlistItem * const watchlistItem = await prisma.watchlistItem.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__WatchlistItemClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first WatchlistItem that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {WatchlistItemFindFirstArgs} args - Arguments to find a WatchlistItem * @example * // Get one WatchlistItem * const watchlistItem = await prisma.watchlistItem.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__WatchlistItemClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first WatchlistItem that matches the filter or * throw `PrismaKnownClientError` with `P2025` code if no matches were found. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {WatchlistItemFindFirstOrThrowArgs} args - Arguments to find a WatchlistItem * @example * // Get one WatchlistItem * const watchlistItem = await prisma.watchlistItem.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__WatchlistItemClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more WatchlistItems that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {WatchlistItemFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all WatchlistItems * const watchlistItems = await prisma.watchlistItem.findMany() * * // Get first 10 WatchlistItems * const watchlistItems = await prisma.watchlistItem.findMany({ take: 10 }) * * // Only select the `id` * const watchlistItemWithIdOnly = await prisma.watchlistItem.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a WatchlistItem. * @param {WatchlistItemCreateArgs} args - Arguments to create a WatchlistItem. * @example * // Create one WatchlistItem * const WatchlistItem = await prisma.watchlistItem.create({ * data: { * // ... data to create a WatchlistItem * } * }) * */ create(args: SelectSubset>): Prisma__WatchlistItemClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many WatchlistItems. * @param {WatchlistItemCreateManyArgs} args - Arguments to create many WatchlistItems. * @example * // Create many WatchlistItems * const watchlistItem = await prisma.watchlistItem.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many WatchlistItems and returns the data saved in the database. * @param {WatchlistItemCreateManyAndReturnArgs} args - Arguments to create many WatchlistItems. * @example * // Create many WatchlistItems * const watchlistItem = await prisma.watchlistItem.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many WatchlistItems and only return the `id` * const watchlistItemWithIdOnly = await prisma.watchlistItem.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a WatchlistItem. * @param {WatchlistItemDeleteArgs} args - Arguments to delete one WatchlistItem. * @example * // Delete one WatchlistItem * const WatchlistItem = await prisma.watchlistItem.delete({ * where: { * // ... filter to delete one WatchlistItem * } * }) * */ delete(args: SelectSubset>): Prisma__WatchlistItemClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one WatchlistItem. * @param {WatchlistItemUpdateArgs} args - Arguments to update one WatchlistItem. * @example * // Update one WatchlistItem * const watchlistItem = await prisma.watchlistItem.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__WatchlistItemClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more WatchlistItems. * @param {WatchlistItemDeleteManyArgs} args - Arguments to filter WatchlistItems to delete. * @example * // Delete a few WatchlistItems * const { count } = await prisma.watchlistItem.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more WatchlistItems. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {WatchlistItemUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many WatchlistItems * const watchlistItem = await prisma.watchlistItem.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one WatchlistItem. * @param {WatchlistItemUpsertArgs} args - Arguments to update or create a WatchlistItem. * @example * // Update or create a WatchlistItem * const watchlistItem = await prisma.watchlistItem.upsert({ * create: { * // ... data to create a WatchlistItem * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the WatchlistItem we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__WatchlistItemClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of WatchlistItems. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {WatchlistItemCountArgs} args - Arguments to filter WatchlistItems to count. * @example * // Count the number of WatchlistItems * const count = await prisma.watchlistItem.count({ * where: { * // ... the filter for the WatchlistItems we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a WatchlistItem. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {WatchlistItemAggregateArgs} args - Select which aggregations you would like to apply and on what fields. * @example * // Ordered by age ascending * // Where email contains prisma.io * // Limited to the 10 users * const aggregations = await prisma.user.aggregate({ * _avg: { * age: true, * }, * where: { * email: { * contains: "prisma.io", * }, * }, * orderBy: { * age: "asc", * }, * take: 10, * }) **/ aggregate(args: Subset): Prisma.PrismaPromise> /** * Group by WatchlistItem. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {WatchlistItemGroupByArgs} args - Group by arguments. * @example * // Group by city, order by createdAt, get count * const result = await prisma.user.groupBy({ * by: ['city', 'createdAt'], * orderBy: { * createdAt: true * }, * _count: { * _all: true * }, * }) * **/ groupBy< T extends WatchlistItemGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: WatchlistItemGroupByArgs['orderBy'] } : { orderBy?: WatchlistItemGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends False ? { [P in HavingFields]: P extends ByFields ? never : P extends string ? `Error: Field "${P}" used in "having" needs to be provided in "by".` : [ Error, 'Field ', P, ` in "having" needs to be provided in "by"`, ] }[HavingFields] : 'take' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "take", you also need to provide "orderBy"' : 'skip' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "skip", you also need to provide "orderBy"' : ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetWatchlistItemGroupByPayload : Prisma.PrismaPromise /** * Fields of the WatchlistItem model */ readonly fields: WatchlistItemFieldRefs; } /** * The delegate class that acts as a "Promise-like" for WatchlistItem. * Why is this prefixed with `Prisma__`? * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ export interface Prisma__WatchlistItemClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" subscription = {}>(args?: Subset>): Prisma__SubscriptionClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> exposures = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the WatchlistItem model */ interface WatchlistItemFieldRefs { readonly id: FieldRef<"WatchlistItem", 'String'> readonly subscriptionId: FieldRef<"WatchlistItem", 'String'> readonly type: FieldRef<"WatchlistItem", 'WatchlistType'> readonly value: FieldRef<"WatchlistItem", 'String'> readonly hash: FieldRef<"WatchlistItem", 'String'> readonly isActive: FieldRef<"WatchlistItem", 'Boolean'> readonly createdAt: FieldRef<"WatchlistItem", 'DateTime'> readonly updatedAt: FieldRef<"WatchlistItem", 'DateTime'> } // Custom InputTypes /** * WatchlistItem findUnique */ export type WatchlistItemFindUniqueArgs = { /** * Select specific fields to fetch from the WatchlistItem */ select?: WatchlistItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: WatchlistItemInclude | null /** * Filter, which WatchlistItem to fetch. */ where: WatchlistItemWhereUniqueInput } /** * WatchlistItem findUniqueOrThrow */ export type WatchlistItemFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the WatchlistItem */ select?: WatchlistItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: WatchlistItemInclude | null /** * Filter, which WatchlistItem to fetch. */ where: WatchlistItemWhereUniqueInput } /** * WatchlistItem findFirst */ export type WatchlistItemFindFirstArgs = { /** * Select specific fields to fetch from the WatchlistItem */ select?: WatchlistItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: WatchlistItemInclude | null /** * Filter, which WatchlistItem to fetch. */ where?: WatchlistItemWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of WatchlistItems to fetch. */ orderBy?: WatchlistItemOrderByWithRelationInput | WatchlistItemOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for WatchlistItems. */ cursor?: WatchlistItemWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` WatchlistItems from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` WatchlistItems. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of WatchlistItems. */ distinct?: WatchlistItemScalarFieldEnum | WatchlistItemScalarFieldEnum[] } /** * WatchlistItem findFirstOrThrow */ export type WatchlistItemFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the WatchlistItem */ select?: WatchlistItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: WatchlistItemInclude | null /** * Filter, which WatchlistItem to fetch. */ where?: WatchlistItemWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of WatchlistItems to fetch. */ orderBy?: WatchlistItemOrderByWithRelationInput | WatchlistItemOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for WatchlistItems. */ cursor?: WatchlistItemWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` WatchlistItems from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` WatchlistItems. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of WatchlistItems. */ distinct?: WatchlistItemScalarFieldEnum | WatchlistItemScalarFieldEnum[] } /** * WatchlistItem findMany */ export type WatchlistItemFindManyArgs = { /** * Select specific fields to fetch from the WatchlistItem */ select?: WatchlistItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: WatchlistItemInclude | null /** * Filter, which WatchlistItems to fetch. */ where?: WatchlistItemWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of WatchlistItems to fetch. */ orderBy?: WatchlistItemOrderByWithRelationInput | WatchlistItemOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing WatchlistItems. */ cursor?: WatchlistItemWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` WatchlistItems from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` WatchlistItems. */ skip?: number distinct?: WatchlistItemScalarFieldEnum | WatchlistItemScalarFieldEnum[] } /** * WatchlistItem create */ export type WatchlistItemCreateArgs = { /** * Select specific fields to fetch from the WatchlistItem */ select?: WatchlistItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: WatchlistItemInclude | null /** * The data needed to create a WatchlistItem. */ data: XOR } /** * WatchlistItem createMany */ export type WatchlistItemCreateManyArgs = { /** * The data used to create many WatchlistItems. */ data: WatchlistItemCreateManyInput | WatchlistItemCreateManyInput[] skipDuplicates?: boolean } /** * WatchlistItem createManyAndReturn */ export type WatchlistItemCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the WatchlistItem */ select?: WatchlistItemSelectCreateManyAndReturn | null /** * The data used to create many WatchlistItems. */ data: WatchlistItemCreateManyInput | WatchlistItemCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: WatchlistItemIncludeCreateManyAndReturn | null } /** * WatchlistItem update */ export type WatchlistItemUpdateArgs = { /** * Select specific fields to fetch from the WatchlistItem */ select?: WatchlistItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: WatchlistItemInclude | null /** * The data needed to update a WatchlistItem. */ data: XOR /** * Choose, which WatchlistItem to update. */ where: WatchlistItemWhereUniqueInput } /** * WatchlistItem updateMany */ export type WatchlistItemUpdateManyArgs = { /** * The data used to update WatchlistItems. */ data: XOR /** * Filter which WatchlistItems to update */ where?: WatchlistItemWhereInput } /** * WatchlistItem upsert */ export type WatchlistItemUpsertArgs = { /** * Select specific fields to fetch from the WatchlistItem */ select?: WatchlistItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: WatchlistItemInclude | null /** * The filter to search for the WatchlistItem to update in case it exists. */ where: WatchlistItemWhereUniqueInput /** * In case the WatchlistItem found by the `where` argument doesn't exist, create a new WatchlistItem with this data. */ create: XOR /** * In case the WatchlistItem was found with the provided `where` argument, update it with this data. */ update: XOR } /** * WatchlistItem delete */ export type WatchlistItemDeleteArgs = { /** * Select specific fields to fetch from the WatchlistItem */ select?: WatchlistItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: WatchlistItemInclude | null /** * Filter which WatchlistItem to delete. */ where: WatchlistItemWhereUniqueInput } /** * WatchlistItem deleteMany */ export type WatchlistItemDeleteManyArgs = { /** * Filter which WatchlistItems to delete */ where?: WatchlistItemWhereInput } /** * WatchlistItem.exposures */ export type WatchlistItem$exposuresArgs = { /** * Select specific fields to fetch from the Exposure */ select?: ExposureSelect | null /** * Choose, which related nodes to fetch as well */ include?: ExposureInclude | null where?: ExposureWhereInput orderBy?: ExposureOrderByWithRelationInput | ExposureOrderByWithRelationInput[] cursor?: ExposureWhereUniqueInput take?: number skip?: number distinct?: ExposureScalarFieldEnum | ExposureScalarFieldEnum[] } /** * WatchlistItem without action */ export type WatchlistItemDefaultArgs = { /** * Select specific fields to fetch from the WatchlistItem */ select?: WatchlistItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: WatchlistItemInclude | null } /** * Model Exposure */ export type AggregateExposure = { _count: ExposureCountAggregateOutputType | null _min: ExposureMinAggregateOutputType | null _max: ExposureMaxAggregateOutputType | null } export type ExposureMinAggregateOutputType = { id: string | null subscriptionId: string | null watchlistItemId: string | null source: $Enums.ExposureSource | null dataType: $Enums.WatchlistType | null identifier: string | null identifierHash: string | null severity: $Enums.ExposureSeverity | null isFirstTime: boolean | null detectedAt: Date | null createdAt: Date | null updatedAt: Date | null } export type ExposureMaxAggregateOutputType = { id: string | null subscriptionId: string | null watchlistItemId: string | null source: $Enums.ExposureSource | null dataType: $Enums.WatchlistType | null identifier: string | null identifierHash: string | null severity: $Enums.ExposureSeverity | null isFirstTime: boolean | null detectedAt: Date | null createdAt: Date | null updatedAt: Date | null } export type ExposureCountAggregateOutputType = { id: number subscriptionId: number watchlistItemId: number source: number dataType: number identifier: number identifierHash: number severity: number metadata: number isFirstTime: number detectedAt: number createdAt: number updatedAt: number _all: number } export type ExposureMinAggregateInputType = { id?: true subscriptionId?: true watchlistItemId?: true source?: true dataType?: true identifier?: true identifierHash?: true severity?: true isFirstTime?: true detectedAt?: true createdAt?: true updatedAt?: true } export type ExposureMaxAggregateInputType = { id?: true subscriptionId?: true watchlistItemId?: true source?: true dataType?: true identifier?: true identifierHash?: true severity?: true isFirstTime?: true detectedAt?: true createdAt?: true updatedAt?: true } export type ExposureCountAggregateInputType = { id?: true subscriptionId?: true watchlistItemId?: true source?: true dataType?: true identifier?: true identifierHash?: true severity?: true metadata?: true isFirstTime?: true detectedAt?: true createdAt?: true updatedAt?: true _all?: true } export type ExposureAggregateArgs = { /** * Filter which Exposure to aggregate. */ where?: ExposureWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Exposures to fetch. */ orderBy?: ExposureOrderByWithRelationInput | ExposureOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: ExposureWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Exposures from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Exposures. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Exposures **/ _count?: true | ExposureCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: ExposureMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: ExposureMaxAggregateInputType } export type GetExposureAggregateType = { [P in keyof T & keyof AggregateExposure]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type ExposureGroupByArgs = { where?: ExposureWhereInput orderBy?: ExposureOrderByWithAggregationInput | ExposureOrderByWithAggregationInput[] by: ExposureScalarFieldEnum[] | ExposureScalarFieldEnum having?: ExposureScalarWhereWithAggregatesInput take?: number skip?: number _count?: ExposureCountAggregateInputType | true _min?: ExposureMinAggregateInputType _max?: ExposureMaxAggregateInputType } export type ExposureGroupByOutputType = { id: string subscriptionId: string watchlistItemId: string | null source: $Enums.ExposureSource dataType: $Enums.WatchlistType identifier: string identifierHash: string severity: $Enums.ExposureSeverity metadata: JsonValue | null isFirstTime: boolean detectedAt: Date createdAt: Date updatedAt: Date _count: ExposureCountAggregateOutputType | null _min: ExposureMinAggregateOutputType | null _max: ExposureMaxAggregateOutputType | null } type GetExposureGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof ExposureGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type ExposureSelect = $Extensions.GetSelect<{ id?: boolean subscriptionId?: boolean watchlistItemId?: boolean source?: boolean dataType?: boolean identifier?: boolean identifierHash?: boolean severity?: boolean metadata?: boolean isFirstTime?: boolean detectedAt?: boolean createdAt?: boolean updatedAt?: boolean subscription?: boolean | SubscriptionDefaultArgs watchlistItem?: boolean | Exposure$watchlistItemArgs alerts?: boolean | Exposure$alertsArgs _count?: boolean | ExposureCountOutputTypeDefaultArgs }, ExtArgs["result"]["exposure"]> export type ExposureSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean subscriptionId?: boolean watchlistItemId?: boolean source?: boolean dataType?: boolean identifier?: boolean identifierHash?: boolean severity?: boolean metadata?: boolean isFirstTime?: boolean detectedAt?: boolean createdAt?: boolean updatedAt?: boolean subscription?: boolean | SubscriptionDefaultArgs watchlistItem?: boolean | Exposure$watchlistItemArgs }, ExtArgs["result"]["exposure"]> export type ExposureSelectScalar = { id?: boolean subscriptionId?: boolean watchlistItemId?: boolean source?: boolean dataType?: boolean identifier?: boolean identifierHash?: boolean severity?: boolean metadata?: boolean isFirstTime?: boolean detectedAt?: boolean createdAt?: boolean updatedAt?: boolean } export type ExposureInclude = { subscription?: boolean | SubscriptionDefaultArgs watchlistItem?: boolean | Exposure$watchlistItemArgs alerts?: boolean | Exposure$alertsArgs _count?: boolean | ExposureCountOutputTypeDefaultArgs } export type ExposureIncludeCreateManyAndReturn = { subscription?: boolean | SubscriptionDefaultArgs watchlistItem?: boolean | Exposure$watchlistItemArgs } export type $ExposurePayload = { name: "Exposure" objects: { subscription: Prisma.$SubscriptionPayload watchlistItem: Prisma.$WatchlistItemPayload | null alerts: Prisma.$AlertPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string subscriptionId: string watchlistItemId: string | null source: $Enums.ExposureSource dataType: $Enums.WatchlistType identifier: string identifierHash: string severity: $Enums.ExposureSeverity metadata: Prisma.JsonValue | null isFirstTime: boolean detectedAt: Date createdAt: Date updatedAt: Date }, ExtArgs["result"]["exposure"]> composites: {} } type ExposureGetPayload = $Result.GetResult type ExposureCountArgs = Omit & { select?: ExposureCountAggregateInputType | true } export interface ExposureDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Exposure'], meta: { name: 'Exposure' } } /** * Find zero or one Exposure that matches the filter. * @param {ExposureFindUniqueArgs} args - Arguments to find a Exposure * @example * // Get one Exposure * const exposure = await prisma.exposure.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__ExposureClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Exposure that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {ExposureFindUniqueOrThrowArgs} args - Arguments to find a Exposure * @example * // Get one Exposure * const exposure = await prisma.exposure.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__ExposureClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Exposure that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ExposureFindFirstArgs} args - Arguments to find a Exposure * @example * // Get one Exposure * const exposure = await prisma.exposure.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__ExposureClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Exposure that matches the filter or * throw `PrismaKnownClientError` with `P2025` code if no matches were found. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ExposureFindFirstOrThrowArgs} args - Arguments to find a Exposure * @example * // Get one Exposure * const exposure = await prisma.exposure.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__ExposureClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Exposures that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ExposureFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Exposures * const exposures = await prisma.exposure.findMany() * * // Get first 10 Exposures * const exposures = await prisma.exposure.findMany({ take: 10 }) * * // Only select the `id` * const exposureWithIdOnly = await prisma.exposure.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Exposure. * @param {ExposureCreateArgs} args - Arguments to create a Exposure. * @example * // Create one Exposure * const Exposure = await prisma.exposure.create({ * data: { * // ... data to create a Exposure * } * }) * */ create(args: SelectSubset>): Prisma__ExposureClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Exposures. * @param {ExposureCreateManyArgs} args - Arguments to create many Exposures. * @example * // Create many Exposures * const exposure = await prisma.exposure.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Exposures and returns the data saved in the database. * @param {ExposureCreateManyAndReturnArgs} args - Arguments to create many Exposures. * @example * // Create many Exposures * const exposure = await prisma.exposure.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Exposures and only return the `id` * const exposureWithIdOnly = await prisma.exposure.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a Exposure. * @param {ExposureDeleteArgs} args - Arguments to delete one Exposure. * @example * // Delete one Exposure * const Exposure = await prisma.exposure.delete({ * where: { * // ... filter to delete one Exposure * } * }) * */ delete(args: SelectSubset>): Prisma__ExposureClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Exposure. * @param {ExposureUpdateArgs} args - Arguments to update one Exposure. * @example * // Update one Exposure * const exposure = await prisma.exposure.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__ExposureClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Exposures. * @param {ExposureDeleteManyArgs} args - Arguments to filter Exposures to delete. * @example * // Delete a few Exposures * const { count } = await prisma.exposure.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Exposures. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ExposureUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Exposures * const exposure = await prisma.exposure.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Exposure. * @param {ExposureUpsertArgs} args - Arguments to update or create a Exposure. * @example * // Update or create a Exposure * const exposure = await prisma.exposure.upsert({ * create: { * // ... data to create a Exposure * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Exposure we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__ExposureClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Exposures. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ExposureCountArgs} args - Arguments to filter Exposures to count. * @example * // Count the number of Exposures * const count = await prisma.exposure.count({ * where: { * // ... the filter for the Exposures we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a Exposure. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ExposureAggregateArgs} args - Select which aggregations you would like to apply and on what fields. * @example * // Ordered by age ascending * // Where email contains prisma.io * // Limited to the 10 users * const aggregations = await prisma.user.aggregate({ * _avg: { * age: true, * }, * where: { * email: { * contains: "prisma.io", * }, * }, * orderBy: { * age: "asc", * }, * take: 10, * }) **/ aggregate(args: Subset): Prisma.PrismaPromise> /** * Group by Exposure. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ExposureGroupByArgs} args - Group by arguments. * @example * // Group by city, order by createdAt, get count * const result = await prisma.user.groupBy({ * by: ['city', 'createdAt'], * orderBy: { * createdAt: true * }, * _count: { * _all: true * }, * }) * **/ groupBy< T extends ExposureGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: ExposureGroupByArgs['orderBy'] } : { orderBy?: ExposureGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends False ? { [P in HavingFields]: P extends ByFields ? never : P extends string ? `Error: Field "${P}" used in "having" needs to be provided in "by".` : [ Error, 'Field ', P, ` in "having" needs to be provided in "by"`, ] }[HavingFields] : 'take' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "take", you also need to provide "orderBy"' : 'skip' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "skip", you also need to provide "orderBy"' : ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetExposureGroupByPayload : Prisma.PrismaPromise /** * Fields of the Exposure model */ readonly fields: ExposureFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Exposure. * Why is this prefixed with `Prisma__`? * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ export interface Prisma__ExposureClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" subscription = {}>(args?: Subset>): Prisma__SubscriptionClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> watchlistItem = {}>(args?: Subset>): Prisma__WatchlistItemClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> alerts = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the Exposure model */ interface ExposureFieldRefs { readonly id: FieldRef<"Exposure", 'String'> readonly subscriptionId: FieldRef<"Exposure", 'String'> readonly watchlistItemId: FieldRef<"Exposure", 'String'> readonly source: FieldRef<"Exposure", 'ExposureSource'> readonly dataType: FieldRef<"Exposure", 'WatchlistType'> readonly identifier: FieldRef<"Exposure", 'String'> readonly identifierHash: FieldRef<"Exposure", 'String'> readonly severity: FieldRef<"Exposure", 'ExposureSeverity'> readonly metadata: FieldRef<"Exposure", 'Json'> readonly isFirstTime: FieldRef<"Exposure", 'Boolean'> readonly detectedAt: FieldRef<"Exposure", 'DateTime'> readonly createdAt: FieldRef<"Exposure", 'DateTime'> readonly updatedAt: FieldRef<"Exposure", 'DateTime'> } // Custom InputTypes /** * Exposure findUnique */ export type ExposureFindUniqueArgs = { /** * Select specific fields to fetch from the Exposure */ select?: ExposureSelect | null /** * Choose, which related nodes to fetch as well */ include?: ExposureInclude | null /** * Filter, which Exposure to fetch. */ where: ExposureWhereUniqueInput } /** * Exposure findUniqueOrThrow */ export type ExposureFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Exposure */ select?: ExposureSelect | null /** * Choose, which related nodes to fetch as well */ include?: ExposureInclude | null /** * Filter, which Exposure to fetch. */ where: ExposureWhereUniqueInput } /** * Exposure findFirst */ export type ExposureFindFirstArgs = { /** * Select specific fields to fetch from the Exposure */ select?: ExposureSelect | null /** * Choose, which related nodes to fetch as well */ include?: ExposureInclude | null /** * Filter, which Exposure to fetch. */ where?: ExposureWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Exposures to fetch. */ orderBy?: ExposureOrderByWithRelationInput | ExposureOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Exposures. */ cursor?: ExposureWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Exposures from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Exposures. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Exposures. */ distinct?: ExposureScalarFieldEnum | ExposureScalarFieldEnum[] } /** * Exposure findFirstOrThrow */ export type ExposureFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Exposure */ select?: ExposureSelect | null /** * Choose, which related nodes to fetch as well */ include?: ExposureInclude | null /** * Filter, which Exposure to fetch. */ where?: ExposureWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Exposures to fetch. */ orderBy?: ExposureOrderByWithRelationInput | ExposureOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Exposures. */ cursor?: ExposureWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Exposures from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Exposures. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Exposures. */ distinct?: ExposureScalarFieldEnum | ExposureScalarFieldEnum[] } /** * Exposure findMany */ export type ExposureFindManyArgs = { /** * Select specific fields to fetch from the Exposure */ select?: ExposureSelect | null /** * Choose, which related nodes to fetch as well */ include?: ExposureInclude | null /** * Filter, which Exposures to fetch. */ where?: ExposureWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Exposures to fetch. */ orderBy?: ExposureOrderByWithRelationInput | ExposureOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Exposures. */ cursor?: ExposureWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Exposures from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Exposures. */ skip?: number distinct?: ExposureScalarFieldEnum | ExposureScalarFieldEnum[] } /** * Exposure create */ export type ExposureCreateArgs = { /** * Select specific fields to fetch from the Exposure */ select?: ExposureSelect | null /** * Choose, which related nodes to fetch as well */ include?: ExposureInclude | null /** * The data needed to create a Exposure. */ data: XOR } /** * Exposure createMany */ export type ExposureCreateManyArgs = { /** * The data used to create many Exposures. */ data: ExposureCreateManyInput | ExposureCreateManyInput[] skipDuplicates?: boolean } /** * Exposure createManyAndReturn */ export type ExposureCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Exposure */ select?: ExposureSelectCreateManyAndReturn | null /** * The data used to create many Exposures. */ data: ExposureCreateManyInput | ExposureCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: ExposureIncludeCreateManyAndReturn | null } /** * Exposure update */ export type ExposureUpdateArgs = { /** * Select specific fields to fetch from the Exposure */ select?: ExposureSelect | null /** * Choose, which related nodes to fetch as well */ include?: ExposureInclude | null /** * The data needed to update a Exposure. */ data: XOR /** * Choose, which Exposure to update. */ where: ExposureWhereUniqueInput } /** * Exposure updateMany */ export type ExposureUpdateManyArgs = { /** * The data used to update Exposures. */ data: XOR /** * Filter which Exposures to update */ where?: ExposureWhereInput } /** * Exposure upsert */ export type ExposureUpsertArgs = { /** * Select specific fields to fetch from the Exposure */ select?: ExposureSelect | null /** * Choose, which related nodes to fetch as well */ include?: ExposureInclude | null /** * The filter to search for the Exposure to update in case it exists. */ where: ExposureWhereUniqueInput /** * In case the Exposure found by the `where` argument doesn't exist, create a new Exposure with this data. */ create: XOR /** * In case the Exposure was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Exposure delete */ export type ExposureDeleteArgs = { /** * Select specific fields to fetch from the Exposure */ select?: ExposureSelect | null /** * Choose, which related nodes to fetch as well */ include?: ExposureInclude | null /** * Filter which Exposure to delete. */ where: ExposureWhereUniqueInput } /** * Exposure deleteMany */ export type ExposureDeleteManyArgs = { /** * Filter which Exposures to delete */ where?: ExposureWhereInput } /** * Exposure.watchlistItem */ export type Exposure$watchlistItemArgs = { /** * Select specific fields to fetch from the WatchlistItem */ select?: WatchlistItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: WatchlistItemInclude | null where?: WatchlistItemWhereInput } /** * Exposure.alerts */ export type Exposure$alertsArgs = { /** * Select specific fields to fetch from the Alert */ select?: AlertSelect | null /** * Choose, which related nodes to fetch as well */ include?: AlertInclude | null where?: AlertWhereInput orderBy?: AlertOrderByWithRelationInput | AlertOrderByWithRelationInput[] cursor?: AlertWhereUniqueInput take?: number skip?: number distinct?: AlertScalarFieldEnum | AlertScalarFieldEnum[] } /** * Exposure without action */ export type ExposureDefaultArgs = { /** * Select specific fields to fetch from the Exposure */ select?: ExposureSelect | null /** * Choose, which related nodes to fetch as well */ include?: ExposureInclude | null } /** * Model Alert */ export type AggregateAlert = { _count: AlertCountAggregateOutputType | null _min: AlertMinAggregateOutputType | null _max: AlertMaxAggregateOutputType | null } export type AlertMinAggregateOutputType = { id: string | null subscriptionId: string | null userId: string | null exposureId: string | null type: $Enums.AlertType | null title: string | null message: string | null severity: $Enums.AlertSeverity | null isRead: boolean | null readAt: Date | null createdAt: Date | null updatedAt: Date | null } export type AlertMaxAggregateOutputType = { id: string | null subscriptionId: string | null userId: string | null exposureId: string | null type: $Enums.AlertType | null title: string | null message: string | null severity: $Enums.AlertSeverity | null isRead: boolean | null readAt: Date | null createdAt: Date | null updatedAt: Date | null } export type AlertCountAggregateOutputType = { id: number subscriptionId: number userId: number exposureId: number type: number title: number message: number severity: number isRead: number readAt: number channel: number createdAt: number updatedAt: number _all: number } export type AlertMinAggregateInputType = { id?: true subscriptionId?: true userId?: true exposureId?: true type?: true title?: true message?: true severity?: true isRead?: true readAt?: true createdAt?: true updatedAt?: true } export type AlertMaxAggregateInputType = { id?: true subscriptionId?: true userId?: true exposureId?: true type?: true title?: true message?: true severity?: true isRead?: true readAt?: true createdAt?: true updatedAt?: true } export type AlertCountAggregateInputType = { id?: true subscriptionId?: true userId?: true exposureId?: true type?: true title?: true message?: true severity?: true isRead?: true readAt?: true channel?: true createdAt?: true updatedAt?: true _all?: true } export type AlertAggregateArgs = { /** * Filter which Alert to aggregate. */ where?: AlertWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Alerts to fetch. */ orderBy?: AlertOrderByWithRelationInput | AlertOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: AlertWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Alerts from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Alerts. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Alerts **/ _count?: true | AlertCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: AlertMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: AlertMaxAggregateInputType } export type GetAlertAggregateType = { [P in keyof T & keyof AggregateAlert]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type AlertGroupByArgs = { where?: AlertWhereInput orderBy?: AlertOrderByWithAggregationInput | AlertOrderByWithAggregationInput[] by: AlertScalarFieldEnum[] | AlertScalarFieldEnum having?: AlertScalarWhereWithAggregatesInput take?: number skip?: number _count?: AlertCountAggregateInputType | true _min?: AlertMinAggregateInputType _max?: AlertMaxAggregateInputType } export type AlertGroupByOutputType = { id: string subscriptionId: string userId: string exposureId: string | null type: $Enums.AlertType title: string message: string severity: $Enums.AlertSeverity isRead: boolean readAt: Date | null channel: $Enums.AlertChannel[] createdAt: Date updatedAt: Date _count: AlertCountAggregateOutputType | null _min: AlertMinAggregateOutputType | null _max: AlertMaxAggregateOutputType | null } type GetAlertGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof AlertGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type AlertSelect = $Extensions.GetSelect<{ id?: boolean subscriptionId?: boolean userId?: boolean exposureId?: boolean type?: boolean title?: boolean message?: boolean severity?: boolean isRead?: boolean readAt?: boolean channel?: boolean createdAt?: boolean updatedAt?: boolean subscription?: boolean | SubscriptionDefaultArgs user?: boolean | UserDefaultArgs exposure?: boolean | Alert$exposureArgs }, ExtArgs["result"]["alert"]> export type AlertSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean subscriptionId?: boolean userId?: boolean exposureId?: boolean type?: boolean title?: boolean message?: boolean severity?: boolean isRead?: boolean readAt?: boolean channel?: boolean createdAt?: boolean updatedAt?: boolean subscription?: boolean | SubscriptionDefaultArgs user?: boolean | UserDefaultArgs exposure?: boolean | Alert$exposureArgs }, ExtArgs["result"]["alert"]> export type AlertSelectScalar = { id?: boolean subscriptionId?: boolean userId?: boolean exposureId?: boolean type?: boolean title?: boolean message?: boolean severity?: boolean isRead?: boolean readAt?: boolean channel?: boolean createdAt?: boolean updatedAt?: boolean } export type AlertInclude = { subscription?: boolean | SubscriptionDefaultArgs user?: boolean | UserDefaultArgs exposure?: boolean | Alert$exposureArgs } export type AlertIncludeCreateManyAndReturn = { subscription?: boolean | SubscriptionDefaultArgs user?: boolean | UserDefaultArgs exposure?: boolean | Alert$exposureArgs } export type $AlertPayload = { name: "Alert" objects: { subscription: Prisma.$SubscriptionPayload user: Prisma.$UserPayload exposure: Prisma.$ExposurePayload | null } scalars: $Extensions.GetPayloadResult<{ id: string subscriptionId: string userId: string exposureId: string | null type: $Enums.AlertType title: string message: string severity: $Enums.AlertSeverity isRead: boolean readAt: Date | null channel: $Enums.AlertChannel[] createdAt: Date updatedAt: Date }, ExtArgs["result"]["alert"]> composites: {} } type AlertGetPayload = $Result.GetResult type AlertCountArgs = Omit & { select?: AlertCountAggregateInputType | true } export interface AlertDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Alert'], meta: { name: 'Alert' } } /** * Find zero or one Alert that matches the filter. * @param {AlertFindUniqueArgs} args - Arguments to find a Alert * @example * // Get one Alert * const alert = await prisma.alert.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__AlertClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Alert that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {AlertFindUniqueOrThrowArgs} args - Arguments to find a Alert * @example * // Get one Alert * const alert = await prisma.alert.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__AlertClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Alert that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AlertFindFirstArgs} args - Arguments to find a Alert * @example * // Get one Alert * const alert = await prisma.alert.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__AlertClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Alert that matches the filter or * throw `PrismaKnownClientError` with `P2025` code if no matches were found. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AlertFindFirstOrThrowArgs} args - Arguments to find a Alert * @example * // Get one Alert * const alert = await prisma.alert.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__AlertClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Alerts that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AlertFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Alerts * const alerts = await prisma.alert.findMany() * * // Get first 10 Alerts * const alerts = await prisma.alert.findMany({ take: 10 }) * * // Only select the `id` * const alertWithIdOnly = await prisma.alert.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Alert. * @param {AlertCreateArgs} args - Arguments to create a Alert. * @example * // Create one Alert * const Alert = await prisma.alert.create({ * data: { * // ... data to create a Alert * } * }) * */ create(args: SelectSubset>): Prisma__AlertClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Alerts. * @param {AlertCreateManyArgs} args - Arguments to create many Alerts. * @example * // Create many Alerts * const alert = await prisma.alert.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Alerts and returns the data saved in the database. * @param {AlertCreateManyAndReturnArgs} args - Arguments to create many Alerts. * @example * // Create many Alerts * const alert = await prisma.alert.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Alerts and only return the `id` * const alertWithIdOnly = await prisma.alert.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a Alert. * @param {AlertDeleteArgs} args - Arguments to delete one Alert. * @example * // Delete one Alert * const Alert = await prisma.alert.delete({ * where: { * // ... filter to delete one Alert * } * }) * */ delete(args: SelectSubset>): Prisma__AlertClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Alert. * @param {AlertUpdateArgs} args - Arguments to update one Alert. * @example * // Update one Alert * const alert = await prisma.alert.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__AlertClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Alerts. * @param {AlertDeleteManyArgs} args - Arguments to filter Alerts to delete. * @example * // Delete a few Alerts * const { count } = await prisma.alert.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Alerts. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AlertUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Alerts * const alert = await prisma.alert.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Alert. * @param {AlertUpsertArgs} args - Arguments to update or create a Alert. * @example * // Update or create a Alert * const alert = await prisma.alert.upsert({ * create: { * // ... data to create a Alert * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Alert we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__AlertClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Alerts. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AlertCountArgs} args - Arguments to filter Alerts to count. * @example * // Count the number of Alerts * const count = await prisma.alert.count({ * where: { * // ... the filter for the Alerts we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a Alert. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AlertAggregateArgs} args - Select which aggregations you would like to apply and on what fields. * @example * // Ordered by age ascending * // Where email contains prisma.io * // Limited to the 10 users * const aggregations = await prisma.user.aggregate({ * _avg: { * age: true, * }, * where: { * email: { * contains: "prisma.io", * }, * }, * orderBy: { * age: "asc", * }, * take: 10, * }) **/ aggregate(args: Subset): Prisma.PrismaPromise> /** * Group by Alert. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AlertGroupByArgs} args - Group by arguments. * @example * // Group by city, order by createdAt, get count * const result = await prisma.user.groupBy({ * by: ['city', 'createdAt'], * orderBy: { * createdAt: true * }, * _count: { * _all: true * }, * }) * **/ groupBy< T extends AlertGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: AlertGroupByArgs['orderBy'] } : { orderBy?: AlertGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends False ? { [P in HavingFields]: P extends ByFields ? never : P extends string ? `Error: Field "${P}" used in "having" needs to be provided in "by".` : [ Error, 'Field ', P, ` in "having" needs to be provided in "by"`, ] }[HavingFields] : 'take' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "take", you also need to provide "orderBy"' : 'skip' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "skip", you also need to provide "orderBy"' : ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetAlertGroupByPayload : Prisma.PrismaPromise /** * Fields of the Alert model */ readonly fields: AlertFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Alert. * Why is this prefixed with `Prisma__`? * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ export interface Prisma__AlertClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" subscription = {}>(args?: Subset>): Prisma__SubscriptionClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> user = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> exposure = {}>(args?: Subset>): Prisma__ExposureClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the Alert model */ interface AlertFieldRefs { readonly id: FieldRef<"Alert", 'String'> readonly subscriptionId: FieldRef<"Alert", 'String'> readonly userId: FieldRef<"Alert", 'String'> readonly exposureId: FieldRef<"Alert", 'String'> readonly type: FieldRef<"Alert", 'AlertType'> readonly title: FieldRef<"Alert", 'String'> readonly message: FieldRef<"Alert", 'String'> readonly severity: FieldRef<"Alert", 'AlertSeverity'> readonly isRead: FieldRef<"Alert", 'Boolean'> readonly readAt: FieldRef<"Alert", 'DateTime'> readonly channel: FieldRef<"Alert", 'AlertChannel[]'> readonly createdAt: FieldRef<"Alert", 'DateTime'> readonly updatedAt: FieldRef<"Alert", 'DateTime'> } // Custom InputTypes /** * Alert findUnique */ export type AlertFindUniqueArgs = { /** * Select specific fields to fetch from the Alert */ select?: AlertSelect | null /** * Choose, which related nodes to fetch as well */ include?: AlertInclude | null /** * Filter, which Alert to fetch. */ where: AlertWhereUniqueInput } /** * Alert findUniqueOrThrow */ export type AlertFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Alert */ select?: AlertSelect | null /** * Choose, which related nodes to fetch as well */ include?: AlertInclude | null /** * Filter, which Alert to fetch. */ where: AlertWhereUniqueInput } /** * Alert findFirst */ export type AlertFindFirstArgs = { /** * Select specific fields to fetch from the Alert */ select?: AlertSelect | null /** * Choose, which related nodes to fetch as well */ include?: AlertInclude | null /** * Filter, which Alert to fetch. */ where?: AlertWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Alerts to fetch. */ orderBy?: AlertOrderByWithRelationInput | AlertOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Alerts. */ cursor?: AlertWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Alerts from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Alerts. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Alerts. */ distinct?: AlertScalarFieldEnum | AlertScalarFieldEnum[] } /** * Alert findFirstOrThrow */ export type AlertFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Alert */ select?: AlertSelect | null /** * Choose, which related nodes to fetch as well */ include?: AlertInclude | null /** * Filter, which Alert to fetch. */ where?: AlertWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Alerts to fetch. */ orderBy?: AlertOrderByWithRelationInput | AlertOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Alerts. */ cursor?: AlertWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Alerts from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Alerts. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Alerts. */ distinct?: AlertScalarFieldEnum | AlertScalarFieldEnum[] } /** * Alert findMany */ export type AlertFindManyArgs = { /** * Select specific fields to fetch from the Alert */ select?: AlertSelect | null /** * Choose, which related nodes to fetch as well */ include?: AlertInclude | null /** * Filter, which Alerts to fetch. */ where?: AlertWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Alerts to fetch. */ orderBy?: AlertOrderByWithRelationInput | AlertOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Alerts. */ cursor?: AlertWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Alerts from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Alerts. */ skip?: number distinct?: AlertScalarFieldEnum | AlertScalarFieldEnum[] } /** * Alert create */ export type AlertCreateArgs = { /** * Select specific fields to fetch from the Alert */ select?: AlertSelect | null /** * Choose, which related nodes to fetch as well */ include?: AlertInclude | null /** * The data needed to create a Alert. */ data: XOR } /** * Alert createMany */ export type AlertCreateManyArgs = { /** * The data used to create many Alerts. */ data: AlertCreateManyInput | AlertCreateManyInput[] skipDuplicates?: boolean } /** * Alert createManyAndReturn */ export type AlertCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Alert */ select?: AlertSelectCreateManyAndReturn | null /** * The data used to create many Alerts. */ data: AlertCreateManyInput | AlertCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: AlertIncludeCreateManyAndReturn | null } /** * Alert update */ export type AlertUpdateArgs = { /** * Select specific fields to fetch from the Alert */ select?: AlertSelect | null /** * Choose, which related nodes to fetch as well */ include?: AlertInclude | null /** * The data needed to update a Alert. */ data: XOR /** * Choose, which Alert to update. */ where: AlertWhereUniqueInput } /** * Alert updateMany */ export type AlertUpdateManyArgs = { /** * The data used to update Alerts. */ data: XOR /** * Filter which Alerts to update */ where?: AlertWhereInput } /** * Alert upsert */ export type AlertUpsertArgs = { /** * Select specific fields to fetch from the Alert */ select?: AlertSelect | null /** * Choose, which related nodes to fetch as well */ include?: AlertInclude | null /** * The filter to search for the Alert to update in case it exists. */ where: AlertWhereUniqueInput /** * In case the Alert found by the `where` argument doesn't exist, create a new Alert with this data. */ create: XOR /** * In case the Alert was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Alert delete */ export type AlertDeleteArgs = { /** * Select specific fields to fetch from the Alert */ select?: AlertSelect | null /** * Choose, which related nodes to fetch as well */ include?: AlertInclude | null /** * Filter which Alert to delete. */ where: AlertWhereUniqueInput } /** * Alert deleteMany */ export type AlertDeleteManyArgs = { /** * Filter which Alerts to delete */ where?: AlertWhereInput } /** * Alert.exposure */ export type Alert$exposureArgs = { /** * Select specific fields to fetch from the Exposure */ select?: ExposureSelect | null /** * Choose, which related nodes to fetch as well */ include?: ExposureInclude | null where?: ExposureWhereInput } /** * Alert without action */ export type AlertDefaultArgs = { /** * Select specific fields to fetch from the Alert */ select?: AlertSelect | null /** * Choose, which related nodes to fetch as well */ include?: AlertInclude | null } /** * Model VoiceEnrollment */ export type AggregateVoiceEnrollment = { _count: VoiceEnrollmentCountAggregateOutputType | null _min: VoiceEnrollmentMinAggregateOutputType | null _max: VoiceEnrollmentMaxAggregateOutputType | null } export type VoiceEnrollmentMinAggregateOutputType = { id: string | null userId: string | null name: string | null voiceHash: string | null isActive: boolean | null createdAt: Date | null updatedAt: Date | null } export type VoiceEnrollmentMaxAggregateOutputType = { id: string | null userId: string | null name: string | null voiceHash: string | null isActive: boolean | null createdAt: Date | null updatedAt: Date | null } export type VoiceEnrollmentCountAggregateOutputType = { id: number userId: number name: number voiceHash: number audioMetadata: number isActive: number createdAt: number updatedAt: number _all: number } export type VoiceEnrollmentMinAggregateInputType = { id?: true userId?: true name?: true voiceHash?: true isActive?: true createdAt?: true updatedAt?: true } export type VoiceEnrollmentMaxAggregateInputType = { id?: true userId?: true name?: true voiceHash?: true isActive?: true createdAt?: true updatedAt?: true } export type VoiceEnrollmentCountAggregateInputType = { id?: true userId?: true name?: true voiceHash?: true audioMetadata?: true isActive?: true createdAt?: true updatedAt?: true _all?: true } export type VoiceEnrollmentAggregateArgs = { /** * Filter which VoiceEnrollment to aggregate. */ where?: VoiceEnrollmentWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of VoiceEnrollments to fetch. */ orderBy?: VoiceEnrollmentOrderByWithRelationInput | VoiceEnrollmentOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: VoiceEnrollmentWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` VoiceEnrollments from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` VoiceEnrollments. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned VoiceEnrollments **/ _count?: true | VoiceEnrollmentCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: VoiceEnrollmentMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: VoiceEnrollmentMaxAggregateInputType } export type GetVoiceEnrollmentAggregateType = { [P in keyof T & keyof AggregateVoiceEnrollment]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type VoiceEnrollmentGroupByArgs = { where?: VoiceEnrollmentWhereInput orderBy?: VoiceEnrollmentOrderByWithAggregationInput | VoiceEnrollmentOrderByWithAggregationInput[] by: VoiceEnrollmentScalarFieldEnum[] | VoiceEnrollmentScalarFieldEnum having?: VoiceEnrollmentScalarWhereWithAggregatesInput take?: number skip?: number _count?: VoiceEnrollmentCountAggregateInputType | true _min?: VoiceEnrollmentMinAggregateInputType _max?: VoiceEnrollmentMaxAggregateInputType } export type VoiceEnrollmentGroupByOutputType = { id: string userId: string name: string voiceHash: string audioMetadata: JsonValue | null isActive: boolean createdAt: Date updatedAt: Date _count: VoiceEnrollmentCountAggregateOutputType | null _min: VoiceEnrollmentMinAggregateOutputType | null _max: VoiceEnrollmentMaxAggregateOutputType | null } type GetVoiceEnrollmentGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof VoiceEnrollmentGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type VoiceEnrollmentSelect = $Extensions.GetSelect<{ id?: boolean userId?: boolean name?: boolean voiceHash?: boolean audioMetadata?: boolean isActive?: boolean createdAt?: boolean updatedAt?: boolean user?: boolean | UserDefaultArgs analyses?: boolean | VoiceEnrollment$analysesArgs _count?: boolean | VoiceEnrollmentCountOutputTypeDefaultArgs }, ExtArgs["result"]["voiceEnrollment"]> export type VoiceEnrollmentSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean userId?: boolean name?: boolean voiceHash?: boolean audioMetadata?: boolean isActive?: boolean createdAt?: boolean updatedAt?: boolean user?: boolean | UserDefaultArgs }, ExtArgs["result"]["voiceEnrollment"]> export type VoiceEnrollmentSelectScalar = { id?: boolean userId?: boolean name?: boolean voiceHash?: boolean audioMetadata?: boolean isActive?: boolean createdAt?: boolean updatedAt?: boolean } export type VoiceEnrollmentInclude = { user?: boolean | UserDefaultArgs analyses?: boolean | VoiceEnrollment$analysesArgs _count?: boolean | VoiceEnrollmentCountOutputTypeDefaultArgs } export type VoiceEnrollmentIncludeCreateManyAndReturn = { user?: boolean | UserDefaultArgs } export type $VoiceEnrollmentPayload = { name: "VoiceEnrollment" objects: { user: Prisma.$UserPayload analyses: Prisma.$VoiceAnalysisPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string userId: string name: string voiceHash: string audioMetadata: Prisma.JsonValue | null isActive: boolean createdAt: Date updatedAt: Date }, ExtArgs["result"]["voiceEnrollment"]> composites: {} } type VoiceEnrollmentGetPayload = $Result.GetResult type VoiceEnrollmentCountArgs = Omit & { select?: VoiceEnrollmentCountAggregateInputType | true } export interface VoiceEnrollmentDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['VoiceEnrollment'], meta: { name: 'VoiceEnrollment' } } /** * Find zero or one VoiceEnrollment that matches the filter. * @param {VoiceEnrollmentFindUniqueArgs} args - Arguments to find a VoiceEnrollment * @example * // Get one VoiceEnrollment * const voiceEnrollment = await prisma.voiceEnrollment.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__VoiceEnrollmentClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one VoiceEnrollment that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {VoiceEnrollmentFindUniqueOrThrowArgs} args - Arguments to find a VoiceEnrollment * @example * // Get one VoiceEnrollment * const voiceEnrollment = await prisma.voiceEnrollment.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__VoiceEnrollmentClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first VoiceEnrollment that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {VoiceEnrollmentFindFirstArgs} args - Arguments to find a VoiceEnrollment * @example * // Get one VoiceEnrollment * const voiceEnrollment = await prisma.voiceEnrollment.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__VoiceEnrollmentClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first VoiceEnrollment that matches the filter or * throw `PrismaKnownClientError` with `P2025` code if no matches were found. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {VoiceEnrollmentFindFirstOrThrowArgs} args - Arguments to find a VoiceEnrollment * @example * // Get one VoiceEnrollment * const voiceEnrollment = await prisma.voiceEnrollment.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__VoiceEnrollmentClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more VoiceEnrollments that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {VoiceEnrollmentFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all VoiceEnrollments * const voiceEnrollments = await prisma.voiceEnrollment.findMany() * * // Get first 10 VoiceEnrollments * const voiceEnrollments = await prisma.voiceEnrollment.findMany({ take: 10 }) * * // Only select the `id` * const voiceEnrollmentWithIdOnly = await prisma.voiceEnrollment.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a VoiceEnrollment. * @param {VoiceEnrollmentCreateArgs} args - Arguments to create a VoiceEnrollment. * @example * // Create one VoiceEnrollment * const VoiceEnrollment = await prisma.voiceEnrollment.create({ * data: { * // ... data to create a VoiceEnrollment * } * }) * */ create(args: SelectSubset>): Prisma__VoiceEnrollmentClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many VoiceEnrollments. * @param {VoiceEnrollmentCreateManyArgs} args - Arguments to create many VoiceEnrollments. * @example * // Create many VoiceEnrollments * const voiceEnrollment = await prisma.voiceEnrollment.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many VoiceEnrollments and returns the data saved in the database. * @param {VoiceEnrollmentCreateManyAndReturnArgs} args - Arguments to create many VoiceEnrollments. * @example * // Create many VoiceEnrollments * const voiceEnrollment = await prisma.voiceEnrollment.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many VoiceEnrollments and only return the `id` * const voiceEnrollmentWithIdOnly = await prisma.voiceEnrollment.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a VoiceEnrollment. * @param {VoiceEnrollmentDeleteArgs} args - Arguments to delete one VoiceEnrollment. * @example * // Delete one VoiceEnrollment * const VoiceEnrollment = await prisma.voiceEnrollment.delete({ * where: { * // ... filter to delete one VoiceEnrollment * } * }) * */ delete(args: SelectSubset>): Prisma__VoiceEnrollmentClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one VoiceEnrollment. * @param {VoiceEnrollmentUpdateArgs} args - Arguments to update one VoiceEnrollment. * @example * // Update one VoiceEnrollment * const voiceEnrollment = await prisma.voiceEnrollment.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__VoiceEnrollmentClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more VoiceEnrollments. * @param {VoiceEnrollmentDeleteManyArgs} args - Arguments to filter VoiceEnrollments to delete. * @example * // Delete a few VoiceEnrollments * const { count } = await prisma.voiceEnrollment.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more VoiceEnrollments. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {VoiceEnrollmentUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many VoiceEnrollments * const voiceEnrollment = await prisma.voiceEnrollment.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one VoiceEnrollment. * @param {VoiceEnrollmentUpsertArgs} args - Arguments to update or create a VoiceEnrollment. * @example * // Update or create a VoiceEnrollment * const voiceEnrollment = await prisma.voiceEnrollment.upsert({ * create: { * // ... data to create a VoiceEnrollment * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the VoiceEnrollment we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__VoiceEnrollmentClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of VoiceEnrollments. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {VoiceEnrollmentCountArgs} args - Arguments to filter VoiceEnrollments to count. * @example * // Count the number of VoiceEnrollments * const count = await prisma.voiceEnrollment.count({ * where: { * // ... the filter for the VoiceEnrollments we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a VoiceEnrollment. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {VoiceEnrollmentAggregateArgs} args - Select which aggregations you would like to apply and on what fields. * @example * // Ordered by age ascending * // Where email contains prisma.io * // Limited to the 10 users * const aggregations = await prisma.user.aggregate({ * _avg: { * age: true, * }, * where: { * email: { * contains: "prisma.io", * }, * }, * orderBy: { * age: "asc", * }, * take: 10, * }) **/ aggregate(args: Subset): Prisma.PrismaPromise> /** * Group by VoiceEnrollment. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {VoiceEnrollmentGroupByArgs} args - Group by arguments. * @example * // Group by city, order by createdAt, get count * const result = await prisma.user.groupBy({ * by: ['city', 'createdAt'], * orderBy: { * createdAt: true * }, * _count: { * _all: true * }, * }) * **/ groupBy< T extends VoiceEnrollmentGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: VoiceEnrollmentGroupByArgs['orderBy'] } : { orderBy?: VoiceEnrollmentGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends False ? { [P in HavingFields]: P extends ByFields ? never : P extends string ? `Error: Field "${P}" used in "having" needs to be provided in "by".` : [ Error, 'Field ', P, ` in "having" needs to be provided in "by"`, ] }[HavingFields] : 'take' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "take", you also need to provide "orderBy"' : 'skip' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "skip", you also need to provide "orderBy"' : ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetVoiceEnrollmentGroupByPayload : Prisma.PrismaPromise /** * Fields of the VoiceEnrollment model */ readonly fields: VoiceEnrollmentFieldRefs; } /** * The delegate class that acts as a "Promise-like" for VoiceEnrollment. * Why is this prefixed with `Prisma__`? * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ export interface Prisma__VoiceEnrollmentClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" user = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> analyses = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the VoiceEnrollment model */ interface VoiceEnrollmentFieldRefs { readonly id: FieldRef<"VoiceEnrollment", 'String'> readonly userId: FieldRef<"VoiceEnrollment", 'String'> readonly name: FieldRef<"VoiceEnrollment", 'String'> readonly voiceHash: FieldRef<"VoiceEnrollment", 'String'> readonly audioMetadata: FieldRef<"VoiceEnrollment", 'Json'> readonly isActive: FieldRef<"VoiceEnrollment", 'Boolean'> readonly createdAt: FieldRef<"VoiceEnrollment", 'DateTime'> readonly updatedAt: FieldRef<"VoiceEnrollment", 'DateTime'> } // Custom InputTypes /** * VoiceEnrollment findUnique */ export type VoiceEnrollmentFindUniqueArgs = { /** * Select specific fields to fetch from the VoiceEnrollment */ select?: VoiceEnrollmentSelect | null /** * Choose, which related nodes to fetch as well */ include?: VoiceEnrollmentInclude | null /** * Filter, which VoiceEnrollment to fetch. */ where: VoiceEnrollmentWhereUniqueInput } /** * VoiceEnrollment findUniqueOrThrow */ export type VoiceEnrollmentFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the VoiceEnrollment */ select?: VoiceEnrollmentSelect | null /** * Choose, which related nodes to fetch as well */ include?: VoiceEnrollmentInclude | null /** * Filter, which VoiceEnrollment to fetch. */ where: VoiceEnrollmentWhereUniqueInput } /** * VoiceEnrollment findFirst */ export type VoiceEnrollmentFindFirstArgs = { /** * Select specific fields to fetch from the VoiceEnrollment */ select?: VoiceEnrollmentSelect | null /** * Choose, which related nodes to fetch as well */ include?: VoiceEnrollmentInclude | null /** * Filter, which VoiceEnrollment to fetch. */ where?: VoiceEnrollmentWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of VoiceEnrollments to fetch. */ orderBy?: VoiceEnrollmentOrderByWithRelationInput | VoiceEnrollmentOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for VoiceEnrollments. */ cursor?: VoiceEnrollmentWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` VoiceEnrollments from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` VoiceEnrollments. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of VoiceEnrollments. */ distinct?: VoiceEnrollmentScalarFieldEnum | VoiceEnrollmentScalarFieldEnum[] } /** * VoiceEnrollment findFirstOrThrow */ export type VoiceEnrollmentFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the VoiceEnrollment */ select?: VoiceEnrollmentSelect | null /** * Choose, which related nodes to fetch as well */ include?: VoiceEnrollmentInclude | null /** * Filter, which VoiceEnrollment to fetch. */ where?: VoiceEnrollmentWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of VoiceEnrollments to fetch. */ orderBy?: VoiceEnrollmentOrderByWithRelationInput | VoiceEnrollmentOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for VoiceEnrollments. */ cursor?: VoiceEnrollmentWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` VoiceEnrollments from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` VoiceEnrollments. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of VoiceEnrollments. */ distinct?: VoiceEnrollmentScalarFieldEnum | VoiceEnrollmentScalarFieldEnum[] } /** * VoiceEnrollment findMany */ export type VoiceEnrollmentFindManyArgs = { /** * Select specific fields to fetch from the VoiceEnrollment */ select?: VoiceEnrollmentSelect | null /** * Choose, which related nodes to fetch as well */ include?: VoiceEnrollmentInclude | null /** * Filter, which VoiceEnrollments to fetch. */ where?: VoiceEnrollmentWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of VoiceEnrollments to fetch. */ orderBy?: VoiceEnrollmentOrderByWithRelationInput | VoiceEnrollmentOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing VoiceEnrollments. */ cursor?: VoiceEnrollmentWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` VoiceEnrollments from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` VoiceEnrollments. */ skip?: number distinct?: VoiceEnrollmentScalarFieldEnum | VoiceEnrollmentScalarFieldEnum[] } /** * VoiceEnrollment create */ export type VoiceEnrollmentCreateArgs = { /** * Select specific fields to fetch from the VoiceEnrollment */ select?: VoiceEnrollmentSelect | null /** * Choose, which related nodes to fetch as well */ include?: VoiceEnrollmentInclude | null /** * The data needed to create a VoiceEnrollment. */ data: XOR } /** * VoiceEnrollment createMany */ export type VoiceEnrollmentCreateManyArgs = { /** * The data used to create many VoiceEnrollments. */ data: VoiceEnrollmentCreateManyInput | VoiceEnrollmentCreateManyInput[] skipDuplicates?: boolean } /** * VoiceEnrollment createManyAndReturn */ export type VoiceEnrollmentCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the VoiceEnrollment */ select?: VoiceEnrollmentSelectCreateManyAndReturn | null /** * The data used to create many VoiceEnrollments. */ data: VoiceEnrollmentCreateManyInput | VoiceEnrollmentCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: VoiceEnrollmentIncludeCreateManyAndReturn | null } /** * VoiceEnrollment update */ export type VoiceEnrollmentUpdateArgs = { /** * Select specific fields to fetch from the VoiceEnrollment */ select?: VoiceEnrollmentSelect | null /** * Choose, which related nodes to fetch as well */ include?: VoiceEnrollmentInclude | null /** * The data needed to update a VoiceEnrollment. */ data: XOR /** * Choose, which VoiceEnrollment to update. */ where: VoiceEnrollmentWhereUniqueInput } /** * VoiceEnrollment updateMany */ export type VoiceEnrollmentUpdateManyArgs = { /** * The data used to update VoiceEnrollments. */ data: XOR /** * Filter which VoiceEnrollments to update */ where?: VoiceEnrollmentWhereInput } /** * VoiceEnrollment upsert */ export type VoiceEnrollmentUpsertArgs = { /** * Select specific fields to fetch from the VoiceEnrollment */ select?: VoiceEnrollmentSelect | null /** * Choose, which related nodes to fetch as well */ include?: VoiceEnrollmentInclude | null /** * The filter to search for the VoiceEnrollment to update in case it exists. */ where: VoiceEnrollmentWhereUniqueInput /** * In case the VoiceEnrollment found by the `where` argument doesn't exist, create a new VoiceEnrollment with this data. */ create: XOR /** * In case the VoiceEnrollment was found with the provided `where` argument, update it with this data. */ update: XOR } /** * VoiceEnrollment delete */ export type VoiceEnrollmentDeleteArgs = { /** * Select specific fields to fetch from the VoiceEnrollment */ select?: VoiceEnrollmentSelect | null /** * Choose, which related nodes to fetch as well */ include?: VoiceEnrollmentInclude | null /** * Filter which VoiceEnrollment to delete. */ where: VoiceEnrollmentWhereUniqueInput } /** * VoiceEnrollment deleteMany */ export type VoiceEnrollmentDeleteManyArgs = { /** * Filter which VoiceEnrollments to delete */ where?: VoiceEnrollmentWhereInput } /** * VoiceEnrollment.analyses */ export type VoiceEnrollment$analysesArgs = { /** * Select specific fields to fetch from the VoiceAnalysis */ select?: VoiceAnalysisSelect | null /** * Choose, which related nodes to fetch as well */ include?: VoiceAnalysisInclude | null where?: VoiceAnalysisWhereInput orderBy?: VoiceAnalysisOrderByWithRelationInput | VoiceAnalysisOrderByWithRelationInput[] cursor?: VoiceAnalysisWhereUniqueInput take?: number skip?: number distinct?: VoiceAnalysisScalarFieldEnum | VoiceAnalysisScalarFieldEnum[] } /** * VoiceEnrollment without action */ export type VoiceEnrollmentDefaultArgs = { /** * Select specific fields to fetch from the VoiceEnrollment */ select?: VoiceEnrollmentSelect | null /** * Choose, which related nodes to fetch as well */ include?: VoiceEnrollmentInclude | null } /** * Model VoiceAnalysis */ export type AggregateVoiceAnalysis = { _count: VoiceAnalysisCountAggregateOutputType | null _avg: VoiceAnalysisAvgAggregateOutputType | null _sum: VoiceAnalysisSumAggregateOutputType | null _min: VoiceAnalysisMinAggregateOutputType | null _max: VoiceAnalysisMaxAggregateOutputType | null } export type VoiceAnalysisAvgAggregateOutputType = { confidence: number | null } export type VoiceAnalysisSumAggregateOutputType = { confidence: number | null } export type VoiceAnalysisMinAggregateOutputType = { id: string | null enrollmentId: string | null userId: string | null audioHash: string | null isSynthetic: boolean | null confidence: number | null audioUrl: string | null createdAt: Date | null } export type VoiceAnalysisMaxAggregateOutputType = { id: string | null enrollmentId: string | null userId: string | null audioHash: string | null isSynthetic: boolean | null confidence: number | null audioUrl: string | null createdAt: Date | null } export type VoiceAnalysisCountAggregateOutputType = { id: number enrollmentId: number userId: number audioHash: number isSynthetic: number confidence: number analysisResult: number audioUrl: number createdAt: number _all: number } export type VoiceAnalysisAvgAggregateInputType = { confidence?: true } export type VoiceAnalysisSumAggregateInputType = { confidence?: true } export type VoiceAnalysisMinAggregateInputType = { id?: true enrollmentId?: true userId?: true audioHash?: true isSynthetic?: true confidence?: true audioUrl?: true createdAt?: true } export type VoiceAnalysisMaxAggregateInputType = { id?: true enrollmentId?: true userId?: true audioHash?: true isSynthetic?: true confidence?: true audioUrl?: true createdAt?: true } export type VoiceAnalysisCountAggregateInputType = { id?: true enrollmentId?: true userId?: true audioHash?: true isSynthetic?: true confidence?: true analysisResult?: true audioUrl?: true createdAt?: true _all?: true } export type VoiceAnalysisAggregateArgs = { /** * Filter which VoiceAnalysis to aggregate. */ where?: VoiceAnalysisWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of VoiceAnalyses to fetch. */ orderBy?: VoiceAnalysisOrderByWithRelationInput | VoiceAnalysisOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: VoiceAnalysisWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` VoiceAnalyses from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` VoiceAnalyses. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned VoiceAnalyses **/ _count?: true | VoiceAnalysisCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: VoiceAnalysisAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: VoiceAnalysisSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: VoiceAnalysisMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: VoiceAnalysisMaxAggregateInputType } export type GetVoiceAnalysisAggregateType = { [P in keyof T & keyof AggregateVoiceAnalysis]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type VoiceAnalysisGroupByArgs = { where?: VoiceAnalysisWhereInput orderBy?: VoiceAnalysisOrderByWithAggregationInput | VoiceAnalysisOrderByWithAggregationInput[] by: VoiceAnalysisScalarFieldEnum[] | VoiceAnalysisScalarFieldEnum having?: VoiceAnalysisScalarWhereWithAggregatesInput take?: number skip?: number _count?: VoiceAnalysisCountAggregateInputType | true _avg?: VoiceAnalysisAvgAggregateInputType _sum?: VoiceAnalysisSumAggregateInputType _min?: VoiceAnalysisMinAggregateInputType _max?: VoiceAnalysisMaxAggregateInputType } export type VoiceAnalysisGroupByOutputType = { id: string enrollmentId: string | null userId: string audioHash: string isSynthetic: boolean confidence: number analysisResult: JsonValue audioUrl: string createdAt: Date _count: VoiceAnalysisCountAggregateOutputType | null _avg: VoiceAnalysisAvgAggregateOutputType | null _sum: VoiceAnalysisSumAggregateOutputType | null _min: VoiceAnalysisMinAggregateOutputType | null _max: VoiceAnalysisMaxAggregateOutputType | null } type GetVoiceAnalysisGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof VoiceAnalysisGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type VoiceAnalysisSelect = $Extensions.GetSelect<{ id?: boolean enrollmentId?: boolean userId?: boolean audioHash?: boolean isSynthetic?: boolean confidence?: boolean analysisResult?: boolean audioUrl?: boolean createdAt?: boolean enrollment?: boolean | VoiceAnalysis$enrollmentArgs user?: boolean | UserDefaultArgs }, ExtArgs["result"]["voiceAnalysis"]> export type VoiceAnalysisSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean enrollmentId?: boolean userId?: boolean audioHash?: boolean isSynthetic?: boolean confidence?: boolean analysisResult?: boolean audioUrl?: boolean createdAt?: boolean enrollment?: boolean | VoiceAnalysis$enrollmentArgs user?: boolean | UserDefaultArgs }, ExtArgs["result"]["voiceAnalysis"]> export type VoiceAnalysisSelectScalar = { id?: boolean enrollmentId?: boolean userId?: boolean audioHash?: boolean isSynthetic?: boolean confidence?: boolean analysisResult?: boolean audioUrl?: boolean createdAt?: boolean } export type VoiceAnalysisInclude = { enrollment?: boolean | VoiceAnalysis$enrollmentArgs user?: boolean | UserDefaultArgs } export type VoiceAnalysisIncludeCreateManyAndReturn = { enrollment?: boolean | VoiceAnalysis$enrollmentArgs user?: boolean | UserDefaultArgs } export type $VoiceAnalysisPayload = { name: "VoiceAnalysis" objects: { enrollment: Prisma.$VoiceEnrollmentPayload | null user: Prisma.$UserPayload } scalars: $Extensions.GetPayloadResult<{ id: string enrollmentId: string | null userId: string audioHash: string isSynthetic: boolean confidence: number analysisResult: Prisma.JsonValue audioUrl: string createdAt: Date }, ExtArgs["result"]["voiceAnalysis"]> composites: {} } type VoiceAnalysisGetPayload = $Result.GetResult type VoiceAnalysisCountArgs = Omit & { select?: VoiceAnalysisCountAggregateInputType | true } export interface VoiceAnalysisDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['VoiceAnalysis'], meta: { name: 'VoiceAnalysis' } } /** * Find zero or one VoiceAnalysis that matches the filter. * @param {VoiceAnalysisFindUniqueArgs} args - Arguments to find a VoiceAnalysis * @example * // Get one VoiceAnalysis * const voiceAnalysis = await prisma.voiceAnalysis.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__VoiceAnalysisClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one VoiceAnalysis that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {VoiceAnalysisFindUniqueOrThrowArgs} args - Arguments to find a VoiceAnalysis * @example * // Get one VoiceAnalysis * const voiceAnalysis = await prisma.voiceAnalysis.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__VoiceAnalysisClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first VoiceAnalysis that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {VoiceAnalysisFindFirstArgs} args - Arguments to find a VoiceAnalysis * @example * // Get one VoiceAnalysis * const voiceAnalysis = await prisma.voiceAnalysis.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__VoiceAnalysisClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first VoiceAnalysis that matches the filter or * throw `PrismaKnownClientError` with `P2025` code if no matches were found. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {VoiceAnalysisFindFirstOrThrowArgs} args - Arguments to find a VoiceAnalysis * @example * // Get one VoiceAnalysis * const voiceAnalysis = await prisma.voiceAnalysis.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__VoiceAnalysisClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more VoiceAnalyses that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {VoiceAnalysisFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all VoiceAnalyses * const voiceAnalyses = await prisma.voiceAnalysis.findMany() * * // Get first 10 VoiceAnalyses * const voiceAnalyses = await prisma.voiceAnalysis.findMany({ take: 10 }) * * // Only select the `id` * const voiceAnalysisWithIdOnly = await prisma.voiceAnalysis.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a VoiceAnalysis. * @param {VoiceAnalysisCreateArgs} args - Arguments to create a VoiceAnalysis. * @example * // Create one VoiceAnalysis * const VoiceAnalysis = await prisma.voiceAnalysis.create({ * data: { * // ... data to create a VoiceAnalysis * } * }) * */ create(args: SelectSubset>): Prisma__VoiceAnalysisClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many VoiceAnalyses. * @param {VoiceAnalysisCreateManyArgs} args - Arguments to create many VoiceAnalyses. * @example * // Create many VoiceAnalyses * const voiceAnalysis = await prisma.voiceAnalysis.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many VoiceAnalyses and returns the data saved in the database. * @param {VoiceAnalysisCreateManyAndReturnArgs} args - Arguments to create many VoiceAnalyses. * @example * // Create many VoiceAnalyses * const voiceAnalysis = await prisma.voiceAnalysis.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many VoiceAnalyses and only return the `id` * const voiceAnalysisWithIdOnly = await prisma.voiceAnalysis.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a VoiceAnalysis. * @param {VoiceAnalysisDeleteArgs} args - Arguments to delete one VoiceAnalysis. * @example * // Delete one VoiceAnalysis * const VoiceAnalysis = await prisma.voiceAnalysis.delete({ * where: { * // ... filter to delete one VoiceAnalysis * } * }) * */ delete(args: SelectSubset>): Prisma__VoiceAnalysisClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one VoiceAnalysis. * @param {VoiceAnalysisUpdateArgs} args - Arguments to update one VoiceAnalysis. * @example * // Update one VoiceAnalysis * const voiceAnalysis = await prisma.voiceAnalysis.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__VoiceAnalysisClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more VoiceAnalyses. * @param {VoiceAnalysisDeleteManyArgs} args - Arguments to filter VoiceAnalyses to delete. * @example * // Delete a few VoiceAnalyses * const { count } = await prisma.voiceAnalysis.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more VoiceAnalyses. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {VoiceAnalysisUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many VoiceAnalyses * const voiceAnalysis = await prisma.voiceAnalysis.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one VoiceAnalysis. * @param {VoiceAnalysisUpsertArgs} args - Arguments to update or create a VoiceAnalysis. * @example * // Update or create a VoiceAnalysis * const voiceAnalysis = await prisma.voiceAnalysis.upsert({ * create: { * // ... data to create a VoiceAnalysis * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the VoiceAnalysis we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__VoiceAnalysisClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of VoiceAnalyses. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {VoiceAnalysisCountArgs} args - Arguments to filter VoiceAnalyses to count. * @example * // Count the number of VoiceAnalyses * const count = await prisma.voiceAnalysis.count({ * where: { * // ... the filter for the VoiceAnalyses we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a VoiceAnalysis. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {VoiceAnalysisAggregateArgs} args - Select which aggregations you would like to apply and on what fields. * @example * // Ordered by age ascending * // Where email contains prisma.io * // Limited to the 10 users * const aggregations = await prisma.user.aggregate({ * _avg: { * age: true, * }, * where: { * email: { * contains: "prisma.io", * }, * }, * orderBy: { * age: "asc", * }, * take: 10, * }) **/ aggregate(args: Subset): Prisma.PrismaPromise> /** * Group by VoiceAnalysis. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {VoiceAnalysisGroupByArgs} args - Group by arguments. * @example * // Group by city, order by createdAt, get count * const result = await prisma.user.groupBy({ * by: ['city', 'createdAt'], * orderBy: { * createdAt: true * }, * _count: { * _all: true * }, * }) * **/ groupBy< T extends VoiceAnalysisGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: VoiceAnalysisGroupByArgs['orderBy'] } : { orderBy?: VoiceAnalysisGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends False ? { [P in HavingFields]: P extends ByFields ? never : P extends string ? `Error: Field "${P}" used in "having" needs to be provided in "by".` : [ Error, 'Field ', P, ` in "having" needs to be provided in "by"`, ] }[HavingFields] : 'take' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "take", you also need to provide "orderBy"' : 'skip' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "skip", you also need to provide "orderBy"' : ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetVoiceAnalysisGroupByPayload : Prisma.PrismaPromise /** * Fields of the VoiceAnalysis model */ readonly fields: VoiceAnalysisFieldRefs; } /** * The delegate class that acts as a "Promise-like" for VoiceAnalysis. * Why is this prefixed with `Prisma__`? * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ export interface Prisma__VoiceAnalysisClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" enrollment = {}>(args?: Subset>): Prisma__VoiceEnrollmentClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> user = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the VoiceAnalysis model */ interface VoiceAnalysisFieldRefs { readonly id: FieldRef<"VoiceAnalysis", 'String'> readonly enrollmentId: FieldRef<"VoiceAnalysis", 'String'> readonly userId: FieldRef<"VoiceAnalysis", 'String'> readonly audioHash: FieldRef<"VoiceAnalysis", 'String'> readonly isSynthetic: FieldRef<"VoiceAnalysis", 'Boolean'> readonly confidence: FieldRef<"VoiceAnalysis", 'Float'> readonly analysisResult: FieldRef<"VoiceAnalysis", 'Json'> readonly audioUrl: FieldRef<"VoiceAnalysis", 'String'> readonly createdAt: FieldRef<"VoiceAnalysis", 'DateTime'> } // Custom InputTypes /** * VoiceAnalysis findUnique */ export type VoiceAnalysisFindUniqueArgs = { /** * Select specific fields to fetch from the VoiceAnalysis */ select?: VoiceAnalysisSelect | null /** * Choose, which related nodes to fetch as well */ include?: VoiceAnalysisInclude | null /** * Filter, which VoiceAnalysis to fetch. */ where: VoiceAnalysisWhereUniqueInput } /** * VoiceAnalysis findUniqueOrThrow */ export type VoiceAnalysisFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the VoiceAnalysis */ select?: VoiceAnalysisSelect | null /** * Choose, which related nodes to fetch as well */ include?: VoiceAnalysisInclude | null /** * Filter, which VoiceAnalysis to fetch. */ where: VoiceAnalysisWhereUniqueInput } /** * VoiceAnalysis findFirst */ export type VoiceAnalysisFindFirstArgs = { /** * Select specific fields to fetch from the VoiceAnalysis */ select?: VoiceAnalysisSelect | null /** * Choose, which related nodes to fetch as well */ include?: VoiceAnalysisInclude | null /** * Filter, which VoiceAnalysis to fetch. */ where?: VoiceAnalysisWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of VoiceAnalyses to fetch. */ orderBy?: VoiceAnalysisOrderByWithRelationInput | VoiceAnalysisOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for VoiceAnalyses. */ cursor?: VoiceAnalysisWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` VoiceAnalyses from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` VoiceAnalyses. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of VoiceAnalyses. */ distinct?: VoiceAnalysisScalarFieldEnum | VoiceAnalysisScalarFieldEnum[] } /** * VoiceAnalysis findFirstOrThrow */ export type VoiceAnalysisFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the VoiceAnalysis */ select?: VoiceAnalysisSelect | null /** * Choose, which related nodes to fetch as well */ include?: VoiceAnalysisInclude | null /** * Filter, which VoiceAnalysis to fetch. */ where?: VoiceAnalysisWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of VoiceAnalyses to fetch. */ orderBy?: VoiceAnalysisOrderByWithRelationInput | VoiceAnalysisOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for VoiceAnalyses. */ cursor?: VoiceAnalysisWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` VoiceAnalyses from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` VoiceAnalyses. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of VoiceAnalyses. */ distinct?: VoiceAnalysisScalarFieldEnum | VoiceAnalysisScalarFieldEnum[] } /** * VoiceAnalysis findMany */ export type VoiceAnalysisFindManyArgs = { /** * Select specific fields to fetch from the VoiceAnalysis */ select?: VoiceAnalysisSelect | null /** * Choose, which related nodes to fetch as well */ include?: VoiceAnalysisInclude | null /** * Filter, which VoiceAnalyses to fetch. */ where?: VoiceAnalysisWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of VoiceAnalyses to fetch. */ orderBy?: VoiceAnalysisOrderByWithRelationInput | VoiceAnalysisOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing VoiceAnalyses. */ cursor?: VoiceAnalysisWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` VoiceAnalyses from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` VoiceAnalyses. */ skip?: number distinct?: VoiceAnalysisScalarFieldEnum | VoiceAnalysisScalarFieldEnum[] } /** * VoiceAnalysis create */ export type VoiceAnalysisCreateArgs = { /** * Select specific fields to fetch from the VoiceAnalysis */ select?: VoiceAnalysisSelect | null /** * Choose, which related nodes to fetch as well */ include?: VoiceAnalysisInclude | null /** * The data needed to create a VoiceAnalysis. */ data: XOR } /** * VoiceAnalysis createMany */ export type VoiceAnalysisCreateManyArgs = { /** * The data used to create many VoiceAnalyses. */ data: VoiceAnalysisCreateManyInput | VoiceAnalysisCreateManyInput[] skipDuplicates?: boolean } /** * VoiceAnalysis createManyAndReturn */ export type VoiceAnalysisCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the VoiceAnalysis */ select?: VoiceAnalysisSelectCreateManyAndReturn | null /** * The data used to create many VoiceAnalyses. */ data: VoiceAnalysisCreateManyInput | VoiceAnalysisCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: VoiceAnalysisIncludeCreateManyAndReturn | null } /** * VoiceAnalysis update */ export type VoiceAnalysisUpdateArgs = { /** * Select specific fields to fetch from the VoiceAnalysis */ select?: VoiceAnalysisSelect | null /** * Choose, which related nodes to fetch as well */ include?: VoiceAnalysisInclude | null /** * The data needed to update a VoiceAnalysis. */ data: XOR /** * Choose, which VoiceAnalysis to update. */ where: VoiceAnalysisWhereUniqueInput } /** * VoiceAnalysis updateMany */ export type VoiceAnalysisUpdateManyArgs = { /** * The data used to update VoiceAnalyses. */ data: XOR /** * Filter which VoiceAnalyses to update */ where?: VoiceAnalysisWhereInput } /** * VoiceAnalysis upsert */ export type VoiceAnalysisUpsertArgs = { /** * Select specific fields to fetch from the VoiceAnalysis */ select?: VoiceAnalysisSelect | null /** * Choose, which related nodes to fetch as well */ include?: VoiceAnalysisInclude | null /** * The filter to search for the VoiceAnalysis to update in case it exists. */ where: VoiceAnalysisWhereUniqueInput /** * In case the VoiceAnalysis found by the `where` argument doesn't exist, create a new VoiceAnalysis with this data. */ create: XOR /** * In case the VoiceAnalysis was found with the provided `where` argument, update it with this data. */ update: XOR } /** * VoiceAnalysis delete */ export type VoiceAnalysisDeleteArgs = { /** * Select specific fields to fetch from the VoiceAnalysis */ select?: VoiceAnalysisSelect | null /** * Choose, which related nodes to fetch as well */ include?: VoiceAnalysisInclude | null /** * Filter which VoiceAnalysis to delete. */ where: VoiceAnalysisWhereUniqueInput } /** * VoiceAnalysis deleteMany */ export type VoiceAnalysisDeleteManyArgs = { /** * Filter which VoiceAnalyses to delete */ where?: VoiceAnalysisWhereInput } /** * VoiceAnalysis.enrollment */ export type VoiceAnalysis$enrollmentArgs = { /** * Select specific fields to fetch from the VoiceEnrollment */ select?: VoiceEnrollmentSelect | null /** * Choose, which related nodes to fetch as well */ include?: VoiceEnrollmentInclude | null where?: VoiceEnrollmentWhereInput } /** * VoiceAnalysis without action */ export type VoiceAnalysisDefaultArgs = { /** * Select specific fields to fetch from the VoiceAnalysis */ select?: VoiceAnalysisSelect | null /** * Choose, which related nodes to fetch as well */ include?: VoiceAnalysisInclude | null } /** * Model SpamFeedback */ export type AggregateSpamFeedback = { _count: SpamFeedbackCountAggregateOutputType | null _avg: SpamFeedbackAvgAggregateOutputType | null _sum: SpamFeedbackSumAggregateOutputType | null _min: SpamFeedbackMinAggregateOutputType | null _max: SpamFeedbackMaxAggregateOutputType | null } export type SpamFeedbackAvgAggregateOutputType = { confidence: number | null } export type SpamFeedbackSumAggregateOutputType = { confidence: number | null } export type SpamFeedbackMinAggregateOutputType = { id: string | null userId: string | null phoneNumber: string | null phoneNumberHash: string | null isSpam: boolean | null confidence: number | null feedbackType: $Enums.FeedbackType | null createdAt: Date | null updatedAt: Date | null } export type SpamFeedbackMaxAggregateOutputType = { id: string | null userId: string | null phoneNumber: string | null phoneNumberHash: string | null isSpam: boolean | null confidence: number | null feedbackType: $Enums.FeedbackType | null createdAt: Date | null updatedAt: Date | null } export type SpamFeedbackCountAggregateOutputType = { id: number userId: number phoneNumber: number phoneNumberHash: number isSpam: number confidence: number feedbackType: number metadata: number createdAt: number updatedAt: number _all: number } export type SpamFeedbackAvgAggregateInputType = { confidence?: true } export type SpamFeedbackSumAggregateInputType = { confidence?: true } export type SpamFeedbackMinAggregateInputType = { id?: true userId?: true phoneNumber?: true phoneNumberHash?: true isSpam?: true confidence?: true feedbackType?: true createdAt?: true updatedAt?: true } export type SpamFeedbackMaxAggregateInputType = { id?: true userId?: true phoneNumber?: true phoneNumberHash?: true isSpam?: true confidence?: true feedbackType?: true createdAt?: true updatedAt?: true } export type SpamFeedbackCountAggregateInputType = { id?: true userId?: true phoneNumber?: true phoneNumberHash?: true isSpam?: true confidence?: true feedbackType?: true metadata?: true createdAt?: true updatedAt?: true _all?: true } export type SpamFeedbackAggregateArgs = { /** * Filter which SpamFeedback to aggregate. */ where?: SpamFeedbackWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of SpamFeedbacks to fetch. */ orderBy?: SpamFeedbackOrderByWithRelationInput | SpamFeedbackOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: SpamFeedbackWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` SpamFeedbacks from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` SpamFeedbacks. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned SpamFeedbacks **/ _count?: true | SpamFeedbackCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: SpamFeedbackAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: SpamFeedbackSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: SpamFeedbackMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: SpamFeedbackMaxAggregateInputType } export type GetSpamFeedbackAggregateType = { [P in keyof T & keyof AggregateSpamFeedback]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type SpamFeedbackGroupByArgs = { where?: SpamFeedbackWhereInput orderBy?: SpamFeedbackOrderByWithAggregationInput | SpamFeedbackOrderByWithAggregationInput[] by: SpamFeedbackScalarFieldEnum[] | SpamFeedbackScalarFieldEnum having?: SpamFeedbackScalarWhereWithAggregatesInput take?: number skip?: number _count?: SpamFeedbackCountAggregateInputType | true _avg?: SpamFeedbackAvgAggregateInputType _sum?: SpamFeedbackSumAggregateInputType _min?: SpamFeedbackMinAggregateInputType _max?: SpamFeedbackMaxAggregateInputType } export type SpamFeedbackGroupByOutputType = { id: string userId: string phoneNumber: string phoneNumberHash: string isSpam: boolean confidence: number | null feedbackType: $Enums.FeedbackType metadata: JsonValue | null createdAt: Date updatedAt: Date _count: SpamFeedbackCountAggregateOutputType | null _avg: SpamFeedbackAvgAggregateOutputType | null _sum: SpamFeedbackSumAggregateOutputType | null _min: SpamFeedbackMinAggregateOutputType | null _max: SpamFeedbackMaxAggregateOutputType | null } type GetSpamFeedbackGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof SpamFeedbackGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type SpamFeedbackSelect = $Extensions.GetSelect<{ id?: boolean userId?: boolean phoneNumber?: boolean phoneNumberHash?: boolean isSpam?: boolean confidence?: boolean feedbackType?: boolean metadata?: boolean createdAt?: boolean updatedAt?: boolean user?: boolean | UserDefaultArgs }, ExtArgs["result"]["spamFeedback"]> export type SpamFeedbackSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean userId?: boolean phoneNumber?: boolean phoneNumberHash?: boolean isSpam?: boolean confidence?: boolean feedbackType?: boolean metadata?: boolean createdAt?: boolean updatedAt?: boolean user?: boolean | UserDefaultArgs }, ExtArgs["result"]["spamFeedback"]> export type SpamFeedbackSelectScalar = { id?: boolean userId?: boolean phoneNumber?: boolean phoneNumberHash?: boolean isSpam?: boolean confidence?: boolean feedbackType?: boolean metadata?: boolean createdAt?: boolean updatedAt?: boolean } export type SpamFeedbackInclude = { user?: boolean | UserDefaultArgs } export type SpamFeedbackIncludeCreateManyAndReturn = { user?: boolean | UserDefaultArgs } export type $SpamFeedbackPayload = { name: "SpamFeedback" objects: { user: Prisma.$UserPayload } scalars: $Extensions.GetPayloadResult<{ id: string userId: string phoneNumber: string phoneNumberHash: string isSpam: boolean confidence: number | null feedbackType: $Enums.FeedbackType metadata: Prisma.JsonValue | null createdAt: Date updatedAt: Date }, ExtArgs["result"]["spamFeedback"]> composites: {} } type SpamFeedbackGetPayload = $Result.GetResult type SpamFeedbackCountArgs = Omit & { select?: SpamFeedbackCountAggregateInputType | true } export interface SpamFeedbackDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['SpamFeedback'], meta: { name: 'SpamFeedback' } } /** * Find zero or one SpamFeedback that matches the filter. * @param {SpamFeedbackFindUniqueArgs} args - Arguments to find a SpamFeedback * @example * // Get one SpamFeedback * const spamFeedback = await prisma.spamFeedback.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__SpamFeedbackClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one SpamFeedback that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {SpamFeedbackFindUniqueOrThrowArgs} args - Arguments to find a SpamFeedback * @example * // Get one SpamFeedback * const spamFeedback = await prisma.spamFeedback.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__SpamFeedbackClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first SpamFeedback that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SpamFeedbackFindFirstArgs} args - Arguments to find a SpamFeedback * @example * // Get one SpamFeedback * const spamFeedback = await prisma.spamFeedback.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__SpamFeedbackClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first SpamFeedback that matches the filter or * throw `PrismaKnownClientError` with `P2025` code if no matches were found. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SpamFeedbackFindFirstOrThrowArgs} args - Arguments to find a SpamFeedback * @example * // Get one SpamFeedback * const spamFeedback = await prisma.spamFeedback.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__SpamFeedbackClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more SpamFeedbacks that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SpamFeedbackFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all SpamFeedbacks * const spamFeedbacks = await prisma.spamFeedback.findMany() * * // Get first 10 SpamFeedbacks * const spamFeedbacks = await prisma.spamFeedback.findMany({ take: 10 }) * * // Only select the `id` * const spamFeedbackWithIdOnly = await prisma.spamFeedback.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a SpamFeedback. * @param {SpamFeedbackCreateArgs} args - Arguments to create a SpamFeedback. * @example * // Create one SpamFeedback * const SpamFeedback = await prisma.spamFeedback.create({ * data: { * // ... data to create a SpamFeedback * } * }) * */ create(args: SelectSubset>): Prisma__SpamFeedbackClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many SpamFeedbacks. * @param {SpamFeedbackCreateManyArgs} args - Arguments to create many SpamFeedbacks. * @example * // Create many SpamFeedbacks * const spamFeedback = await prisma.spamFeedback.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many SpamFeedbacks and returns the data saved in the database. * @param {SpamFeedbackCreateManyAndReturnArgs} args - Arguments to create many SpamFeedbacks. * @example * // Create many SpamFeedbacks * const spamFeedback = await prisma.spamFeedback.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many SpamFeedbacks and only return the `id` * const spamFeedbackWithIdOnly = await prisma.spamFeedback.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a SpamFeedback. * @param {SpamFeedbackDeleteArgs} args - Arguments to delete one SpamFeedback. * @example * // Delete one SpamFeedback * const SpamFeedback = await prisma.spamFeedback.delete({ * where: { * // ... filter to delete one SpamFeedback * } * }) * */ delete(args: SelectSubset>): Prisma__SpamFeedbackClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one SpamFeedback. * @param {SpamFeedbackUpdateArgs} args - Arguments to update one SpamFeedback. * @example * // Update one SpamFeedback * const spamFeedback = await prisma.spamFeedback.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__SpamFeedbackClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more SpamFeedbacks. * @param {SpamFeedbackDeleteManyArgs} args - Arguments to filter SpamFeedbacks to delete. * @example * // Delete a few SpamFeedbacks * const { count } = await prisma.spamFeedback.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more SpamFeedbacks. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SpamFeedbackUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many SpamFeedbacks * const spamFeedback = await prisma.spamFeedback.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one SpamFeedback. * @param {SpamFeedbackUpsertArgs} args - Arguments to update or create a SpamFeedback. * @example * // Update or create a SpamFeedback * const spamFeedback = await prisma.spamFeedback.upsert({ * create: { * // ... data to create a SpamFeedback * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the SpamFeedback we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__SpamFeedbackClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of SpamFeedbacks. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SpamFeedbackCountArgs} args - Arguments to filter SpamFeedbacks to count. * @example * // Count the number of SpamFeedbacks * const count = await prisma.spamFeedback.count({ * where: { * // ... the filter for the SpamFeedbacks we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a SpamFeedback. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SpamFeedbackAggregateArgs} args - Select which aggregations you would like to apply and on what fields. * @example * // Ordered by age ascending * // Where email contains prisma.io * // Limited to the 10 users * const aggregations = await prisma.user.aggregate({ * _avg: { * age: true, * }, * where: { * email: { * contains: "prisma.io", * }, * }, * orderBy: { * age: "asc", * }, * take: 10, * }) **/ aggregate(args: Subset): Prisma.PrismaPromise> /** * Group by SpamFeedback. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SpamFeedbackGroupByArgs} args - Group by arguments. * @example * // Group by city, order by createdAt, get count * const result = await prisma.user.groupBy({ * by: ['city', 'createdAt'], * orderBy: { * createdAt: true * }, * _count: { * _all: true * }, * }) * **/ groupBy< T extends SpamFeedbackGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: SpamFeedbackGroupByArgs['orderBy'] } : { orderBy?: SpamFeedbackGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends False ? { [P in HavingFields]: P extends ByFields ? never : P extends string ? `Error: Field "${P}" used in "having" needs to be provided in "by".` : [ Error, 'Field ', P, ` in "having" needs to be provided in "by"`, ] }[HavingFields] : 'take' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "take", you also need to provide "orderBy"' : 'skip' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "skip", you also need to provide "orderBy"' : ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetSpamFeedbackGroupByPayload : Prisma.PrismaPromise /** * Fields of the SpamFeedback model */ readonly fields: SpamFeedbackFieldRefs; } /** * The delegate class that acts as a "Promise-like" for SpamFeedback. * Why is this prefixed with `Prisma__`? * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ export interface Prisma__SpamFeedbackClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" user = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the SpamFeedback model */ interface SpamFeedbackFieldRefs { readonly id: FieldRef<"SpamFeedback", 'String'> readonly userId: FieldRef<"SpamFeedback", 'String'> readonly phoneNumber: FieldRef<"SpamFeedback", 'String'> readonly phoneNumberHash: FieldRef<"SpamFeedback", 'String'> readonly isSpam: FieldRef<"SpamFeedback", 'Boolean'> readonly confidence: FieldRef<"SpamFeedback", 'Float'> readonly feedbackType: FieldRef<"SpamFeedback", 'FeedbackType'> readonly metadata: FieldRef<"SpamFeedback", 'Json'> readonly createdAt: FieldRef<"SpamFeedback", 'DateTime'> readonly updatedAt: FieldRef<"SpamFeedback", 'DateTime'> } // Custom InputTypes /** * SpamFeedback findUnique */ export type SpamFeedbackFindUniqueArgs = { /** * Select specific fields to fetch from the SpamFeedback */ select?: SpamFeedbackSelect | null /** * Choose, which related nodes to fetch as well */ include?: SpamFeedbackInclude | null /** * Filter, which SpamFeedback to fetch. */ where: SpamFeedbackWhereUniqueInput } /** * SpamFeedback findUniqueOrThrow */ export type SpamFeedbackFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the SpamFeedback */ select?: SpamFeedbackSelect | null /** * Choose, which related nodes to fetch as well */ include?: SpamFeedbackInclude | null /** * Filter, which SpamFeedback to fetch. */ where: SpamFeedbackWhereUniqueInput } /** * SpamFeedback findFirst */ export type SpamFeedbackFindFirstArgs = { /** * Select specific fields to fetch from the SpamFeedback */ select?: SpamFeedbackSelect | null /** * Choose, which related nodes to fetch as well */ include?: SpamFeedbackInclude | null /** * Filter, which SpamFeedback to fetch. */ where?: SpamFeedbackWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of SpamFeedbacks to fetch. */ orderBy?: SpamFeedbackOrderByWithRelationInput | SpamFeedbackOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for SpamFeedbacks. */ cursor?: SpamFeedbackWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` SpamFeedbacks from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` SpamFeedbacks. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of SpamFeedbacks. */ distinct?: SpamFeedbackScalarFieldEnum | SpamFeedbackScalarFieldEnum[] } /** * SpamFeedback findFirstOrThrow */ export type SpamFeedbackFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the SpamFeedback */ select?: SpamFeedbackSelect | null /** * Choose, which related nodes to fetch as well */ include?: SpamFeedbackInclude | null /** * Filter, which SpamFeedback to fetch. */ where?: SpamFeedbackWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of SpamFeedbacks to fetch. */ orderBy?: SpamFeedbackOrderByWithRelationInput | SpamFeedbackOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for SpamFeedbacks. */ cursor?: SpamFeedbackWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` SpamFeedbacks from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` SpamFeedbacks. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of SpamFeedbacks. */ distinct?: SpamFeedbackScalarFieldEnum | SpamFeedbackScalarFieldEnum[] } /** * SpamFeedback findMany */ export type SpamFeedbackFindManyArgs = { /** * Select specific fields to fetch from the SpamFeedback */ select?: SpamFeedbackSelect | null /** * Choose, which related nodes to fetch as well */ include?: SpamFeedbackInclude | null /** * Filter, which SpamFeedbacks to fetch. */ where?: SpamFeedbackWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of SpamFeedbacks to fetch. */ orderBy?: SpamFeedbackOrderByWithRelationInput | SpamFeedbackOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing SpamFeedbacks. */ cursor?: SpamFeedbackWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` SpamFeedbacks from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` SpamFeedbacks. */ skip?: number distinct?: SpamFeedbackScalarFieldEnum | SpamFeedbackScalarFieldEnum[] } /** * SpamFeedback create */ export type SpamFeedbackCreateArgs = { /** * Select specific fields to fetch from the SpamFeedback */ select?: SpamFeedbackSelect | null /** * Choose, which related nodes to fetch as well */ include?: SpamFeedbackInclude | null /** * The data needed to create a SpamFeedback. */ data: XOR } /** * SpamFeedback createMany */ export type SpamFeedbackCreateManyArgs = { /** * The data used to create many SpamFeedbacks. */ data: SpamFeedbackCreateManyInput | SpamFeedbackCreateManyInput[] skipDuplicates?: boolean } /** * SpamFeedback createManyAndReturn */ export type SpamFeedbackCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the SpamFeedback */ select?: SpamFeedbackSelectCreateManyAndReturn | null /** * The data used to create many SpamFeedbacks. */ data: SpamFeedbackCreateManyInput | SpamFeedbackCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: SpamFeedbackIncludeCreateManyAndReturn | null } /** * SpamFeedback update */ export type SpamFeedbackUpdateArgs = { /** * Select specific fields to fetch from the SpamFeedback */ select?: SpamFeedbackSelect | null /** * Choose, which related nodes to fetch as well */ include?: SpamFeedbackInclude | null /** * The data needed to update a SpamFeedback. */ data: XOR /** * Choose, which SpamFeedback to update. */ where: SpamFeedbackWhereUniqueInput } /** * SpamFeedback updateMany */ export type SpamFeedbackUpdateManyArgs = { /** * The data used to update SpamFeedbacks. */ data: XOR /** * Filter which SpamFeedbacks to update */ where?: SpamFeedbackWhereInput } /** * SpamFeedback upsert */ export type SpamFeedbackUpsertArgs = { /** * Select specific fields to fetch from the SpamFeedback */ select?: SpamFeedbackSelect | null /** * Choose, which related nodes to fetch as well */ include?: SpamFeedbackInclude | null /** * The filter to search for the SpamFeedback to update in case it exists. */ where: SpamFeedbackWhereUniqueInput /** * In case the SpamFeedback found by the `where` argument doesn't exist, create a new SpamFeedback with this data. */ create: XOR /** * In case the SpamFeedback was found with the provided `where` argument, update it with this data. */ update: XOR } /** * SpamFeedback delete */ export type SpamFeedbackDeleteArgs = { /** * Select specific fields to fetch from the SpamFeedback */ select?: SpamFeedbackSelect | null /** * Choose, which related nodes to fetch as well */ include?: SpamFeedbackInclude | null /** * Filter which SpamFeedback to delete. */ where: SpamFeedbackWhereUniqueInput } /** * SpamFeedback deleteMany */ export type SpamFeedbackDeleteManyArgs = { /** * Filter which SpamFeedbacks to delete */ where?: SpamFeedbackWhereInput } /** * SpamFeedback without action */ export type SpamFeedbackDefaultArgs = { /** * Select specific fields to fetch from the SpamFeedback */ select?: SpamFeedbackSelect | null /** * Choose, which related nodes to fetch as well */ include?: SpamFeedbackInclude | null } /** * Model SpamRule */ export type AggregateSpamRule = { _count: SpamRuleCountAggregateOutputType | null _avg: SpamRuleAvgAggregateOutputType | null _sum: SpamRuleSumAggregateOutputType | null _min: SpamRuleMinAggregateOutputType | null _max: SpamRuleMaxAggregateOutputType | null } export type SpamRuleAvgAggregateOutputType = { priority: number | null } export type SpamRuleSumAggregateOutputType = { priority: number | null } export type SpamRuleMinAggregateOutputType = { id: string | null userId: string | null isGlobal: boolean | null ruleType: $Enums.RuleType | null pattern: string | null action: $Enums.RuleAction | null priority: number | null isActive: boolean | null createdAt: Date | null updatedAt: Date | null } export type SpamRuleMaxAggregateOutputType = { id: string | null userId: string | null isGlobal: boolean | null ruleType: $Enums.RuleType | null pattern: string | null action: $Enums.RuleAction | null priority: number | null isActive: boolean | null createdAt: Date | null updatedAt: Date | null } export type SpamRuleCountAggregateOutputType = { id: number userId: number isGlobal: number ruleType: number pattern: number action: number priority: number isActive: number createdAt: number updatedAt: number _all: number } export type SpamRuleAvgAggregateInputType = { priority?: true } export type SpamRuleSumAggregateInputType = { priority?: true } export type SpamRuleMinAggregateInputType = { id?: true userId?: true isGlobal?: true ruleType?: true pattern?: true action?: true priority?: true isActive?: true createdAt?: true updatedAt?: true } export type SpamRuleMaxAggregateInputType = { id?: true userId?: true isGlobal?: true ruleType?: true pattern?: true action?: true priority?: true isActive?: true createdAt?: true updatedAt?: true } export type SpamRuleCountAggregateInputType = { id?: true userId?: true isGlobal?: true ruleType?: true pattern?: true action?: true priority?: true isActive?: true createdAt?: true updatedAt?: true _all?: true } export type SpamRuleAggregateArgs = { /** * Filter which SpamRule to aggregate. */ where?: SpamRuleWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of SpamRules to fetch. */ orderBy?: SpamRuleOrderByWithRelationInput | SpamRuleOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: SpamRuleWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` SpamRules from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` SpamRules. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned SpamRules **/ _count?: true | SpamRuleCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: SpamRuleAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: SpamRuleSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: SpamRuleMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: SpamRuleMaxAggregateInputType } export type GetSpamRuleAggregateType = { [P in keyof T & keyof AggregateSpamRule]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type SpamRuleGroupByArgs = { where?: SpamRuleWhereInput orderBy?: SpamRuleOrderByWithAggregationInput | SpamRuleOrderByWithAggregationInput[] by: SpamRuleScalarFieldEnum[] | SpamRuleScalarFieldEnum having?: SpamRuleScalarWhereWithAggregatesInput take?: number skip?: number _count?: SpamRuleCountAggregateInputType | true _avg?: SpamRuleAvgAggregateInputType _sum?: SpamRuleSumAggregateInputType _min?: SpamRuleMinAggregateInputType _max?: SpamRuleMaxAggregateInputType } export type SpamRuleGroupByOutputType = { id: string userId: string | null isGlobal: boolean ruleType: $Enums.RuleType pattern: string action: $Enums.RuleAction priority: number isActive: boolean createdAt: Date updatedAt: Date _count: SpamRuleCountAggregateOutputType | null _avg: SpamRuleAvgAggregateOutputType | null _sum: SpamRuleSumAggregateOutputType | null _min: SpamRuleMinAggregateOutputType | null _max: SpamRuleMaxAggregateOutputType | null } type GetSpamRuleGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof SpamRuleGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type SpamRuleSelect = $Extensions.GetSelect<{ id?: boolean userId?: boolean isGlobal?: boolean ruleType?: boolean pattern?: boolean action?: boolean priority?: boolean isActive?: boolean createdAt?: boolean updatedAt?: boolean user?: boolean | SpamRule$userArgs }, ExtArgs["result"]["spamRule"]> export type SpamRuleSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean userId?: boolean isGlobal?: boolean ruleType?: boolean pattern?: boolean action?: boolean priority?: boolean isActive?: boolean createdAt?: boolean updatedAt?: boolean user?: boolean | SpamRule$userArgs }, ExtArgs["result"]["spamRule"]> export type SpamRuleSelectScalar = { id?: boolean userId?: boolean isGlobal?: boolean ruleType?: boolean pattern?: boolean action?: boolean priority?: boolean isActive?: boolean createdAt?: boolean updatedAt?: boolean } export type SpamRuleInclude = { user?: boolean | SpamRule$userArgs } export type SpamRuleIncludeCreateManyAndReturn = { user?: boolean | SpamRule$userArgs } export type $SpamRulePayload = { name: "SpamRule" objects: { user: Prisma.$UserPayload | null } scalars: $Extensions.GetPayloadResult<{ id: string userId: string | null isGlobal: boolean ruleType: $Enums.RuleType pattern: string action: $Enums.RuleAction priority: number isActive: boolean createdAt: Date updatedAt: Date }, ExtArgs["result"]["spamRule"]> composites: {} } type SpamRuleGetPayload = $Result.GetResult type SpamRuleCountArgs = Omit & { select?: SpamRuleCountAggregateInputType | true } export interface SpamRuleDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['SpamRule'], meta: { name: 'SpamRule' } } /** * Find zero or one SpamRule that matches the filter. * @param {SpamRuleFindUniqueArgs} args - Arguments to find a SpamRule * @example * // Get one SpamRule * const spamRule = await prisma.spamRule.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__SpamRuleClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one SpamRule that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {SpamRuleFindUniqueOrThrowArgs} args - Arguments to find a SpamRule * @example * // Get one SpamRule * const spamRule = await prisma.spamRule.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__SpamRuleClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first SpamRule that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SpamRuleFindFirstArgs} args - Arguments to find a SpamRule * @example * // Get one SpamRule * const spamRule = await prisma.spamRule.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__SpamRuleClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first SpamRule that matches the filter or * throw `PrismaKnownClientError` with `P2025` code if no matches were found. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SpamRuleFindFirstOrThrowArgs} args - Arguments to find a SpamRule * @example * // Get one SpamRule * const spamRule = await prisma.spamRule.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__SpamRuleClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more SpamRules that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SpamRuleFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all SpamRules * const spamRules = await prisma.spamRule.findMany() * * // Get first 10 SpamRules * const spamRules = await prisma.spamRule.findMany({ take: 10 }) * * // Only select the `id` * const spamRuleWithIdOnly = await prisma.spamRule.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a SpamRule. * @param {SpamRuleCreateArgs} args - Arguments to create a SpamRule. * @example * // Create one SpamRule * const SpamRule = await prisma.spamRule.create({ * data: { * // ... data to create a SpamRule * } * }) * */ create(args: SelectSubset>): Prisma__SpamRuleClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many SpamRules. * @param {SpamRuleCreateManyArgs} args - Arguments to create many SpamRules. * @example * // Create many SpamRules * const spamRule = await prisma.spamRule.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many SpamRules and returns the data saved in the database. * @param {SpamRuleCreateManyAndReturnArgs} args - Arguments to create many SpamRules. * @example * // Create many SpamRules * const spamRule = await prisma.spamRule.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many SpamRules and only return the `id` * const spamRuleWithIdOnly = await prisma.spamRule.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a SpamRule. * @param {SpamRuleDeleteArgs} args - Arguments to delete one SpamRule. * @example * // Delete one SpamRule * const SpamRule = await prisma.spamRule.delete({ * where: { * // ... filter to delete one SpamRule * } * }) * */ delete(args: SelectSubset>): Prisma__SpamRuleClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one SpamRule. * @param {SpamRuleUpdateArgs} args - Arguments to update one SpamRule. * @example * // Update one SpamRule * const spamRule = await prisma.spamRule.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__SpamRuleClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more SpamRules. * @param {SpamRuleDeleteManyArgs} args - Arguments to filter SpamRules to delete. * @example * // Delete a few SpamRules * const { count } = await prisma.spamRule.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more SpamRules. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SpamRuleUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many SpamRules * const spamRule = await prisma.spamRule.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one SpamRule. * @param {SpamRuleUpsertArgs} args - Arguments to update or create a SpamRule. * @example * // Update or create a SpamRule * const spamRule = await prisma.spamRule.upsert({ * create: { * // ... data to create a SpamRule * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the SpamRule we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__SpamRuleClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of SpamRules. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SpamRuleCountArgs} args - Arguments to filter SpamRules to count. * @example * // Count the number of SpamRules * const count = await prisma.spamRule.count({ * where: { * // ... the filter for the SpamRules we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a SpamRule. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SpamRuleAggregateArgs} args - Select which aggregations you would like to apply and on what fields. * @example * // Ordered by age ascending * // Where email contains prisma.io * // Limited to the 10 users * const aggregations = await prisma.user.aggregate({ * _avg: { * age: true, * }, * where: { * email: { * contains: "prisma.io", * }, * }, * orderBy: { * age: "asc", * }, * take: 10, * }) **/ aggregate(args: Subset): Prisma.PrismaPromise> /** * Group by SpamRule. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SpamRuleGroupByArgs} args - Group by arguments. * @example * // Group by city, order by createdAt, get count * const result = await prisma.user.groupBy({ * by: ['city', 'createdAt'], * orderBy: { * createdAt: true * }, * _count: { * _all: true * }, * }) * **/ groupBy< T extends SpamRuleGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: SpamRuleGroupByArgs['orderBy'] } : { orderBy?: SpamRuleGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends False ? { [P in HavingFields]: P extends ByFields ? never : P extends string ? `Error: Field "${P}" used in "having" needs to be provided in "by".` : [ Error, 'Field ', P, ` in "having" needs to be provided in "by"`, ] }[HavingFields] : 'take' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "take", you also need to provide "orderBy"' : 'skip' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "skip", you also need to provide "orderBy"' : ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetSpamRuleGroupByPayload : Prisma.PrismaPromise /** * Fields of the SpamRule model */ readonly fields: SpamRuleFieldRefs; } /** * The delegate class that acts as a "Promise-like" for SpamRule. * Why is this prefixed with `Prisma__`? * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ export interface Prisma__SpamRuleClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" user = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the SpamRule model */ interface SpamRuleFieldRefs { readonly id: FieldRef<"SpamRule", 'String'> readonly userId: FieldRef<"SpamRule", 'String'> readonly isGlobal: FieldRef<"SpamRule", 'Boolean'> readonly ruleType: FieldRef<"SpamRule", 'RuleType'> readonly pattern: FieldRef<"SpamRule", 'String'> readonly action: FieldRef<"SpamRule", 'RuleAction'> readonly priority: FieldRef<"SpamRule", 'Int'> readonly isActive: FieldRef<"SpamRule", 'Boolean'> readonly createdAt: FieldRef<"SpamRule", 'DateTime'> readonly updatedAt: FieldRef<"SpamRule", 'DateTime'> } // Custom InputTypes /** * SpamRule findUnique */ export type SpamRuleFindUniqueArgs = { /** * Select specific fields to fetch from the SpamRule */ select?: SpamRuleSelect | null /** * Choose, which related nodes to fetch as well */ include?: SpamRuleInclude | null /** * Filter, which SpamRule to fetch. */ where: SpamRuleWhereUniqueInput } /** * SpamRule findUniqueOrThrow */ export type SpamRuleFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the SpamRule */ select?: SpamRuleSelect | null /** * Choose, which related nodes to fetch as well */ include?: SpamRuleInclude | null /** * Filter, which SpamRule to fetch. */ where: SpamRuleWhereUniqueInput } /** * SpamRule findFirst */ export type SpamRuleFindFirstArgs = { /** * Select specific fields to fetch from the SpamRule */ select?: SpamRuleSelect | null /** * Choose, which related nodes to fetch as well */ include?: SpamRuleInclude | null /** * Filter, which SpamRule to fetch. */ where?: SpamRuleWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of SpamRules to fetch. */ orderBy?: SpamRuleOrderByWithRelationInput | SpamRuleOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for SpamRules. */ cursor?: SpamRuleWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` SpamRules from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` SpamRules. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of SpamRules. */ distinct?: SpamRuleScalarFieldEnum | SpamRuleScalarFieldEnum[] } /** * SpamRule findFirstOrThrow */ export type SpamRuleFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the SpamRule */ select?: SpamRuleSelect | null /** * Choose, which related nodes to fetch as well */ include?: SpamRuleInclude | null /** * Filter, which SpamRule to fetch. */ where?: SpamRuleWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of SpamRules to fetch. */ orderBy?: SpamRuleOrderByWithRelationInput | SpamRuleOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for SpamRules. */ cursor?: SpamRuleWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` SpamRules from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` SpamRules. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of SpamRules. */ distinct?: SpamRuleScalarFieldEnum | SpamRuleScalarFieldEnum[] } /** * SpamRule findMany */ export type SpamRuleFindManyArgs = { /** * Select specific fields to fetch from the SpamRule */ select?: SpamRuleSelect | null /** * Choose, which related nodes to fetch as well */ include?: SpamRuleInclude | null /** * Filter, which SpamRules to fetch. */ where?: SpamRuleWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of SpamRules to fetch. */ orderBy?: SpamRuleOrderByWithRelationInput | SpamRuleOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing SpamRules. */ cursor?: SpamRuleWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` SpamRules from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` SpamRules. */ skip?: number distinct?: SpamRuleScalarFieldEnum | SpamRuleScalarFieldEnum[] } /** * SpamRule create */ export type SpamRuleCreateArgs = { /** * Select specific fields to fetch from the SpamRule */ select?: SpamRuleSelect | null /** * Choose, which related nodes to fetch as well */ include?: SpamRuleInclude | null /** * The data needed to create a SpamRule. */ data: XOR } /** * SpamRule createMany */ export type SpamRuleCreateManyArgs = { /** * The data used to create many SpamRules. */ data: SpamRuleCreateManyInput | SpamRuleCreateManyInput[] skipDuplicates?: boolean } /** * SpamRule createManyAndReturn */ export type SpamRuleCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the SpamRule */ select?: SpamRuleSelectCreateManyAndReturn | null /** * The data used to create many SpamRules. */ data: SpamRuleCreateManyInput | SpamRuleCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: SpamRuleIncludeCreateManyAndReturn | null } /** * SpamRule update */ export type SpamRuleUpdateArgs = { /** * Select specific fields to fetch from the SpamRule */ select?: SpamRuleSelect | null /** * Choose, which related nodes to fetch as well */ include?: SpamRuleInclude | null /** * The data needed to update a SpamRule. */ data: XOR /** * Choose, which SpamRule to update. */ where: SpamRuleWhereUniqueInput } /** * SpamRule updateMany */ export type SpamRuleUpdateManyArgs = { /** * The data used to update SpamRules. */ data: XOR /** * Filter which SpamRules to update */ where?: SpamRuleWhereInput } /** * SpamRule upsert */ export type SpamRuleUpsertArgs = { /** * Select specific fields to fetch from the SpamRule */ select?: SpamRuleSelect | null /** * Choose, which related nodes to fetch as well */ include?: SpamRuleInclude | null /** * The filter to search for the SpamRule to update in case it exists. */ where: SpamRuleWhereUniqueInput /** * In case the SpamRule found by the `where` argument doesn't exist, create a new SpamRule with this data. */ create: XOR /** * In case the SpamRule was found with the provided `where` argument, update it with this data. */ update: XOR } /** * SpamRule delete */ export type SpamRuleDeleteArgs = { /** * Select specific fields to fetch from the SpamRule */ select?: SpamRuleSelect | null /** * Choose, which related nodes to fetch as well */ include?: SpamRuleInclude | null /** * Filter which SpamRule to delete. */ where: SpamRuleWhereUniqueInput } /** * SpamRule deleteMany */ export type SpamRuleDeleteManyArgs = { /** * Filter which SpamRules to delete */ where?: SpamRuleWhereInput } /** * SpamRule.user */ export type SpamRule$userArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null where?: UserWhereInput } /** * SpamRule without action */ export type SpamRuleDefaultArgs = { /** * Select specific fields to fetch from the SpamRule */ select?: SpamRuleSelect | null /** * Choose, which related nodes to fetch as well */ include?: SpamRuleInclude | null } /** * Model AuditLog */ export type AggregateAuditLog = { _count: AuditLogCountAggregateOutputType | null _min: AuditLogMinAggregateOutputType | null _max: AuditLogMaxAggregateOutputType | null } export type AuditLogMinAggregateOutputType = { id: string | null userId: string | null action: string | null resource: string | null resourceId: string | null ipAddress: string | null userAgent: string | null createdAt: Date | null } export type AuditLogMaxAggregateOutputType = { id: string | null userId: string | null action: string | null resource: string | null resourceId: string | null ipAddress: string | null userAgent: string | null createdAt: Date | null } export type AuditLogCountAggregateOutputType = { id: number userId: number action: number resource: number resourceId: number changes: number metadata: number ipAddress: number userAgent: number createdAt: number _all: number } export type AuditLogMinAggregateInputType = { id?: true userId?: true action?: true resource?: true resourceId?: true ipAddress?: true userAgent?: true createdAt?: true } export type AuditLogMaxAggregateInputType = { id?: true userId?: true action?: true resource?: true resourceId?: true ipAddress?: true userAgent?: true createdAt?: true } export type AuditLogCountAggregateInputType = { id?: true userId?: true action?: true resource?: true resourceId?: true changes?: true metadata?: true ipAddress?: true userAgent?: true createdAt?: true _all?: true } export type AuditLogAggregateArgs = { /** * Filter which AuditLog to aggregate. */ where?: AuditLogWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of AuditLogs to fetch. */ orderBy?: AuditLogOrderByWithRelationInput | AuditLogOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: AuditLogWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` AuditLogs from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` AuditLogs. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned AuditLogs **/ _count?: true | AuditLogCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: AuditLogMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: AuditLogMaxAggregateInputType } export type GetAuditLogAggregateType = { [P in keyof T & keyof AggregateAuditLog]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type AuditLogGroupByArgs = { where?: AuditLogWhereInput orderBy?: AuditLogOrderByWithAggregationInput | AuditLogOrderByWithAggregationInput[] by: AuditLogScalarFieldEnum[] | AuditLogScalarFieldEnum having?: AuditLogScalarWhereWithAggregatesInput take?: number skip?: number _count?: AuditLogCountAggregateInputType | true _min?: AuditLogMinAggregateInputType _max?: AuditLogMaxAggregateInputType } export type AuditLogGroupByOutputType = { id: string userId: string | null action: string resource: string resourceId: string | null changes: JsonValue | null metadata: JsonValue | null ipAddress: string | null userAgent: string | null createdAt: Date _count: AuditLogCountAggregateOutputType | null _min: AuditLogMinAggregateOutputType | null _max: AuditLogMaxAggregateOutputType | null } type GetAuditLogGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof AuditLogGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type AuditLogSelect = $Extensions.GetSelect<{ id?: boolean userId?: boolean action?: boolean resource?: boolean resourceId?: boolean changes?: boolean metadata?: boolean ipAddress?: boolean userAgent?: boolean createdAt?: boolean }, ExtArgs["result"]["auditLog"]> export type AuditLogSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean userId?: boolean action?: boolean resource?: boolean resourceId?: boolean changes?: boolean metadata?: boolean ipAddress?: boolean userAgent?: boolean createdAt?: boolean }, ExtArgs["result"]["auditLog"]> export type AuditLogSelectScalar = { id?: boolean userId?: boolean action?: boolean resource?: boolean resourceId?: boolean changes?: boolean metadata?: boolean ipAddress?: boolean userAgent?: boolean createdAt?: boolean } export type $AuditLogPayload = { name: "AuditLog" objects: {} scalars: $Extensions.GetPayloadResult<{ id: string userId: string | null action: string resource: string resourceId: string | null changes: Prisma.JsonValue | null metadata: Prisma.JsonValue | null ipAddress: string | null userAgent: string | null createdAt: Date }, ExtArgs["result"]["auditLog"]> composites: {} } type AuditLogGetPayload = $Result.GetResult type AuditLogCountArgs = Omit & { select?: AuditLogCountAggregateInputType | true } export interface AuditLogDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['AuditLog'], meta: { name: 'AuditLog' } } /** * Find zero or one AuditLog that matches the filter. * @param {AuditLogFindUniqueArgs} args - Arguments to find a AuditLog * @example * // Get one AuditLog * const auditLog = await prisma.auditLog.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__AuditLogClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one AuditLog that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {AuditLogFindUniqueOrThrowArgs} args - Arguments to find a AuditLog * @example * // Get one AuditLog * const auditLog = await prisma.auditLog.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__AuditLogClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first AuditLog that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AuditLogFindFirstArgs} args - Arguments to find a AuditLog * @example * // Get one AuditLog * const auditLog = await prisma.auditLog.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__AuditLogClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first AuditLog that matches the filter or * throw `PrismaKnownClientError` with `P2025` code if no matches were found. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AuditLogFindFirstOrThrowArgs} args - Arguments to find a AuditLog * @example * // Get one AuditLog * const auditLog = await prisma.auditLog.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__AuditLogClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more AuditLogs that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AuditLogFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all AuditLogs * const auditLogs = await prisma.auditLog.findMany() * * // Get first 10 AuditLogs * const auditLogs = await prisma.auditLog.findMany({ take: 10 }) * * // Only select the `id` * const auditLogWithIdOnly = await prisma.auditLog.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a AuditLog. * @param {AuditLogCreateArgs} args - Arguments to create a AuditLog. * @example * // Create one AuditLog * const AuditLog = await prisma.auditLog.create({ * data: { * // ... data to create a AuditLog * } * }) * */ create(args: SelectSubset>): Prisma__AuditLogClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many AuditLogs. * @param {AuditLogCreateManyArgs} args - Arguments to create many AuditLogs. * @example * // Create many AuditLogs * const auditLog = await prisma.auditLog.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many AuditLogs and returns the data saved in the database. * @param {AuditLogCreateManyAndReturnArgs} args - Arguments to create many AuditLogs. * @example * // Create many AuditLogs * const auditLog = await prisma.auditLog.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many AuditLogs and only return the `id` * const auditLogWithIdOnly = await prisma.auditLog.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a AuditLog. * @param {AuditLogDeleteArgs} args - Arguments to delete one AuditLog. * @example * // Delete one AuditLog * const AuditLog = await prisma.auditLog.delete({ * where: { * // ... filter to delete one AuditLog * } * }) * */ delete(args: SelectSubset>): Prisma__AuditLogClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one AuditLog. * @param {AuditLogUpdateArgs} args - Arguments to update one AuditLog. * @example * // Update one AuditLog * const auditLog = await prisma.auditLog.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__AuditLogClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more AuditLogs. * @param {AuditLogDeleteManyArgs} args - Arguments to filter AuditLogs to delete. * @example * // Delete a few AuditLogs * const { count } = await prisma.auditLog.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more AuditLogs. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AuditLogUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many AuditLogs * const auditLog = await prisma.auditLog.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one AuditLog. * @param {AuditLogUpsertArgs} args - Arguments to update or create a AuditLog. * @example * // Update or create a AuditLog * const auditLog = await prisma.auditLog.upsert({ * create: { * // ... data to create a AuditLog * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the AuditLog we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__AuditLogClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of AuditLogs. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AuditLogCountArgs} args - Arguments to filter AuditLogs to count. * @example * // Count the number of AuditLogs * const count = await prisma.auditLog.count({ * where: { * // ... the filter for the AuditLogs we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a AuditLog. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AuditLogAggregateArgs} args - Select which aggregations you would like to apply and on what fields. * @example * // Ordered by age ascending * // Where email contains prisma.io * // Limited to the 10 users * const aggregations = await prisma.user.aggregate({ * _avg: { * age: true, * }, * where: { * email: { * contains: "prisma.io", * }, * }, * orderBy: { * age: "asc", * }, * take: 10, * }) **/ aggregate(args: Subset): Prisma.PrismaPromise> /** * Group by AuditLog. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AuditLogGroupByArgs} args - Group by arguments. * @example * // Group by city, order by createdAt, get count * const result = await prisma.user.groupBy({ * by: ['city', 'createdAt'], * orderBy: { * createdAt: true * }, * _count: { * _all: true * }, * }) * **/ groupBy< T extends AuditLogGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: AuditLogGroupByArgs['orderBy'] } : { orderBy?: AuditLogGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends False ? { [P in HavingFields]: P extends ByFields ? never : P extends string ? `Error: Field "${P}" used in "having" needs to be provided in "by".` : [ Error, 'Field ', P, ` in "having" needs to be provided in "by"`, ] }[HavingFields] : 'take' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "take", you also need to provide "orderBy"' : 'skip' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "skip", you also need to provide "orderBy"' : ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetAuditLogGroupByPayload : Prisma.PrismaPromise /** * Fields of the AuditLog model */ readonly fields: AuditLogFieldRefs; } /** * The delegate class that acts as a "Promise-like" for AuditLog. * Why is this prefixed with `Prisma__`? * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ export interface Prisma__AuditLogClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the AuditLog model */ interface AuditLogFieldRefs { readonly id: FieldRef<"AuditLog", 'String'> readonly userId: FieldRef<"AuditLog", 'String'> readonly action: FieldRef<"AuditLog", 'String'> readonly resource: FieldRef<"AuditLog", 'String'> readonly resourceId: FieldRef<"AuditLog", 'String'> readonly changes: FieldRef<"AuditLog", 'Json'> readonly metadata: FieldRef<"AuditLog", 'Json'> readonly ipAddress: FieldRef<"AuditLog", 'String'> readonly userAgent: FieldRef<"AuditLog", 'String'> readonly createdAt: FieldRef<"AuditLog", 'DateTime'> } // Custom InputTypes /** * AuditLog findUnique */ export type AuditLogFindUniqueArgs = { /** * Select specific fields to fetch from the AuditLog */ select?: AuditLogSelect | null /** * Filter, which AuditLog to fetch. */ where: AuditLogWhereUniqueInput } /** * AuditLog findUniqueOrThrow */ export type AuditLogFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the AuditLog */ select?: AuditLogSelect | null /** * Filter, which AuditLog to fetch. */ where: AuditLogWhereUniqueInput } /** * AuditLog findFirst */ export type AuditLogFindFirstArgs = { /** * Select specific fields to fetch from the AuditLog */ select?: AuditLogSelect | null /** * Filter, which AuditLog to fetch. */ where?: AuditLogWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of AuditLogs to fetch. */ orderBy?: AuditLogOrderByWithRelationInput | AuditLogOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for AuditLogs. */ cursor?: AuditLogWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` AuditLogs from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` AuditLogs. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of AuditLogs. */ distinct?: AuditLogScalarFieldEnum | AuditLogScalarFieldEnum[] } /** * AuditLog findFirstOrThrow */ export type AuditLogFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the AuditLog */ select?: AuditLogSelect | null /** * Filter, which AuditLog to fetch. */ where?: AuditLogWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of AuditLogs to fetch. */ orderBy?: AuditLogOrderByWithRelationInput | AuditLogOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for AuditLogs. */ cursor?: AuditLogWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` AuditLogs from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` AuditLogs. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of AuditLogs. */ distinct?: AuditLogScalarFieldEnum | AuditLogScalarFieldEnum[] } /** * AuditLog findMany */ export type AuditLogFindManyArgs = { /** * Select specific fields to fetch from the AuditLog */ select?: AuditLogSelect | null /** * Filter, which AuditLogs to fetch. */ where?: AuditLogWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of AuditLogs to fetch. */ orderBy?: AuditLogOrderByWithRelationInput | AuditLogOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing AuditLogs. */ cursor?: AuditLogWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` AuditLogs from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` AuditLogs. */ skip?: number distinct?: AuditLogScalarFieldEnum | AuditLogScalarFieldEnum[] } /** * AuditLog create */ export type AuditLogCreateArgs = { /** * Select specific fields to fetch from the AuditLog */ select?: AuditLogSelect | null /** * The data needed to create a AuditLog. */ data: XOR } /** * AuditLog createMany */ export type AuditLogCreateManyArgs = { /** * The data used to create many AuditLogs. */ data: AuditLogCreateManyInput | AuditLogCreateManyInput[] skipDuplicates?: boolean } /** * AuditLog createManyAndReturn */ export type AuditLogCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the AuditLog */ select?: AuditLogSelectCreateManyAndReturn | null /** * The data used to create many AuditLogs. */ data: AuditLogCreateManyInput | AuditLogCreateManyInput[] skipDuplicates?: boolean } /** * AuditLog update */ export type AuditLogUpdateArgs = { /** * Select specific fields to fetch from the AuditLog */ select?: AuditLogSelect | null /** * The data needed to update a AuditLog. */ data: XOR /** * Choose, which AuditLog to update. */ where: AuditLogWhereUniqueInput } /** * AuditLog updateMany */ export type AuditLogUpdateManyArgs = { /** * The data used to update AuditLogs. */ data: XOR /** * Filter which AuditLogs to update */ where?: AuditLogWhereInput } /** * AuditLog upsert */ export type AuditLogUpsertArgs = { /** * Select specific fields to fetch from the AuditLog */ select?: AuditLogSelect | null /** * The filter to search for the AuditLog to update in case it exists. */ where: AuditLogWhereUniqueInput /** * In case the AuditLog found by the `where` argument doesn't exist, create a new AuditLog with this data. */ create: XOR /** * In case the AuditLog was found with the provided `where` argument, update it with this data. */ update: XOR } /** * AuditLog delete */ export type AuditLogDeleteArgs = { /** * Select specific fields to fetch from the AuditLog */ select?: AuditLogSelect | null /** * Filter which AuditLog to delete. */ where: AuditLogWhereUniqueInput } /** * AuditLog deleteMany */ export type AuditLogDeleteManyArgs = { /** * Filter which AuditLogs to delete */ where?: AuditLogWhereInput } /** * AuditLog without action */ export type AuditLogDefaultArgs = { /** * Select specific fields to fetch from the AuditLog */ select?: AuditLogSelect | null } /** * Model KPISnapshot */ export type AggregateKPISnapshot = { _count: KPISnapshotCountAggregateOutputType | null _avg: KPISnapshotAvgAggregateOutputType | null _sum: KPISnapshotSumAggregateOutputType | null _min: KPISnapshotMinAggregateOutputType | null _max: KPISnapshotMaxAggregateOutputType | null } export type KPISnapshotAvgAggregateOutputType = { metricValue: number | null } export type KPISnapshotSumAggregateOutputType = { metricValue: number | null } export type KPISnapshotMinAggregateOutputType = { id: string | null date: Date | null metricName: string | null metricValue: number | null createdAt: Date | null } export type KPISnapshotMaxAggregateOutputType = { id: string | null date: Date | null metricName: string | null metricValue: number | null createdAt: Date | null } export type KPISnapshotCountAggregateOutputType = { id: number date: number metricName: number metricValue: number metadata: number createdAt: number _all: number } export type KPISnapshotAvgAggregateInputType = { metricValue?: true } export type KPISnapshotSumAggregateInputType = { metricValue?: true } export type KPISnapshotMinAggregateInputType = { id?: true date?: true metricName?: true metricValue?: true createdAt?: true } export type KPISnapshotMaxAggregateInputType = { id?: true date?: true metricName?: true metricValue?: true createdAt?: true } export type KPISnapshotCountAggregateInputType = { id?: true date?: true metricName?: true metricValue?: true metadata?: true createdAt?: true _all?: true } export type KPISnapshotAggregateArgs = { /** * Filter which KPISnapshot to aggregate. */ where?: KPISnapshotWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of KPISnapshots to fetch. */ orderBy?: KPISnapshotOrderByWithRelationInput | KPISnapshotOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: KPISnapshotWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` KPISnapshots from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` KPISnapshots. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned KPISnapshots **/ _count?: true | KPISnapshotCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: KPISnapshotAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: KPISnapshotSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: KPISnapshotMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: KPISnapshotMaxAggregateInputType } export type GetKPISnapshotAggregateType = { [P in keyof T & keyof AggregateKPISnapshot]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type KPISnapshotGroupByArgs = { where?: KPISnapshotWhereInput orderBy?: KPISnapshotOrderByWithAggregationInput | KPISnapshotOrderByWithAggregationInput[] by: KPISnapshotScalarFieldEnum[] | KPISnapshotScalarFieldEnum having?: KPISnapshotScalarWhereWithAggregatesInput take?: number skip?: number _count?: KPISnapshotCountAggregateInputType | true _avg?: KPISnapshotAvgAggregateInputType _sum?: KPISnapshotSumAggregateInputType _min?: KPISnapshotMinAggregateInputType _max?: KPISnapshotMaxAggregateInputType } export type KPISnapshotGroupByOutputType = { id: string date: Date metricName: string metricValue: number metadata: JsonValue | null createdAt: Date _count: KPISnapshotCountAggregateOutputType | null _avg: KPISnapshotAvgAggregateOutputType | null _sum: KPISnapshotSumAggregateOutputType | null _min: KPISnapshotMinAggregateOutputType | null _max: KPISnapshotMaxAggregateOutputType | null } type GetKPISnapshotGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof KPISnapshotGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type KPISnapshotSelect = $Extensions.GetSelect<{ id?: boolean date?: boolean metricName?: boolean metricValue?: boolean metadata?: boolean createdAt?: boolean }, ExtArgs["result"]["kPISnapshot"]> export type KPISnapshotSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean date?: boolean metricName?: boolean metricValue?: boolean metadata?: boolean createdAt?: boolean }, ExtArgs["result"]["kPISnapshot"]> export type KPISnapshotSelectScalar = { id?: boolean date?: boolean metricName?: boolean metricValue?: boolean metadata?: boolean createdAt?: boolean } export type $KPISnapshotPayload = { name: "KPISnapshot" objects: {} scalars: $Extensions.GetPayloadResult<{ id: string date: Date metricName: string metricValue: number metadata: Prisma.JsonValue | null createdAt: Date }, ExtArgs["result"]["kPISnapshot"]> composites: {} } type KPISnapshotGetPayload = $Result.GetResult type KPISnapshotCountArgs = Omit & { select?: KPISnapshotCountAggregateInputType | true } export interface KPISnapshotDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['KPISnapshot'], meta: { name: 'KPISnapshot' } } /** * Find zero or one KPISnapshot that matches the filter. * @param {KPISnapshotFindUniqueArgs} args - Arguments to find a KPISnapshot * @example * // Get one KPISnapshot * const kPISnapshot = await prisma.kPISnapshot.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__KPISnapshotClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one KPISnapshot that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {KPISnapshotFindUniqueOrThrowArgs} args - Arguments to find a KPISnapshot * @example * // Get one KPISnapshot * const kPISnapshot = await prisma.kPISnapshot.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__KPISnapshotClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first KPISnapshot that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {KPISnapshotFindFirstArgs} args - Arguments to find a KPISnapshot * @example * // Get one KPISnapshot * const kPISnapshot = await prisma.kPISnapshot.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__KPISnapshotClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first KPISnapshot that matches the filter or * throw `PrismaKnownClientError` with `P2025` code if no matches were found. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {KPISnapshotFindFirstOrThrowArgs} args - Arguments to find a KPISnapshot * @example * // Get one KPISnapshot * const kPISnapshot = await prisma.kPISnapshot.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__KPISnapshotClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more KPISnapshots that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {KPISnapshotFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all KPISnapshots * const kPISnapshots = await prisma.kPISnapshot.findMany() * * // Get first 10 KPISnapshots * const kPISnapshots = await prisma.kPISnapshot.findMany({ take: 10 }) * * // Only select the `id` * const kPISnapshotWithIdOnly = await prisma.kPISnapshot.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a KPISnapshot. * @param {KPISnapshotCreateArgs} args - Arguments to create a KPISnapshot. * @example * // Create one KPISnapshot * const KPISnapshot = await prisma.kPISnapshot.create({ * data: { * // ... data to create a KPISnapshot * } * }) * */ create(args: SelectSubset>): Prisma__KPISnapshotClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many KPISnapshots. * @param {KPISnapshotCreateManyArgs} args - Arguments to create many KPISnapshots. * @example * // Create many KPISnapshots * const kPISnapshot = await prisma.kPISnapshot.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many KPISnapshots and returns the data saved in the database. * @param {KPISnapshotCreateManyAndReturnArgs} args - Arguments to create many KPISnapshots. * @example * // Create many KPISnapshots * const kPISnapshot = await prisma.kPISnapshot.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many KPISnapshots and only return the `id` * const kPISnapshotWithIdOnly = await prisma.kPISnapshot.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a KPISnapshot. * @param {KPISnapshotDeleteArgs} args - Arguments to delete one KPISnapshot. * @example * // Delete one KPISnapshot * const KPISnapshot = await prisma.kPISnapshot.delete({ * where: { * // ... filter to delete one KPISnapshot * } * }) * */ delete(args: SelectSubset>): Prisma__KPISnapshotClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one KPISnapshot. * @param {KPISnapshotUpdateArgs} args - Arguments to update one KPISnapshot. * @example * // Update one KPISnapshot * const kPISnapshot = await prisma.kPISnapshot.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__KPISnapshotClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more KPISnapshots. * @param {KPISnapshotDeleteManyArgs} args - Arguments to filter KPISnapshots to delete. * @example * // Delete a few KPISnapshots * const { count } = await prisma.kPISnapshot.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more KPISnapshots. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {KPISnapshotUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many KPISnapshots * const kPISnapshot = await prisma.kPISnapshot.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one KPISnapshot. * @param {KPISnapshotUpsertArgs} args - Arguments to update or create a KPISnapshot. * @example * // Update or create a KPISnapshot * const kPISnapshot = await prisma.kPISnapshot.upsert({ * create: { * // ... data to create a KPISnapshot * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the KPISnapshot we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__KPISnapshotClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of KPISnapshots. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {KPISnapshotCountArgs} args - Arguments to filter KPISnapshots to count. * @example * // Count the number of KPISnapshots * const count = await prisma.kPISnapshot.count({ * where: { * // ... the filter for the KPISnapshots we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a KPISnapshot. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {KPISnapshotAggregateArgs} args - Select which aggregations you would like to apply and on what fields. * @example * // Ordered by age ascending * // Where email contains prisma.io * // Limited to the 10 users * const aggregations = await prisma.user.aggregate({ * _avg: { * age: true, * }, * where: { * email: { * contains: "prisma.io", * }, * }, * orderBy: { * age: "asc", * }, * take: 10, * }) **/ aggregate(args: Subset): Prisma.PrismaPromise> /** * Group by KPISnapshot. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {KPISnapshotGroupByArgs} args - Group by arguments. * @example * // Group by city, order by createdAt, get count * const result = await prisma.user.groupBy({ * by: ['city', 'createdAt'], * orderBy: { * createdAt: true * }, * _count: { * _all: true * }, * }) * **/ groupBy< T extends KPISnapshotGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: KPISnapshotGroupByArgs['orderBy'] } : { orderBy?: KPISnapshotGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends False ? { [P in HavingFields]: P extends ByFields ? never : P extends string ? `Error: Field "${P}" used in "having" needs to be provided in "by".` : [ Error, 'Field ', P, ` in "having" needs to be provided in "by"`, ] }[HavingFields] : 'take' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "take", you also need to provide "orderBy"' : 'skip' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "skip", you also need to provide "orderBy"' : ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetKPISnapshotGroupByPayload : Prisma.PrismaPromise /** * Fields of the KPISnapshot model */ readonly fields: KPISnapshotFieldRefs; } /** * The delegate class that acts as a "Promise-like" for KPISnapshot. * Why is this prefixed with `Prisma__`? * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ export interface Prisma__KPISnapshotClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the KPISnapshot model */ interface KPISnapshotFieldRefs { readonly id: FieldRef<"KPISnapshot", 'String'> readonly date: FieldRef<"KPISnapshot", 'DateTime'> readonly metricName: FieldRef<"KPISnapshot", 'String'> readonly metricValue: FieldRef<"KPISnapshot", 'Float'> readonly metadata: FieldRef<"KPISnapshot", 'Json'> readonly createdAt: FieldRef<"KPISnapshot", 'DateTime'> } // Custom InputTypes /** * KPISnapshot findUnique */ export type KPISnapshotFindUniqueArgs = { /** * Select specific fields to fetch from the KPISnapshot */ select?: KPISnapshotSelect | null /** * Filter, which KPISnapshot to fetch. */ where: KPISnapshotWhereUniqueInput } /** * KPISnapshot findUniqueOrThrow */ export type KPISnapshotFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the KPISnapshot */ select?: KPISnapshotSelect | null /** * Filter, which KPISnapshot to fetch. */ where: KPISnapshotWhereUniqueInput } /** * KPISnapshot findFirst */ export type KPISnapshotFindFirstArgs = { /** * Select specific fields to fetch from the KPISnapshot */ select?: KPISnapshotSelect | null /** * Filter, which KPISnapshot to fetch. */ where?: KPISnapshotWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of KPISnapshots to fetch. */ orderBy?: KPISnapshotOrderByWithRelationInput | KPISnapshotOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for KPISnapshots. */ cursor?: KPISnapshotWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` KPISnapshots from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` KPISnapshots. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of KPISnapshots. */ distinct?: KPISnapshotScalarFieldEnum | KPISnapshotScalarFieldEnum[] } /** * KPISnapshot findFirstOrThrow */ export type KPISnapshotFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the KPISnapshot */ select?: KPISnapshotSelect | null /** * Filter, which KPISnapshot to fetch. */ where?: KPISnapshotWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of KPISnapshots to fetch. */ orderBy?: KPISnapshotOrderByWithRelationInput | KPISnapshotOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for KPISnapshots. */ cursor?: KPISnapshotWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` KPISnapshots from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` KPISnapshots. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of KPISnapshots. */ distinct?: KPISnapshotScalarFieldEnum | KPISnapshotScalarFieldEnum[] } /** * KPISnapshot findMany */ export type KPISnapshotFindManyArgs = { /** * Select specific fields to fetch from the KPISnapshot */ select?: KPISnapshotSelect | null /** * Filter, which KPISnapshots to fetch. */ where?: KPISnapshotWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of KPISnapshots to fetch. */ orderBy?: KPISnapshotOrderByWithRelationInput | KPISnapshotOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing KPISnapshots. */ cursor?: KPISnapshotWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` KPISnapshots from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` KPISnapshots. */ skip?: number distinct?: KPISnapshotScalarFieldEnum | KPISnapshotScalarFieldEnum[] } /** * KPISnapshot create */ export type KPISnapshotCreateArgs = { /** * Select specific fields to fetch from the KPISnapshot */ select?: KPISnapshotSelect | null /** * The data needed to create a KPISnapshot. */ data: XOR } /** * KPISnapshot createMany */ export type KPISnapshotCreateManyArgs = { /** * The data used to create many KPISnapshots. */ data: KPISnapshotCreateManyInput | KPISnapshotCreateManyInput[] skipDuplicates?: boolean } /** * KPISnapshot createManyAndReturn */ export type KPISnapshotCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the KPISnapshot */ select?: KPISnapshotSelectCreateManyAndReturn | null /** * The data used to create many KPISnapshots. */ data: KPISnapshotCreateManyInput | KPISnapshotCreateManyInput[] skipDuplicates?: boolean } /** * KPISnapshot update */ export type KPISnapshotUpdateArgs = { /** * Select specific fields to fetch from the KPISnapshot */ select?: KPISnapshotSelect | null /** * The data needed to update a KPISnapshot. */ data: XOR /** * Choose, which KPISnapshot to update. */ where: KPISnapshotWhereUniqueInput } /** * KPISnapshot updateMany */ export type KPISnapshotUpdateManyArgs = { /** * The data used to update KPISnapshots. */ data: XOR /** * Filter which KPISnapshots to update */ where?: KPISnapshotWhereInput } /** * KPISnapshot upsert */ export type KPISnapshotUpsertArgs = { /** * Select specific fields to fetch from the KPISnapshot */ select?: KPISnapshotSelect | null /** * The filter to search for the KPISnapshot to update in case it exists. */ where: KPISnapshotWhereUniqueInput /** * In case the KPISnapshot found by the `where` argument doesn't exist, create a new KPISnapshot with this data. */ create: XOR /** * In case the KPISnapshot was found with the provided `where` argument, update it with this data. */ update: XOR } /** * KPISnapshot delete */ export type KPISnapshotDeleteArgs = { /** * Select specific fields to fetch from the KPISnapshot */ select?: KPISnapshotSelect | null /** * Filter which KPISnapshot to delete. */ where: KPISnapshotWhereUniqueInput } /** * KPISnapshot deleteMany */ export type KPISnapshotDeleteManyArgs = { /** * Filter which KPISnapshots to delete */ where?: KPISnapshotWhereInput } /** * KPISnapshot without action */ export type KPISnapshotDefaultArgs = { /** * Select specific fields to fetch from the KPISnapshot */ select?: KPISnapshotSelect | null } /** * Enums */ export const TransactionIsolationLevel: { ReadUncommitted: 'ReadUncommitted', ReadCommitted: 'ReadCommitted', RepeatableRead: 'RepeatableRead', Serializable: 'Serializable' }; export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel] export const UserScalarFieldEnum: { id: 'id', email: 'email', emailVerified: 'emailVerified', name: 'name', image: 'image', role: 'role', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum] export const AccountScalarFieldEnum: { id: 'id', userId: 'userId', provider: 'provider', providerAccountId: 'providerAccountId', access_token: 'access_token', refresh_token: 'refresh_token', expires_at: 'expires_at', token_type: 'token_type', scope: 'scope', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type AccountScalarFieldEnum = (typeof AccountScalarFieldEnum)[keyof typeof AccountScalarFieldEnum] export const SessionScalarFieldEnum: { id: 'id', userId: 'userId', sessionToken: 'sessionToken', expires: 'expires', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type SessionScalarFieldEnum = (typeof SessionScalarFieldEnum)[keyof typeof SessionScalarFieldEnum] export const FamilyGroupScalarFieldEnum: { id: 'id', name: 'name', ownerId: 'ownerId', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type FamilyGroupScalarFieldEnum = (typeof FamilyGroupScalarFieldEnum)[keyof typeof FamilyGroupScalarFieldEnum] export const FamilyGroupMemberScalarFieldEnum: { id: 'id', groupId: 'groupId', userId: 'userId', role: 'role', joinedAt: 'joinedAt', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type FamilyGroupMemberScalarFieldEnum = (typeof FamilyGroupMemberScalarFieldEnum)[keyof typeof FamilyGroupMemberScalarFieldEnum] export const SubscriptionScalarFieldEnum: { id: 'id', userId: 'userId', familyGroupId: 'familyGroupId', stripeId: 'stripeId', tier: 'tier', status: 'status', currentPeriodStart: 'currentPeriodStart', currentPeriodEnd: 'currentPeriodEnd', cancelAtPeriodEnd: 'cancelAtPeriodEnd', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type SubscriptionScalarFieldEnum = (typeof SubscriptionScalarFieldEnum)[keyof typeof SubscriptionScalarFieldEnum] export const WatchlistItemScalarFieldEnum: { id: 'id', subscriptionId: 'subscriptionId', type: 'type', value: 'value', hash: 'hash', isActive: 'isActive', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type WatchlistItemScalarFieldEnum = (typeof WatchlistItemScalarFieldEnum)[keyof typeof WatchlistItemScalarFieldEnum] export const ExposureScalarFieldEnum: { id: 'id', subscriptionId: 'subscriptionId', watchlistItemId: 'watchlistItemId', source: 'source', dataType: 'dataType', identifier: 'identifier', identifierHash: 'identifierHash', severity: 'severity', metadata: 'metadata', isFirstTime: 'isFirstTime', detectedAt: 'detectedAt', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type ExposureScalarFieldEnum = (typeof ExposureScalarFieldEnum)[keyof typeof ExposureScalarFieldEnum] export const AlertScalarFieldEnum: { id: 'id', subscriptionId: 'subscriptionId', userId: 'userId', exposureId: 'exposureId', type: 'type', title: 'title', message: 'message', severity: 'severity', isRead: 'isRead', readAt: 'readAt', channel: 'channel', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type AlertScalarFieldEnum = (typeof AlertScalarFieldEnum)[keyof typeof AlertScalarFieldEnum] export const VoiceEnrollmentScalarFieldEnum: { id: 'id', userId: 'userId', name: 'name', voiceHash: 'voiceHash', audioMetadata: 'audioMetadata', isActive: 'isActive', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type VoiceEnrollmentScalarFieldEnum = (typeof VoiceEnrollmentScalarFieldEnum)[keyof typeof VoiceEnrollmentScalarFieldEnum] export const VoiceAnalysisScalarFieldEnum: { id: 'id', enrollmentId: 'enrollmentId', userId: 'userId', audioHash: 'audioHash', isSynthetic: 'isSynthetic', confidence: 'confidence', analysisResult: 'analysisResult', audioUrl: 'audioUrl', createdAt: 'createdAt' }; export type VoiceAnalysisScalarFieldEnum = (typeof VoiceAnalysisScalarFieldEnum)[keyof typeof VoiceAnalysisScalarFieldEnum] export const SpamFeedbackScalarFieldEnum: { id: 'id', userId: 'userId', phoneNumber: 'phoneNumber', phoneNumberHash: 'phoneNumberHash', isSpam: 'isSpam', confidence: 'confidence', feedbackType: 'feedbackType', metadata: 'metadata', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type SpamFeedbackScalarFieldEnum = (typeof SpamFeedbackScalarFieldEnum)[keyof typeof SpamFeedbackScalarFieldEnum] export const SpamRuleScalarFieldEnum: { id: 'id', userId: 'userId', isGlobal: 'isGlobal', ruleType: 'ruleType', pattern: 'pattern', action: 'action', priority: 'priority', isActive: 'isActive', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type SpamRuleScalarFieldEnum = (typeof SpamRuleScalarFieldEnum)[keyof typeof SpamRuleScalarFieldEnum] export const AuditLogScalarFieldEnum: { id: 'id', userId: 'userId', action: 'action', resource: 'resource', resourceId: 'resourceId', changes: 'changes', metadata: 'metadata', ipAddress: 'ipAddress', userAgent: 'userAgent', createdAt: 'createdAt' }; export type AuditLogScalarFieldEnum = (typeof AuditLogScalarFieldEnum)[keyof typeof AuditLogScalarFieldEnum] export const KPISnapshotScalarFieldEnum: { id: 'id', date: 'date', metricName: 'metricName', metricValue: 'metricValue', metadata: 'metadata', createdAt: 'createdAt' }; export type KPISnapshotScalarFieldEnum = (typeof KPISnapshotScalarFieldEnum)[keyof typeof KPISnapshotScalarFieldEnum] export const SortOrder: { asc: 'asc', desc: 'desc' }; export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder] export const NullableJsonNullValueInput: { DbNull: typeof DbNull, JsonNull: typeof JsonNull }; export type NullableJsonNullValueInput = (typeof NullableJsonNullValueInput)[keyof typeof NullableJsonNullValueInput] export const JsonNullValueInput: { JsonNull: typeof JsonNull }; export type JsonNullValueInput = (typeof JsonNullValueInput)[keyof typeof JsonNullValueInput] export const QueryMode: { default: 'default', insensitive: 'insensitive' }; export type QueryMode = (typeof QueryMode)[keyof typeof QueryMode] export const NullsOrder: { first: 'first', last: 'last' }; export type NullsOrder = (typeof NullsOrder)[keyof typeof NullsOrder] export const JsonNullValueFilter: { DbNull: typeof DbNull, JsonNull: typeof JsonNull, AnyNull: typeof AnyNull }; 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 '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 'UserRole' */ export type EnumUserRoleFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'UserRole'> /** * Reference to a field of type 'UserRole[]' */ export type ListEnumUserRoleFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'UserRole[]'> /** * 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 'FamilyMemberRole' */ export type EnumFamilyMemberRoleFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'FamilyMemberRole'> /** * Reference to a field of type 'FamilyMemberRole[]' */ export type ListEnumFamilyMemberRoleFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'FamilyMemberRole[]'> /** * Reference to a field of type 'SubscriptionTier' */ export type EnumSubscriptionTierFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'SubscriptionTier'> /** * Reference to a field of type 'SubscriptionTier[]' */ export type ListEnumSubscriptionTierFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'SubscriptionTier[]'> /** * Reference to a field of type 'SubscriptionStatus' */ export type EnumSubscriptionStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'SubscriptionStatus'> /** * Reference to a field of type 'SubscriptionStatus[]' */ export type ListEnumSubscriptionStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'SubscriptionStatus[]'> /** * Reference to a field of type 'Boolean' */ export type BooleanFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Boolean'> /** * Reference to a field of type 'WatchlistType' */ export type EnumWatchlistTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'WatchlistType'> /** * Reference to a field of type 'WatchlistType[]' */ export type ListEnumWatchlistTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'WatchlistType[]'> /** * Reference to a field of type 'ExposureSource' */ export type EnumExposureSourceFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'ExposureSource'> /** * Reference to a field of type 'ExposureSource[]' */ export type ListEnumExposureSourceFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'ExposureSource[]'> /** * Reference to a field of type 'ExposureSeverity' */ export type EnumExposureSeverityFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'ExposureSeverity'> /** * Reference to a field of type 'ExposureSeverity[]' */ export type ListEnumExposureSeverityFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'ExposureSeverity[]'> /** * Reference to a field of type 'Json' */ export type JsonFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Json'> /** * Reference to a field of type 'AlertType' */ export type EnumAlertTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'AlertType'> /** * Reference to a field of type 'AlertType[]' */ export type ListEnumAlertTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'AlertType[]'> /** * Reference to a field of type 'AlertSeverity' */ export type EnumAlertSeverityFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'AlertSeverity'> /** * Reference to a field of type 'AlertSeverity[]' */ export type ListEnumAlertSeverityFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'AlertSeverity[]'> /** * Reference to a field of type 'AlertChannel[]' */ export type ListEnumAlertChannelFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'AlertChannel[]'> /** * Reference to a field of type 'AlertChannel' */ export type EnumAlertChannelFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'AlertChannel'> /** * 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 'FeedbackType' */ export type EnumFeedbackTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'FeedbackType'> /** * Reference to a field of type 'FeedbackType[]' */ export type ListEnumFeedbackTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'FeedbackType[]'> /** * Reference to a field of type 'RuleType' */ export type EnumRuleTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'RuleType'> /** * Reference to a field of type 'RuleType[]' */ export type ListEnumRuleTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'RuleType[]'> /** * Reference to a field of type 'RuleAction' */ export type EnumRuleActionFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'RuleAction'> /** * Reference to a field of type 'RuleAction[]' */ export type ListEnumRuleActionFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'RuleAction[]'> /** * Deep Input Types */ export type UserWhereInput = { AND?: UserWhereInput | UserWhereInput[] OR?: UserWhereInput[] NOT?: UserWhereInput | UserWhereInput[] id?: StringFilter<"User"> | string email?: StringFilter<"User"> | string emailVerified?: DateTimeNullableFilter<"User"> | Date | string | null name?: StringNullableFilter<"User"> | string | null image?: StringNullableFilter<"User"> | string | null role?: EnumUserRoleFilter<"User"> | $Enums.UserRole createdAt?: DateTimeFilter<"User"> | Date | string updatedAt?: DateTimeFilter<"User"> | Date | string accounts?: AccountListRelationFilter sessions?: SessionListRelationFilter familyGroups?: FamilyGroupMemberListRelationFilter familyGroupOwned?: FamilyGroupListRelationFilter subscriptions?: SubscriptionListRelationFilter alerts?: AlertListRelationFilter voiceEnrollments?: VoiceEnrollmentListRelationFilter voiceAnalyses?: VoiceAnalysisListRelationFilter spamFeedback?: SpamFeedbackListRelationFilter spamRules?: SpamRuleListRelationFilter } export type UserOrderByWithRelationInput = { id?: SortOrder email?: SortOrder emailVerified?: SortOrderInput | SortOrder name?: SortOrderInput | SortOrder image?: SortOrderInput | SortOrder role?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder accounts?: AccountOrderByRelationAggregateInput sessions?: SessionOrderByRelationAggregateInput familyGroups?: FamilyGroupMemberOrderByRelationAggregateInput familyGroupOwned?: FamilyGroupOrderByRelationAggregateInput subscriptions?: SubscriptionOrderByRelationAggregateInput alerts?: AlertOrderByRelationAggregateInput voiceEnrollments?: VoiceEnrollmentOrderByRelationAggregateInput voiceAnalyses?: VoiceAnalysisOrderByRelationAggregateInput spamFeedback?: SpamFeedbackOrderByRelationAggregateInput spamRules?: SpamRuleOrderByRelationAggregateInput } export type UserWhereUniqueInput = Prisma.AtLeast<{ id?: string email?: string AND?: UserWhereInput | UserWhereInput[] OR?: UserWhereInput[] NOT?: UserWhereInput | UserWhereInput[] emailVerified?: DateTimeNullableFilter<"User"> | Date | string | null name?: StringNullableFilter<"User"> | string | null image?: StringNullableFilter<"User"> | string | null role?: EnumUserRoleFilter<"User"> | $Enums.UserRole createdAt?: DateTimeFilter<"User"> | Date | string updatedAt?: DateTimeFilter<"User"> | Date | string accounts?: AccountListRelationFilter sessions?: SessionListRelationFilter familyGroups?: FamilyGroupMemberListRelationFilter familyGroupOwned?: FamilyGroupListRelationFilter subscriptions?: SubscriptionListRelationFilter alerts?: AlertListRelationFilter voiceEnrollments?: VoiceEnrollmentListRelationFilter voiceAnalyses?: VoiceAnalysisListRelationFilter spamFeedback?: SpamFeedbackListRelationFilter spamRules?: SpamRuleListRelationFilter }, "id" | "email"> export type UserOrderByWithAggregationInput = { id?: SortOrder email?: SortOrder emailVerified?: SortOrderInput | SortOrder name?: SortOrderInput | SortOrder image?: SortOrderInput | SortOrder role?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: UserCountOrderByAggregateInput _max?: UserMaxOrderByAggregateInput _min?: UserMinOrderByAggregateInput } export type UserScalarWhereWithAggregatesInput = { AND?: UserScalarWhereWithAggregatesInput | UserScalarWhereWithAggregatesInput[] OR?: UserScalarWhereWithAggregatesInput[] NOT?: UserScalarWhereWithAggregatesInput | UserScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"User"> | string email?: StringWithAggregatesFilter<"User"> | string emailVerified?: DateTimeNullableWithAggregatesFilter<"User"> | Date | string | null name?: StringNullableWithAggregatesFilter<"User"> | string | null image?: StringNullableWithAggregatesFilter<"User"> | string | null role?: EnumUserRoleWithAggregatesFilter<"User"> | $Enums.UserRole createdAt?: DateTimeWithAggregatesFilter<"User"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"User"> | Date | string } export type AccountWhereInput = { AND?: AccountWhereInput | AccountWhereInput[] OR?: AccountWhereInput[] NOT?: AccountWhereInput | AccountWhereInput[] id?: StringFilter<"Account"> | string userId?: StringFilter<"Account"> | string provider?: StringFilter<"Account"> | string providerAccountId?: StringFilter<"Account"> | string access_token?: StringNullableFilter<"Account"> | string | null refresh_token?: StringNullableFilter<"Account"> | string | null expires_at?: IntNullableFilter<"Account"> | number | null token_type?: StringNullableFilter<"Account"> | string | null scope?: StringNullableFilter<"Account"> | string | null createdAt?: DateTimeFilter<"Account"> | Date | string updatedAt?: DateTimeFilter<"Account"> | Date | string user?: XOR } export type AccountOrderByWithRelationInput = { id?: SortOrder userId?: SortOrder provider?: SortOrder providerAccountId?: SortOrder access_token?: SortOrderInput | SortOrder refresh_token?: SortOrderInput | SortOrder expires_at?: SortOrderInput | SortOrder token_type?: SortOrderInput | SortOrder scope?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder user?: UserOrderByWithRelationInput } export type AccountWhereUniqueInput = Prisma.AtLeast<{ id?: string userId_provider_providerAccountId?: AccountUserIdProviderProviderAccountIdCompoundUniqueInput AND?: AccountWhereInput | AccountWhereInput[] OR?: AccountWhereInput[] NOT?: AccountWhereInput | AccountWhereInput[] userId?: StringFilter<"Account"> | string provider?: StringFilter<"Account"> | string providerAccountId?: StringFilter<"Account"> | string access_token?: StringNullableFilter<"Account"> | string | null refresh_token?: StringNullableFilter<"Account"> | string | null expires_at?: IntNullableFilter<"Account"> | number | null token_type?: StringNullableFilter<"Account"> | string | null scope?: StringNullableFilter<"Account"> | string | null createdAt?: DateTimeFilter<"Account"> | Date | string updatedAt?: DateTimeFilter<"Account"> | Date | string user?: XOR }, "id" | "userId_provider_providerAccountId"> export type AccountOrderByWithAggregationInput = { id?: SortOrder userId?: SortOrder provider?: SortOrder providerAccountId?: SortOrder access_token?: SortOrderInput | SortOrder refresh_token?: SortOrderInput | SortOrder expires_at?: SortOrderInput | SortOrder token_type?: SortOrderInput | SortOrder scope?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: AccountCountOrderByAggregateInput _avg?: AccountAvgOrderByAggregateInput _max?: AccountMaxOrderByAggregateInput _min?: AccountMinOrderByAggregateInput _sum?: AccountSumOrderByAggregateInput } export type AccountScalarWhereWithAggregatesInput = { AND?: AccountScalarWhereWithAggregatesInput | AccountScalarWhereWithAggregatesInput[] OR?: AccountScalarWhereWithAggregatesInput[] NOT?: AccountScalarWhereWithAggregatesInput | AccountScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Account"> | string userId?: StringWithAggregatesFilter<"Account"> | string provider?: StringWithAggregatesFilter<"Account"> | string providerAccountId?: StringWithAggregatesFilter<"Account"> | string access_token?: StringNullableWithAggregatesFilter<"Account"> | string | null refresh_token?: StringNullableWithAggregatesFilter<"Account"> | string | null expires_at?: IntNullableWithAggregatesFilter<"Account"> | number | null token_type?: StringNullableWithAggregatesFilter<"Account"> | string | null scope?: StringNullableWithAggregatesFilter<"Account"> | string | null createdAt?: DateTimeWithAggregatesFilter<"Account"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"Account"> | Date | string } export type SessionWhereInput = { AND?: SessionWhereInput | SessionWhereInput[] OR?: SessionWhereInput[] NOT?: SessionWhereInput | SessionWhereInput[] id?: StringFilter<"Session"> | string userId?: StringFilter<"Session"> | string sessionToken?: StringFilter<"Session"> | string expires?: DateTimeFilter<"Session"> | Date | string createdAt?: DateTimeFilter<"Session"> | Date | string updatedAt?: DateTimeFilter<"Session"> | Date | string user?: XOR } export type SessionOrderByWithRelationInput = { id?: SortOrder userId?: SortOrder sessionToken?: SortOrder expires?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder user?: UserOrderByWithRelationInput } export type SessionWhereUniqueInput = Prisma.AtLeast<{ id?: string sessionToken?: string AND?: SessionWhereInput | SessionWhereInput[] OR?: SessionWhereInput[] NOT?: SessionWhereInput | SessionWhereInput[] userId?: StringFilter<"Session"> | string expires?: DateTimeFilter<"Session"> | Date | string createdAt?: DateTimeFilter<"Session"> | Date | string updatedAt?: DateTimeFilter<"Session"> | Date | string user?: XOR }, "id" | "sessionToken"> export type SessionOrderByWithAggregationInput = { id?: SortOrder userId?: SortOrder sessionToken?: SortOrder expires?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: SessionCountOrderByAggregateInput _max?: SessionMaxOrderByAggregateInput _min?: SessionMinOrderByAggregateInput } export type SessionScalarWhereWithAggregatesInput = { AND?: SessionScalarWhereWithAggregatesInput | SessionScalarWhereWithAggregatesInput[] OR?: SessionScalarWhereWithAggregatesInput[] NOT?: SessionScalarWhereWithAggregatesInput | SessionScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Session"> | string userId?: StringWithAggregatesFilter<"Session"> | string sessionToken?: StringWithAggregatesFilter<"Session"> | string expires?: DateTimeWithAggregatesFilter<"Session"> | Date | string createdAt?: DateTimeWithAggregatesFilter<"Session"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"Session"> | Date | string } export type FamilyGroupWhereInput = { AND?: FamilyGroupWhereInput | FamilyGroupWhereInput[] OR?: FamilyGroupWhereInput[] NOT?: FamilyGroupWhereInput | FamilyGroupWhereInput[] id?: StringFilter<"FamilyGroup"> | string name?: StringFilter<"FamilyGroup"> | string ownerId?: StringFilter<"FamilyGroup"> | string createdAt?: DateTimeFilter<"FamilyGroup"> | Date | string updatedAt?: DateTimeFilter<"FamilyGroup"> | Date | string owner?: XOR members?: FamilyGroupMemberListRelationFilter subscriptions?: SubscriptionListRelationFilter } export type FamilyGroupOrderByWithRelationInput = { id?: SortOrder name?: SortOrder ownerId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder owner?: UserOrderByWithRelationInput members?: FamilyGroupMemberOrderByRelationAggregateInput subscriptions?: SubscriptionOrderByRelationAggregateInput } export type FamilyGroupWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: FamilyGroupWhereInput | FamilyGroupWhereInput[] OR?: FamilyGroupWhereInput[] NOT?: FamilyGroupWhereInput | FamilyGroupWhereInput[] name?: StringFilter<"FamilyGroup"> | string ownerId?: StringFilter<"FamilyGroup"> | string createdAt?: DateTimeFilter<"FamilyGroup"> | Date | string updatedAt?: DateTimeFilter<"FamilyGroup"> | Date | string owner?: XOR members?: FamilyGroupMemberListRelationFilter subscriptions?: SubscriptionListRelationFilter }, "id"> export type FamilyGroupOrderByWithAggregationInput = { id?: SortOrder name?: SortOrder ownerId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: FamilyGroupCountOrderByAggregateInput _max?: FamilyGroupMaxOrderByAggregateInput _min?: FamilyGroupMinOrderByAggregateInput } export type FamilyGroupScalarWhereWithAggregatesInput = { AND?: FamilyGroupScalarWhereWithAggregatesInput | FamilyGroupScalarWhereWithAggregatesInput[] OR?: FamilyGroupScalarWhereWithAggregatesInput[] NOT?: FamilyGroupScalarWhereWithAggregatesInput | FamilyGroupScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"FamilyGroup"> | string name?: StringWithAggregatesFilter<"FamilyGroup"> | string ownerId?: StringWithAggregatesFilter<"FamilyGroup"> | string createdAt?: DateTimeWithAggregatesFilter<"FamilyGroup"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"FamilyGroup"> | Date | string } export type FamilyGroupMemberWhereInput = { AND?: FamilyGroupMemberWhereInput | FamilyGroupMemberWhereInput[] OR?: FamilyGroupMemberWhereInput[] NOT?: FamilyGroupMemberWhereInput | FamilyGroupMemberWhereInput[] id?: StringFilter<"FamilyGroupMember"> | string groupId?: StringFilter<"FamilyGroupMember"> | string userId?: StringFilter<"FamilyGroupMember"> | string role?: EnumFamilyMemberRoleFilter<"FamilyGroupMember"> | $Enums.FamilyMemberRole joinedAt?: DateTimeFilter<"FamilyGroupMember"> | Date | string createdAt?: DateTimeFilter<"FamilyGroupMember"> | Date | string updatedAt?: DateTimeFilter<"FamilyGroupMember"> | Date | string group?: XOR user?: XOR } export type FamilyGroupMemberOrderByWithRelationInput = { id?: SortOrder groupId?: SortOrder userId?: SortOrder role?: SortOrder joinedAt?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder group?: FamilyGroupOrderByWithRelationInput user?: UserOrderByWithRelationInput } export type FamilyGroupMemberWhereUniqueInput = Prisma.AtLeast<{ id?: string groupId_userId?: FamilyGroupMemberGroupIdUserIdCompoundUniqueInput AND?: FamilyGroupMemberWhereInput | FamilyGroupMemberWhereInput[] OR?: FamilyGroupMemberWhereInput[] NOT?: FamilyGroupMemberWhereInput | FamilyGroupMemberWhereInput[] groupId?: StringFilter<"FamilyGroupMember"> | string userId?: StringFilter<"FamilyGroupMember"> | string role?: EnumFamilyMemberRoleFilter<"FamilyGroupMember"> | $Enums.FamilyMemberRole joinedAt?: DateTimeFilter<"FamilyGroupMember"> | Date | string createdAt?: DateTimeFilter<"FamilyGroupMember"> | Date | string updatedAt?: DateTimeFilter<"FamilyGroupMember"> | Date | string group?: XOR user?: XOR }, "id" | "groupId_userId"> export type FamilyGroupMemberOrderByWithAggregationInput = { id?: SortOrder groupId?: SortOrder userId?: SortOrder role?: SortOrder joinedAt?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: FamilyGroupMemberCountOrderByAggregateInput _max?: FamilyGroupMemberMaxOrderByAggregateInput _min?: FamilyGroupMemberMinOrderByAggregateInput } export type FamilyGroupMemberScalarWhereWithAggregatesInput = { AND?: FamilyGroupMemberScalarWhereWithAggregatesInput | FamilyGroupMemberScalarWhereWithAggregatesInput[] OR?: FamilyGroupMemberScalarWhereWithAggregatesInput[] NOT?: FamilyGroupMemberScalarWhereWithAggregatesInput | FamilyGroupMemberScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"FamilyGroupMember"> | string groupId?: StringWithAggregatesFilter<"FamilyGroupMember"> | string userId?: StringWithAggregatesFilter<"FamilyGroupMember"> | string role?: EnumFamilyMemberRoleWithAggregatesFilter<"FamilyGroupMember"> | $Enums.FamilyMemberRole joinedAt?: DateTimeWithAggregatesFilter<"FamilyGroupMember"> | Date | string createdAt?: DateTimeWithAggregatesFilter<"FamilyGroupMember"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"FamilyGroupMember"> | Date | string } export type SubscriptionWhereInput = { AND?: SubscriptionWhereInput | SubscriptionWhereInput[] OR?: SubscriptionWhereInput[] NOT?: SubscriptionWhereInput | SubscriptionWhereInput[] id?: StringFilter<"Subscription"> | string userId?: StringFilter<"Subscription"> | string familyGroupId?: StringNullableFilter<"Subscription"> | string | null stripeId?: StringNullableFilter<"Subscription"> | string | null tier?: EnumSubscriptionTierFilter<"Subscription"> | $Enums.SubscriptionTier status?: EnumSubscriptionStatusFilter<"Subscription"> | $Enums.SubscriptionStatus currentPeriodStart?: DateTimeFilter<"Subscription"> | Date | string currentPeriodEnd?: DateTimeFilter<"Subscription"> | Date | string cancelAtPeriodEnd?: BoolFilter<"Subscription"> | boolean createdAt?: DateTimeFilter<"Subscription"> | Date | string updatedAt?: DateTimeFilter<"Subscription"> | Date | string user?: XOR familyGroup?: XOR | null watchlistItems?: WatchlistItemListRelationFilter exposures?: ExposureListRelationFilter alerts?: AlertListRelationFilter } export type SubscriptionOrderByWithRelationInput = { id?: SortOrder userId?: SortOrder familyGroupId?: SortOrderInput | SortOrder stripeId?: SortOrderInput | SortOrder tier?: SortOrder status?: SortOrder currentPeriodStart?: SortOrder currentPeriodEnd?: SortOrder cancelAtPeriodEnd?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder user?: UserOrderByWithRelationInput familyGroup?: FamilyGroupOrderByWithRelationInput watchlistItems?: WatchlistItemOrderByRelationAggregateInput exposures?: ExposureOrderByRelationAggregateInput alerts?: AlertOrderByRelationAggregateInput } export type SubscriptionWhereUniqueInput = Prisma.AtLeast<{ id?: string stripeId?: string AND?: SubscriptionWhereInput | SubscriptionWhereInput[] OR?: SubscriptionWhereInput[] NOT?: SubscriptionWhereInput | SubscriptionWhereInput[] userId?: StringFilter<"Subscription"> | string familyGroupId?: StringNullableFilter<"Subscription"> | string | null tier?: EnumSubscriptionTierFilter<"Subscription"> | $Enums.SubscriptionTier status?: EnumSubscriptionStatusFilter<"Subscription"> | $Enums.SubscriptionStatus currentPeriodStart?: DateTimeFilter<"Subscription"> | Date | string currentPeriodEnd?: DateTimeFilter<"Subscription"> | Date | string cancelAtPeriodEnd?: BoolFilter<"Subscription"> | boolean createdAt?: DateTimeFilter<"Subscription"> | Date | string updatedAt?: DateTimeFilter<"Subscription"> | Date | string user?: XOR familyGroup?: XOR | null watchlistItems?: WatchlistItemListRelationFilter exposures?: ExposureListRelationFilter alerts?: AlertListRelationFilter }, "id" | "stripeId"> export type SubscriptionOrderByWithAggregationInput = { id?: SortOrder userId?: SortOrder familyGroupId?: SortOrderInput | SortOrder stripeId?: SortOrderInput | SortOrder tier?: SortOrder status?: SortOrder currentPeriodStart?: SortOrder currentPeriodEnd?: SortOrder cancelAtPeriodEnd?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: SubscriptionCountOrderByAggregateInput _max?: SubscriptionMaxOrderByAggregateInput _min?: SubscriptionMinOrderByAggregateInput } export type SubscriptionScalarWhereWithAggregatesInput = { AND?: SubscriptionScalarWhereWithAggregatesInput | SubscriptionScalarWhereWithAggregatesInput[] OR?: SubscriptionScalarWhereWithAggregatesInput[] NOT?: SubscriptionScalarWhereWithAggregatesInput | SubscriptionScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Subscription"> | string userId?: StringWithAggregatesFilter<"Subscription"> | string familyGroupId?: StringNullableWithAggregatesFilter<"Subscription"> | string | null stripeId?: StringNullableWithAggregatesFilter<"Subscription"> | string | null tier?: EnumSubscriptionTierWithAggregatesFilter<"Subscription"> | $Enums.SubscriptionTier status?: EnumSubscriptionStatusWithAggregatesFilter<"Subscription"> | $Enums.SubscriptionStatus currentPeriodStart?: DateTimeWithAggregatesFilter<"Subscription"> | Date | string currentPeriodEnd?: DateTimeWithAggregatesFilter<"Subscription"> | Date | string cancelAtPeriodEnd?: BoolWithAggregatesFilter<"Subscription"> | boolean createdAt?: DateTimeWithAggregatesFilter<"Subscription"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"Subscription"> | Date | string } export type WatchlistItemWhereInput = { AND?: WatchlistItemWhereInput | WatchlistItemWhereInput[] OR?: WatchlistItemWhereInput[] NOT?: WatchlistItemWhereInput | WatchlistItemWhereInput[] id?: StringFilter<"WatchlistItem"> | string subscriptionId?: StringFilter<"WatchlistItem"> | string type?: EnumWatchlistTypeFilter<"WatchlistItem"> | $Enums.WatchlistType value?: StringFilter<"WatchlistItem"> | string hash?: StringFilter<"WatchlistItem"> | string isActive?: BoolFilter<"WatchlistItem"> | boolean createdAt?: DateTimeFilter<"WatchlistItem"> | Date | string updatedAt?: DateTimeFilter<"WatchlistItem"> | Date | string subscription?: XOR exposures?: ExposureListRelationFilter } export type WatchlistItemOrderByWithRelationInput = { id?: SortOrder subscriptionId?: SortOrder type?: SortOrder value?: SortOrder hash?: SortOrder isActive?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder subscription?: SubscriptionOrderByWithRelationInput exposures?: ExposureOrderByRelationAggregateInput } export type WatchlistItemWhereUniqueInput = Prisma.AtLeast<{ id?: string subscriptionId_type_hash?: WatchlistItemSubscriptionIdTypeHashCompoundUniqueInput AND?: WatchlistItemWhereInput | WatchlistItemWhereInput[] OR?: WatchlistItemWhereInput[] NOT?: WatchlistItemWhereInput | WatchlistItemWhereInput[] subscriptionId?: StringFilter<"WatchlistItem"> | string type?: EnumWatchlistTypeFilter<"WatchlistItem"> | $Enums.WatchlistType value?: StringFilter<"WatchlistItem"> | string hash?: StringFilter<"WatchlistItem"> | string isActive?: BoolFilter<"WatchlistItem"> | boolean createdAt?: DateTimeFilter<"WatchlistItem"> | Date | string updatedAt?: DateTimeFilter<"WatchlistItem"> | Date | string subscription?: XOR exposures?: ExposureListRelationFilter }, "id" | "subscriptionId_type_hash"> export type WatchlistItemOrderByWithAggregationInput = { id?: SortOrder subscriptionId?: SortOrder type?: SortOrder value?: SortOrder hash?: SortOrder isActive?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: WatchlistItemCountOrderByAggregateInput _max?: WatchlistItemMaxOrderByAggregateInput _min?: WatchlistItemMinOrderByAggregateInput } export type WatchlistItemScalarWhereWithAggregatesInput = { AND?: WatchlistItemScalarWhereWithAggregatesInput | WatchlistItemScalarWhereWithAggregatesInput[] OR?: WatchlistItemScalarWhereWithAggregatesInput[] NOT?: WatchlistItemScalarWhereWithAggregatesInput | WatchlistItemScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"WatchlistItem"> | string subscriptionId?: StringWithAggregatesFilter<"WatchlistItem"> | string type?: EnumWatchlistTypeWithAggregatesFilter<"WatchlistItem"> | $Enums.WatchlistType value?: StringWithAggregatesFilter<"WatchlistItem"> | string hash?: StringWithAggregatesFilter<"WatchlistItem"> | string isActive?: BoolWithAggregatesFilter<"WatchlistItem"> | boolean createdAt?: DateTimeWithAggregatesFilter<"WatchlistItem"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"WatchlistItem"> | Date | string } export type ExposureWhereInput = { AND?: ExposureWhereInput | ExposureWhereInput[] OR?: ExposureWhereInput[] NOT?: ExposureWhereInput | ExposureWhereInput[] id?: StringFilter<"Exposure"> | string subscriptionId?: StringFilter<"Exposure"> | string watchlistItemId?: StringNullableFilter<"Exposure"> | string | null source?: EnumExposureSourceFilter<"Exposure"> | $Enums.ExposureSource dataType?: EnumWatchlistTypeFilter<"Exposure"> | $Enums.WatchlistType identifier?: StringFilter<"Exposure"> | string identifierHash?: StringFilter<"Exposure"> | string severity?: EnumExposureSeverityFilter<"Exposure"> | $Enums.ExposureSeverity metadata?: JsonNullableFilter<"Exposure"> isFirstTime?: BoolFilter<"Exposure"> | boolean detectedAt?: DateTimeFilter<"Exposure"> | Date | string createdAt?: DateTimeFilter<"Exposure"> | Date | string updatedAt?: DateTimeFilter<"Exposure"> | Date | string subscription?: XOR watchlistItem?: XOR | null alerts?: AlertListRelationFilter } export type ExposureOrderByWithRelationInput = { id?: SortOrder subscriptionId?: SortOrder watchlistItemId?: SortOrderInput | SortOrder source?: SortOrder dataType?: SortOrder identifier?: SortOrder identifierHash?: SortOrder severity?: SortOrder metadata?: SortOrderInput | SortOrder isFirstTime?: SortOrder detectedAt?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder subscription?: SubscriptionOrderByWithRelationInput watchlistItem?: WatchlistItemOrderByWithRelationInput alerts?: AlertOrderByRelationAggregateInput } export type ExposureWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: ExposureWhereInput | ExposureWhereInput[] OR?: ExposureWhereInput[] NOT?: ExposureWhereInput | ExposureWhereInput[] subscriptionId?: StringFilter<"Exposure"> | string watchlistItemId?: StringNullableFilter<"Exposure"> | string | null source?: EnumExposureSourceFilter<"Exposure"> | $Enums.ExposureSource dataType?: EnumWatchlistTypeFilter<"Exposure"> | $Enums.WatchlistType identifier?: StringFilter<"Exposure"> | string identifierHash?: StringFilter<"Exposure"> | string severity?: EnumExposureSeverityFilter<"Exposure"> | $Enums.ExposureSeverity metadata?: JsonNullableFilter<"Exposure"> isFirstTime?: BoolFilter<"Exposure"> | boolean detectedAt?: DateTimeFilter<"Exposure"> | Date | string createdAt?: DateTimeFilter<"Exposure"> | Date | string updatedAt?: DateTimeFilter<"Exposure"> | Date | string subscription?: XOR watchlistItem?: XOR | null alerts?: AlertListRelationFilter }, "id"> export type ExposureOrderByWithAggregationInput = { id?: SortOrder subscriptionId?: SortOrder watchlistItemId?: SortOrderInput | SortOrder source?: SortOrder dataType?: SortOrder identifier?: SortOrder identifierHash?: SortOrder severity?: SortOrder metadata?: SortOrderInput | SortOrder isFirstTime?: SortOrder detectedAt?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: ExposureCountOrderByAggregateInput _max?: ExposureMaxOrderByAggregateInput _min?: ExposureMinOrderByAggregateInput } export type ExposureScalarWhereWithAggregatesInput = { AND?: ExposureScalarWhereWithAggregatesInput | ExposureScalarWhereWithAggregatesInput[] OR?: ExposureScalarWhereWithAggregatesInput[] NOT?: ExposureScalarWhereWithAggregatesInput | ExposureScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Exposure"> | string subscriptionId?: StringWithAggregatesFilter<"Exposure"> | string watchlistItemId?: StringNullableWithAggregatesFilter<"Exposure"> | string | null source?: EnumExposureSourceWithAggregatesFilter<"Exposure"> | $Enums.ExposureSource dataType?: EnumWatchlistTypeWithAggregatesFilter<"Exposure"> | $Enums.WatchlistType identifier?: StringWithAggregatesFilter<"Exposure"> | string identifierHash?: StringWithAggregatesFilter<"Exposure"> | string severity?: EnumExposureSeverityWithAggregatesFilter<"Exposure"> | $Enums.ExposureSeverity metadata?: JsonNullableWithAggregatesFilter<"Exposure"> isFirstTime?: BoolWithAggregatesFilter<"Exposure"> | boolean detectedAt?: DateTimeWithAggregatesFilter<"Exposure"> | Date | string createdAt?: DateTimeWithAggregatesFilter<"Exposure"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"Exposure"> | Date | string } export type AlertWhereInput = { AND?: AlertWhereInput | AlertWhereInput[] OR?: AlertWhereInput[] NOT?: AlertWhereInput | AlertWhereInput[] id?: StringFilter<"Alert"> | string subscriptionId?: StringFilter<"Alert"> | string userId?: StringFilter<"Alert"> | string exposureId?: StringNullableFilter<"Alert"> | string | null type?: EnumAlertTypeFilter<"Alert"> | $Enums.AlertType title?: StringFilter<"Alert"> | string message?: StringFilter<"Alert"> | string severity?: EnumAlertSeverityFilter<"Alert"> | $Enums.AlertSeverity isRead?: BoolFilter<"Alert"> | boolean readAt?: DateTimeNullableFilter<"Alert"> | Date | string | null channel?: EnumAlertChannelNullableListFilter<"Alert"> createdAt?: DateTimeFilter<"Alert"> | Date | string updatedAt?: DateTimeFilter<"Alert"> | Date | string subscription?: XOR user?: XOR exposure?: XOR | null } export type AlertOrderByWithRelationInput = { id?: SortOrder subscriptionId?: SortOrder userId?: SortOrder exposureId?: SortOrderInput | SortOrder type?: SortOrder title?: SortOrder message?: SortOrder severity?: SortOrder isRead?: SortOrder readAt?: SortOrderInput | SortOrder channel?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder subscription?: SubscriptionOrderByWithRelationInput user?: UserOrderByWithRelationInput exposure?: ExposureOrderByWithRelationInput } export type AlertWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: AlertWhereInput | AlertWhereInput[] OR?: AlertWhereInput[] NOT?: AlertWhereInput | AlertWhereInput[] subscriptionId?: StringFilter<"Alert"> | string userId?: StringFilter<"Alert"> | string exposureId?: StringNullableFilter<"Alert"> | string | null type?: EnumAlertTypeFilter<"Alert"> | $Enums.AlertType title?: StringFilter<"Alert"> | string message?: StringFilter<"Alert"> | string severity?: EnumAlertSeverityFilter<"Alert"> | $Enums.AlertSeverity isRead?: BoolFilter<"Alert"> | boolean readAt?: DateTimeNullableFilter<"Alert"> | Date | string | null channel?: EnumAlertChannelNullableListFilter<"Alert"> createdAt?: DateTimeFilter<"Alert"> | Date | string updatedAt?: DateTimeFilter<"Alert"> | Date | string subscription?: XOR user?: XOR exposure?: XOR | null }, "id"> export type AlertOrderByWithAggregationInput = { id?: SortOrder subscriptionId?: SortOrder userId?: SortOrder exposureId?: SortOrderInput | SortOrder type?: SortOrder title?: SortOrder message?: SortOrder severity?: SortOrder isRead?: SortOrder readAt?: SortOrderInput | SortOrder channel?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: AlertCountOrderByAggregateInput _max?: AlertMaxOrderByAggregateInput _min?: AlertMinOrderByAggregateInput } export type AlertScalarWhereWithAggregatesInput = { AND?: AlertScalarWhereWithAggregatesInput | AlertScalarWhereWithAggregatesInput[] OR?: AlertScalarWhereWithAggregatesInput[] NOT?: AlertScalarWhereWithAggregatesInput | AlertScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Alert"> | string subscriptionId?: StringWithAggregatesFilter<"Alert"> | string userId?: StringWithAggregatesFilter<"Alert"> | string exposureId?: StringNullableWithAggregatesFilter<"Alert"> | string | null type?: EnumAlertTypeWithAggregatesFilter<"Alert"> | $Enums.AlertType title?: StringWithAggregatesFilter<"Alert"> | string message?: StringWithAggregatesFilter<"Alert"> | string severity?: EnumAlertSeverityWithAggregatesFilter<"Alert"> | $Enums.AlertSeverity isRead?: BoolWithAggregatesFilter<"Alert"> | boolean readAt?: DateTimeNullableWithAggregatesFilter<"Alert"> | Date | string | null channel?: EnumAlertChannelNullableListFilter<"Alert"> createdAt?: DateTimeWithAggregatesFilter<"Alert"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"Alert"> | Date | string } export type VoiceEnrollmentWhereInput = { AND?: VoiceEnrollmentWhereInput | VoiceEnrollmentWhereInput[] OR?: VoiceEnrollmentWhereInput[] NOT?: VoiceEnrollmentWhereInput | VoiceEnrollmentWhereInput[] id?: StringFilter<"VoiceEnrollment"> | string userId?: StringFilter<"VoiceEnrollment"> | string name?: StringFilter<"VoiceEnrollment"> | string voiceHash?: StringFilter<"VoiceEnrollment"> | string audioMetadata?: JsonNullableFilter<"VoiceEnrollment"> isActive?: BoolFilter<"VoiceEnrollment"> | boolean createdAt?: DateTimeFilter<"VoiceEnrollment"> | Date | string updatedAt?: DateTimeFilter<"VoiceEnrollment"> | Date | string user?: XOR analyses?: VoiceAnalysisListRelationFilter } export type VoiceEnrollmentOrderByWithRelationInput = { id?: SortOrder userId?: SortOrder name?: SortOrder voiceHash?: SortOrder audioMetadata?: SortOrderInput | SortOrder isActive?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder user?: UserOrderByWithRelationInput analyses?: VoiceAnalysisOrderByRelationAggregateInput } export type VoiceEnrollmentWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: VoiceEnrollmentWhereInput | VoiceEnrollmentWhereInput[] OR?: VoiceEnrollmentWhereInput[] NOT?: VoiceEnrollmentWhereInput | VoiceEnrollmentWhereInput[] userId?: StringFilter<"VoiceEnrollment"> | string name?: StringFilter<"VoiceEnrollment"> | string voiceHash?: StringFilter<"VoiceEnrollment"> | string audioMetadata?: JsonNullableFilter<"VoiceEnrollment"> isActive?: BoolFilter<"VoiceEnrollment"> | boolean createdAt?: DateTimeFilter<"VoiceEnrollment"> | Date | string updatedAt?: DateTimeFilter<"VoiceEnrollment"> | Date | string user?: XOR analyses?: VoiceAnalysisListRelationFilter }, "id"> export type VoiceEnrollmentOrderByWithAggregationInput = { id?: SortOrder userId?: SortOrder name?: SortOrder voiceHash?: SortOrder audioMetadata?: SortOrderInput | SortOrder isActive?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: VoiceEnrollmentCountOrderByAggregateInput _max?: VoiceEnrollmentMaxOrderByAggregateInput _min?: VoiceEnrollmentMinOrderByAggregateInput } export type VoiceEnrollmentScalarWhereWithAggregatesInput = { AND?: VoiceEnrollmentScalarWhereWithAggregatesInput | VoiceEnrollmentScalarWhereWithAggregatesInput[] OR?: VoiceEnrollmentScalarWhereWithAggregatesInput[] NOT?: VoiceEnrollmentScalarWhereWithAggregatesInput | VoiceEnrollmentScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"VoiceEnrollment"> | string userId?: StringWithAggregatesFilter<"VoiceEnrollment"> | string name?: StringWithAggregatesFilter<"VoiceEnrollment"> | string voiceHash?: StringWithAggregatesFilter<"VoiceEnrollment"> | string audioMetadata?: JsonNullableWithAggregatesFilter<"VoiceEnrollment"> isActive?: BoolWithAggregatesFilter<"VoiceEnrollment"> | boolean createdAt?: DateTimeWithAggregatesFilter<"VoiceEnrollment"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"VoiceEnrollment"> | Date | string } export type VoiceAnalysisWhereInput = { AND?: VoiceAnalysisWhereInput | VoiceAnalysisWhereInput[] OR?: VoiceAnalysisWhereInput[] NOT?: VoiceAnalysisWhereInput | VoiceAnalysisWhereInput[] id?: StringFilter<"VoiceAnalysis"> | string enrollmentId?: StringNullableFilter<"VoiceAnalysis"> | string | null userId?: StringFilter<"VoiceAnalysis"> | string audioHash?: StringFilter<"VoiceAnalysis"> | string isSynthetic?: BoolFilter<"VoiceAnalysis"> | boolean confidence?: FloatFilter<"VoiceAnalysis"> | number analysisResult?: JsonFilter<"VoiceAnalysis"> audioUrl?: StringFilter<"VoiceAnalysis"> | string createdAt?: DateTimeFilter<"VoiceAnalysis"> | Date | string enrollment?: XOR | null user?: XOR } export type VoiceAnalysisOrderByWithRelationInput = { id?: SortOrder enrollmentId?: SortOrderInput | SortOrder userId?: SortOrder audioHash?: SortOrder isSynthetic?: SortOrder confidence?: SortOrder analysisResult?: SortOrder audioUrl?: SortOrder createdAt?: SortOrder enrollment?: VoiceEnrollmentOrderByWithRelationInput user?: UserOrderByWithRelationInput } export type VoiceAnalysisWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: VoiceAnalysisWhereInput | VoiceAnalysisWhereInput[] OR?: VoiceAnalysisWhereInput[] NOT?: VoiceAnalysisWhereInput | VoiceAnalysisWhereInput[] enrollmentId?: StringNullableFilter<"VoiceAnalysis"> | string | null userId?: StringFilter<"VoiceAnalysis"> | string audioHash?: StringFilter<"VoiceAnalysis"> | string isSynthetic?: BoolFilter<"VoiceAnalysis"> | boolean confidence?: FloatFilter<"VoiceAnalysis"> | number analysisResult?: JsonFilter<"VoiceAnalysis"> audioUrl?: StringFilter<"VoiceAnalysis"> | string createdAt?: DateTimeFilter<"VoiceAnalysis"> | Date | string enrollment?: XOR | null user?: XOR }, "id"> export type VoiceAnalysisOrderByWithAggregationInput = { id?: SortOrder enrollmentId?: SortOrderInput | SortOrder userId?: SortOrder audioHash?: SortOrder isSynthetic?: SortOrder confidence?: SortOrder analysisResult?: SortOrder audioUrl?: SortOrder createdAt?: SortOrder _count?: VoiceAnalysisCountOrderByAggregateInput _avg?: VoiceAnalysisAvgOrderByAggregateInput _max?: VoiceAnalysisMaxOrderByAggregateInput _min?: VoiceAnalysisMinOrderByAggregateInput _sum?: VoiceAnalysisSumOrderByAggregateInput } export type VoiceAnalysisScalarWhereWithAggregatesInput = { AND?: VoiceAnalysisScalarWhereWithAggregatesInput | VoiceAnalysisScalarWhereWithAggregatesInput[] OR?: VoiceAnalysisScalarWhereWithAggregatesInput[] NOT?: VoiceAnalysisScalarWhereWithAggregatesInput | VoiceAnalysisScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"VoiceAnalysis"> | string enrollmentId?: StringNullableWithAggregatesFilter<"VoiceAnalysis"> | string | null userId?: StringWithAggregatesFilter<"VoiceAnalysis"> | string audioHash?: StringWithAggregatesFilter<"VoiceAnalysis"> | string isSynthetic?: BoolWithAggregatesFilter<"VoiceAnalysis"> | boolean confidence?: FloatWithAggregatesFilter<"VoiceAnalysis"> | number analysisResult?: JsonWithAggregatesFilter<"VoiceAnalysis"> audioUrl?: StringWithAggregatesFilter<"VoiceAnalysis"> | string createdAt?: DateTimeWithAggregatesFilter<"VoiceAnalysis"> | Date | string } export type SpamFeedbackWhereInput = { AND?: SpamFeedbackWhereInput | SpamFeedbackWhereInput[] OR?: SpamFeedbackWhereInput[] NOT?: SpamFeedbackWhereInput | SpamFeedbackWhereInput[] id?: StringFilter<"SpamFeedback"> | string userId?: StringFilter<"SpamFeedback"> | string phoneNumber?: StringFilter<"SpamFeedback"> | string phoneNumberHash?: StringFilter<"SpamFeedback"> | string isSpam?: BoolFilter<"SpamFeedback"> | boolean confidence?: FloatNullableFilter<"SpamFeedback"> | number | null feedbackType?: EnumFeedbackTypeFilter<"SpamFeedback"> | $Enums.FeedbackType metadata?: JsonNullableFilter<"SpamFeedback"> createdAt?: DateTimeFilter<"SpamFeedback"> | Date | string updatedAt?: DateTimeFilter<"SpamFeedback"> | Date | string user?: XOR } export type SpamFeedbackOrderByWithRelationInput = { id?: SortOrder userId?: SortOrder phoneNumber?: SortOrder phoneNumberHash?: SortOrder isSpam?: SortOrder confidence?: SortOrderInput | SortOrder feedbackType?: SortOrder metadata?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder user?: UserOrderByWithRelationInput } export type SpamFeedbackWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: SpamFeedbackWhereInput | SpamFeedbackWhereInput[] OR?: SpamFeedbackWhereInput[] NOT?: SpamFeedbackWhereInput | SpamFeedbackWhereInput[] userId?: StringFilter<"SpamFeedback"> | string phoneNumber?: StringFilter<"SpamFeedback"> | string phoneNumberHash?: StringFilter<"SpamFeedback"> | string isSpam?: BoolFilter<"SpamFeedback"> | boolean confidence?: FloatNullableFilter<"SpamFeedback"> | number | null feedbackType?: EnumFeedbackTypeFilter<"SpamFeedback"> | $Enums.FeedbackType metadata?: JsonNullableFilter<"SpamFeedback"> createdAt?: DateTimeFilter<"SpamFeedback"> | Date | string updatedAt?: DateTimeFilter<"SpamFeedback"> | Date | string user?: XOR }, "id"> export type SpamFeedbackOrderByWithAggregationInput = { id?: SortOrder userId?: SortOrder phoneNumber?: SortOrder phoneNumberHash?: SortOrder isSpam?: SortOrder confidence?: SortOrderInput | SortOrder feedbackType?: SortOrder metadata?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: SpamFeedbackCountOrderByAggregateInput _avg?: SpamFeedbackAvgOrderByAggregateInput _max?: SpamFeedbackMaxOrderByAggregateInput _min?: SpamFeedbackMinOrderByAggregateInput _sum?: SpamFeedbackSumOrderByAggregateInput } export type SpamFeedbackScalarWhereWithAggregatesInput = { AND?: SpamFeedbackScalarWhereWithAggregatesInput | SpamFeedbackScalarWhereWithAggregatesInput[] OR?: SpamFeedbackScalarWhereWithAggregatesInput[] NOT?: SpamFeedbackScalarWhereWithAggregatesInput | SpamFeedbackScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"SpamFeedback"> | string userId?: StringWithAggregatesFilter<"SpamFeedback"> | string phoneNumber?: StringWithAggregatesFilter<"SpamFeedback"> | string phoneNumberHash?: StringWithAggregatesFilter<"SpamFeedback"> | string isSpam?: BoolWithAggregatesFilter<"SpamFeedback"> | boolean confidence?: FloatNullableWithAggregatesFilter<"SpamFeedback"> | number | null feedbackType?: EnumFeedbackTypeWithAggregatesFilter<"SpamFeedback"> | $Enums.FeedbackType metadata?: JsonNullableWithAggregatesFilter<"SpamFeedback"> createdAt?: DateTimeWithAggregatesFilter<"SpamFeedback"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"SpamFeedback"> | Date | string } export type SpamRuleWhereInput = { AND?: SpamRuleWhereInput | SpamRuleWhereInput[] OR?: SpamRuleWhereInput[] NOT?: SpamRuleWhereInput | SpamRuleWhereInput[] id?: StringFilter<"SpamRule"> | string userId?: StringNullableFilter<"SpamRule"> | string | null isGlobal?: BoolFilter<"SpamRule"> | boolean ruleType?: EnumRuleTypeFilter<"SpamRule"> | $Enums.RuleType pattern?: StringFilter<"SpamRule"> | string action?: EnumRuleActionFilter<"SpamRule"> | $Enums.RuleAction priority?: IntFilter<"SpamRule"> | number isActive?: BoolFilter<"SpamRule"> | boolean createdAt?: DateTimeFilter<"SpamRule"> | Date | string updatedAt?: DateTimeFilter<"SpamRule"> | Date | string user?: XOR | null } export type SpamRuleOrderByWithRelationInput = { id?: SortOrder userId?: SortOrderInput | SortOrder isGlobal?: SortOrder ruleType?: SortOrder pattern?: SortOrder action?: SortOrder priority?: SortOrder isActive?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder user?: UserOrderByWithRelationInput } export type SpamRuleWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: SpamRuleWhereInput | SpamRuleWhereInput[] OR?: SpamRuleWhereInput[] NOT?: SpamRuleWhereInput | SpamRuleWhereInput[] userId?: StringNullableFilter<"SpamRule"> | string | null isGlobal?: BoolFilter<"SpamRule"> | boolean ruleType?: EnumRuleTypeFilter<"SpamRule"> | $Enums.RuleType pattern?: StringFilter<"SpamRule"> | string action?: EnumRuleActionFilter<"SpamRule"> | $Enums.RuleAction priority?: IntFilter<"SpamRule"> | number isActive?: BoolFilter<"SpamRule"> | boolean createdAt?: DateTimeFilter<"SpamRule"> | Date | string updatedAt?: DateTimeFilter<"SpamRule"> | Date | string user?: XOR | null }, "id"> export type SpamRuleOrderByWithAggregationInput = { id?: SortOrder userId?: SortOrderInput | SortOrder isGlobal?: SortOrder ruleType?: SortOrder pattern?: SortOrder action?: SortOrder priority?: SortOrder isActive?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: SpamRuleCountOrderByAggregateInput _avg?: SpamRuleAvgOrderByAggregateInput _max?: SpamRuleMaxOrderByAggregateInput _min?: SpamRuleMinOrderByAggregateInput _sum?: SpamRuleSumOrderByAggregateInput } export type SpamRuleScalarWhereWithAggregatesInput = { AND?: SpamRuleScalarWhereWithAggregatesInput | SpamRuleScalarWhereWithAggregatesInput[] OR?: SpamRuleScalarWhereWithAggregatesInput[] NOT?: SpamRuleScalarWhereWithAggregatesInput | SpamRuleScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"SpamRule"> | string userId?: StringNullableWithAggregatesFilter<"SpamRule"> | string | null isGlobal?: BoolWithAggregatesFilter<"SpamRule"> | boolean ruleType?: EnumRuleTypeWithAggregatesFilter<"SpamRule"> | $Enums.RuleType pattern?: StringWithAggregatesFilter<"SpamRule"> | string action?: EnumRuleActionWithAggregatesFilter<"SpamRule"> | $Enums.RuleAction priority?: IntWithAggregatesFilter<"SpamRule"> | number isActive?: BoolWithAggregatesFilter<"SpamRule"> | boolean createdAt?: DateTimeWithAggregatesFilter<"SpamRule"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"SpamRule"> | Date | string } export type AuditLogWhereInput = { AND?: AuditLogWhereInput | AuditLogWhereInput[] OR?: AuditLogWhereInput[] NOT?: AuditLogWhereInput | AuditLogWhereInput[] id?: StringFilter<"AuditLog"> | string userId?: StringNullableFilter<"AuditLog"> | string | null action?: StringFilter<"AuditLog"> | string resource?: StringFilter<"AuditLog"> | string resourceId?: StringNullableFilter<"AuditLog"> | string | null changes?: JsonNullableFilter<"AuditLog"> metadata?: JsonNullableFilter<"AuditLog"> ipAddress?: StringNullableFilter<"AuditLog"> | string | null userAgent?: StringNullableFilter<"AuditLog"> | string | null createdAt?: DateTimeFilter<"AuditLog"> | Date | string } export type AuditLogOrderByWithRelationInput = { id?: SortOrder userId?: SortOrderInput | SortOrder action?: SortOrder resource?: SortOrder resourceId?: SortOrderInput | SortOrder changes?: SortOrderInput | SortOrder metadata?: SortOrderInput | SortOrder ipAddress?: SortOrderInput | SortOrder userAgent?: SortOrderInput | SortOrder createdAt?: SortOrder } export type AuditLogWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: AuditLogWhereInput | AuditLogWhereInput[] OR?: AuditLogWhereInput[] NOT?: AuditLogWhereInput | AuditLogWhereInput[] userId?: StringNullableFilter<"AuditLog"> | string | null action?: StringFilter<"AuditLog"> | string resource?: StringFilter<"AuditLog"> | string resourceId?: StringNullableFilter<"AuditLog"> | string | null changes?: JsonNullableFilter<"AuditLog"> metadata?: JsonNullableFilter<"AuditLog"> ipAddress?: StringNullableFilter<"AuditLog"> | string | null userAgent?: StringNullableFilter<"AuditLog"> | string | null createdAt?: DateTimeFilter<"AuditLog"> | Date | string }, "id"> export type AuditLogOrderByWithAggregationInput = { id?: SortOrder userId?: SortOrderInput | SortOrder action?: SortOrder resource?: SortOrder resourceId?: SortOrderInput | SortOrder changes?: SortOrderInput | SortOrder metadata?: SortOrderInput | SortOrder ipAddress?: SortOrderInput | SortOrder userAgent?: SortOrderInput | SortOrder createdAt?: SortOrder _count?: AuditLogCountOrderByAggregateInput _max?: AuditLogMaxOrderByAggregateInput _min?: AuditLogMinOrderByAggregateInput } export type AuditLogScalarWhereWithAggregatesInput = { AND?: AuditLogScalarWhereWithAggregatesInput | AuditLogScalarWhereWithAggregatesInput[] OR?: AuditLogScalarWhereWithAggregatesInput[] NOT?: AuditLogScalarWhereWithAggregatesInput | AuditLogScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"AuditLog"> | string userId?: StringNullableWithAggregatesFilter<"AuditLog"> | string | null action?: StringWithAggregatesFilter<"AuditLog"> | string resource?: StringWithAggregatesFilter<"AuditLog"> | string resourceId?: StringNullableWithAggregatesFilter<"AuditLog"> | string | null changes?: JsonNullableWithAggregatesFilter<"AuditLog"> metadata?: JsonNullableWithAggregatesFilter<"AuditLog"> ipAddress?: StringNullableWithAggregatesFilter<"AuditLog"> | string | null userAgent?: StringNullableWithAggregatesFilter<"AuditLog"> | string | null createdAt?: DateTimeWithAggregatesFilter<"AuditLog"> | Date | string } export type KPISnapshotWhereInput = { AND?: KPISnapshotWhereInput | KPISnapshotWhereInput[] OR?: KPISnapshotWhereInput[] NOT?: KPISnapshotWhereInput | KPISnapshotWhereInput[] id?: StringFilter<"KPISnapshot"> | string date?: DateTimeFilter<"KPISnapshot"> | Date | string metricName?: StringFilter<"KPISnapshot"> | string metricValue?: FloatFilter<"KPISnapshot"> | number metadata?: JsonNullableFilter<"KPISnapshot"> createdAt?: DateTimeFilter<"KPISnapshot"> | Date | string } export type KPISnapshotOrderByWithRelationInput = { id?: SortOrder date?: SortOrder metricName?: SortOrder metricValue?: SortOrder metadata?: SortOrderInput | SortOrder createdAt?: SortOrder } export type KPISnapshotWhereUniqueInput = Prisma.AtLeast<{ id?: string date?: Date | string AND?: KPISnapshotWhereInput | KPISnapshotWhereInput[] OR?: KPISnapshotWhereInput[] NOT?: KPISnapshotWhereInput | KPISnapshotWhereInput[] metricName?: StringFilter<"KPISnapshot"> | string metricValue?: FloatFilter<"KPISnapshot"> | number metadata?: JsonNullableFilter<"KPISnapshot"> createdAt?: DateTimeFilter<"KPISnapshot"> | Date | string }, "id" | "date"> export type KPISnapshotOrderByWithAggregationInput = { id?: SortOrder date?: SortOrder metricName?: SortOrder metricValue?: SortOrder metadata?: SortOrderInput | SortOrder createdAt?: SortOrder _count?: KPISnapshotCountOrderByAggregateInput _avg?: KPISnapshotAvgOrderByAggregateInput _max?: KPISnapshotMaxOrderByAggregateInput _min?: KPISnapshotMinOrderByAggregateInput _sum?: KPISnapshotSumOrderByAggregateInput } export type KPISnapshotScalarWhereWithAggregatesInput = { AND?: KPISnapshotScalarWhereWithAggregatesInput | KPISnapshotScalarWhereWithAggregatesInput[] OR?: KPISnapshotScalarWhereWithAggregatesInput[] NOT?: KPISnapshotScalarWhereWithAggregatesInput | KPISnapshotScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"KPISnapshot"> | string date?: DateTimeWithAggregatesFilter<"KPISnapshot"> | Date | string metricName?: StringWithAggregatesFilter<"KPISnapshot"> | string metricValue?: FloatWithAggregatesFilter<"KPISnapshot"> | number metadata?: JsonNullableWithAggregatesFilter<"KPISnapshot"> createdAt?: DateTimeWithAggregatesFilter<"KPISnapshot"> | Date | string } export type UserCreateInput = { id?: string email: string emailVerified?: Date | string | null name?: string | null image?: string | null role?: $Enums.UserRole createdAt?: Date | string updatedAt?: Date | string accounts?: AccountCreateNestedManyWithoutUserInput sessions?: SessionCreateNestedManyWithoutUserInput familyGroups?: FamilyGroupMemberCreateNestedManyWithoutUserInput familyGroupOwned?: FamilyGroupCreateNestedManyWithoutOwnerInput subscriptions?: SubscriptionCreateNestedManyWithoutUserInput alerts?: AlertCreateNestedManyWithoutUserInput voiceEnrollments?: VoiceEnrollmentCreateNestedManyWithoutUserInput voiceAnalyses?: VoiceAnalysisCreateNestedManyWithoutUserInput spamFeedback?: SpamFeedbackCreateNestedManyWithoutUserInput spamRules?: SpamRuleCreateNestedManyWithoutUserInput } export type UserUncheckedCreateInput = { id?: string email: string emailVerified?: Date | string | null name?: string | null image?: string | null role?: $Enums.UserRole createdAt?: Date | string updatedAt?: Date | string accounts?: AccountUncheckedCreateNestedManyWithoutUserInput sessions?: SessionUncheckedCreateNestedManyWithoutUserInput familyGroups?: FamilyGroupMemberUncheckedCreateNestedManyWithoutUserInput familyGroupOwned?: FamilyGroupUncheckedCreateNestedManyWithoutOwnerInput subscriptions?: SubscriptionUncheckedCreateNestedManyWithoutUserInput alerts?: AlertUncheckedCreateNestedManyWithoutUserInput voiceEnrollments?: VoiceEnrollmentUncheckedCreateNestedManyWithoutUserInput voiceAnalyses?: VoiceAnalysisUncheckedCreateNestedManyWithoutUserInput spamFeedback?: SpamFeedbackUncheckedCreateNestedManyWithoutUserInput spamRules?: SpamRuleUncheckedCreateNestedManyWithoutUserInput } export type UserUpdateInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string emailVerified?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null name?: NullableStringFieldUpdateOperationsInput | string | null image?: NullableStringFieldUpdateOperationsInput | string | null role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string accounts?: AccountUpdateManyWithoutUserNestedInput sessions?: SessionUpdateManyWithoutUserNestedInput familyGroups?: FamilyGroupMemberUpdateManyWithoutUserNestedInput familyGroupOwned?: FamilyGroupUpdateManyWithoutOwnerNestedInput subscriptions?: SubscriptionUpdateManyWithoutUserNestedInput alerts?: AlertUpdateManyWithoutUserNestedInput voiceEnrollments?: VoiceEnrollmentUpdateManyWithoutUserNestedInput voiceAnalyses?: VoiceAnalysisUpdateManyWithoutUserNestedInput spamFeedback?: SpamFeedbackUpdateManyWithoutUserNestedInput spamRules?: SpamRuleUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string emailVerified?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null name?: NullableStringFieldUpdateOperationsInput | string | null image?: NullableStringFieldUpdateOperationsInput | string | null role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string accounts?: AccountUncheckedUpdateManyWithoutUserNestedInput sessions?: SessionUncheckedUpdateManyWithoutUserNestedInput familyGroups?: FamilyGroupMemberUncheckedUpdateManyWithoutUserNestedInput familyGroupOwned?: FamilyGroupUncheckedUpdateManyWithoutOwnerNestedInput subscriptions?: SubscriptionUncheckedUpdateManyWithoutUserNestedInput alerts?: AlertUncheckedUpdateManyWithoutUserNestedInput voiceEnrollments?: VoiceEnrollmentUncheckedUpdateManyWithoutUserNestedInput voiceAnalyses?: VoiceAnalysisUncheckedUpdateManyWithoutUserNestedInput spamFeedback?: SpamFeedbackUncheckedUpdateManyWithoutUserNestedInput spamRules?: SpamRuleUncheckedUpdateManyWithoutUserNestedInput } export type UserCreateManyInput = { id?: string email: string emailVerified?: Date | string | null name?: string | null image?: string | null role?: $Enums.UserRole createdAt?: Date | string updatedAt?: Date | string } export type UserUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string emailVerified?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null name?: NullableStringFieldUpdateOperationsInput | string | null image?: NullableStringFieldUpdateOperationsInput | string | null role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UserUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string emailVerified?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null name?: NullableStringFieldUpdateOperationsInput | string | null image?: NullableStringFieldUpdateOperationsInput | string | null role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AccountCreateInput = { id?: string provider: string providerAccountId: string access_token?: string | null refresh_token?: string | null expires_at?: number | null token_type?: string | null scope?: string | null createdAt?: Date | string updatedAt?: Date | string user: UserCreateNestedOneWithoutAccountsInput } export type AccountUncheckedCreateInput = { id?: string userId: string provider: string providerAccountId: string access_token?: string | null refresh_token?: string | null expires_at?: number | null token_type?: string | null scope?: string | null createdAt?: Date | string updatedAt?: Date | string } export type AccountUpdateInput = { id?: StringFieldUpdateOperationsInput | string provider?: StringFieldUpdateOperationsInput | string providerAccountId?: StringFieldUpdateOperationsInput | string access_token?: NullableStringFieldUpdateOperationsInput | string | null refresh_token?: NullableStringFieldUpdateOperationsInput | string | null expires_at?: NullableIntFieldUpdateOperationsInput | number | null token_type?: NullableStringFieldUpdateOperationsInput | string | null scope?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string user?: UserUpdateOneRequiredWithoutAccountsNestedInput } export type AccountUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string provider?: StringFieldUpdateOperationsInput | string providerAccountId?: StringFieldUpdateOperationsInput | string access_token?: NullableStringFieldUpdateOperationsInput | string | null refresh_token?: NullableStringFieldUpdateOperationsInput | string | null expires_at?: NullableIntFieldUpdateOperationsInput | number | null token_type?: NullableStringFieldUpdateOperationsInput | string | null scope?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AccountCreateManyInput = { id?: string userId: string provider: string providerAccountId: string access_token?: string | null refresh_token?: string | null expires_at?: number | null token_type?: string | null scope?: string | null createdAt?: Date | string updatedAt?: Date | string } export type AccountUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string provider?: StringFieldUpdateOperationsInput | string providerAccountId?: StringFieldUpdateOperationsInput | string access_token?: NullableStringFieldUpdateOperationsInput | string | null refresh_token?: NullableStringFieldUpdateOperationsInput | string | null expires_at?: NullableIntFieldUpdateOperationsInput | number | null token_type?: NullableStringFieldUpdateOperationsInput | string | null scope?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AccountUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string provider?: StringFieldUpdateOperationsInput | string providerAccountId?: StringFieldUpdateOperationsInput | string access_token?: NullableStringFieldUpdateOperationsInput | string | null refresh_token?: NullableStringFieldUpdateOperationsInput | string | null expires_at?: NullableIntFieldUpdateOperationsInput | number | null token_type?: NullableStringFieldUpdateOperationsInput | string | null scope?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SessionCreateInput = { id?: string sessionToken: string expires: Date | string createdAt?: Date | string updatedAt?: Date | string user: UserCreateNestedOneWithoutSessionsInput } export type SessionUncheckedCreateInput = { id?: string userId: string sessionToken: string expires: Date | string createdAt?: Date | string updatedAt?: Date | string } export type SessionUpdateInput = { id?: StringFieldUpdateOperationsInput | string sessionToken?: StringFieldUpdateOperationsInput | string expires?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string user?: UserUpdateOneRequiredWithoutSessionsNestedInput } export type SessionUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string sessionToken?: StringFieldUpdateOperationsInput | string expires?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SessionCreateManyInput = { id?: string userId: string sessionToken: string expires: Date | string createdAt?: Date | string updatedAt?: Date | string } export type SessionUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string sessionToken?: StringFieldUpdateOperationsInput | string expires?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SessionUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string sessionToken?: StringFieldUpdateOperationsInput | string expires?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type FamilyGroupCreateInput = { id?: string name: string createdAt?: Date | string updatedAt?: Date | string owner: UserCreateNestedOneWithoutFamilyGroupOwnedInput members?: FamilyGroupMemberCreateNestedManyWithoutGroupInput subscriptions?: SubscriptionCreateNestedManyWithoutFamilyGroupInput } export type FamilyGroupUncheckedCreateInput = { id?: string name: string ownerId: string createdAt?: Date | string updatedAt?: Date | string members?: FamilyGroupMemberUncheckedCreateNestedManyWithoutGroupInput subscriptions?: SubscriptionUncheckedCreateNestedManyWithoutFamilyGroupInput } export type FamilyGroupUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string owner?: UserUpdateOneRequiredWithoutFamilyGroupOwnedNestedInput members?: FamilyGroupMemberUpdateManyWithoutGroupNestedInput subscriptions?: SubscriptionUpdateManyWithoutFamilyGroupNestedInput } export type FamilyGroupUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string ownerId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string members?: FamilyGroupMemberUncheckedUpdateManyWithoutGroupNestedInput subscriptions?: SubscriptionUncheckedUpdateManyWithoutFamilyGroupNestedInput } export type FamilyGroupCreateManyInput = { id?: string name: string ownerId: string createdAt?: Date | string updatedAt?: Date | string } export type FamilyGroupUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type FamilyGroupUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string ownerId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type FamilyGroupMemberCreateInput = { id?: string role?: $Enums.FamilyMemberRole joinedAt?: Date | string createdAt?: Date | string updatedAt?: Date | string group: FamilyGroupCreateNestedOneWithoutMembersInput user: UserCreateNestedOneWithoutFamilyGroupsInput } export type FamilyGroupMemberUncheckedCreateInput = { id?: string groupId: string userId: string role?: $Enums.FamilyMemberRole joinedAt?: Date | string createdAt?: Date | string updatedAt?: Date | string } export type FamilyGroupMemberUpdateInput = { id?: StringFieldUpdateOperationsInput | string role?: EnumFamilyMemberRoleFieldUpdateOperationsInput | $Enums.FamilyMemberRole joinedAt?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string group?: FamilyGroupUpdateOneRequiredWithoutMembersNestedInput user?: UserUpdateOneRequiredWithoutFamilyGroupsNestedInput } export type FamilyGroupMemberUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string groupId?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string role?: EnumFamilyMemberRoleFieldUpdateOperationsInput | $Enums.FamilyMemberRole joinedAt?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type FamilyGroupMemberCreateManyInput = { id?: string groupId: string userId: string role?: $Enums.FamilyMemberRole joinedAt?: Date | string createdAt?: Date | string updatedAt?: Date | string } export type FamilyGroupMemberUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string role?: EnumFamilyMemberRoleFieldUpdateOperationsInput | $Enums.FamilyMemberRole joinedAt?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type FamilyGroupMemberUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string groupId?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string role?: EnumFamilyMemberRoleFieldUpdateOperationsInput | $Enums.FamilyMemberRole joinedAt?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SubscriptionCreateInput = { id?: string stripeId?: string | null tier?: $Enums.SubscriptionTier status?: $Enums.SubscriptionStatus currentPeriodStart: Date | string currentPeriodEnd: Date | string cancelAtPeriodEnd?: boolean createdAt?: Date | string updatedAt?: Date | string user: UserCreateNestedOneWithoutSubscriptionsInput familyGroup?: FamilyGroupCreateNestedOneWithoutSubscriptionsInput watchlistItems?: WatchlistItemCreateNestedManyWithoutSubscriptionInput exposures?: ExposureCreateNestedManyWithoutSubscriptionInput alerts?: AlertCreateNestedManyWithoutSubscriptionInput } export type SubscriptionUncheckedCreateInput = { id?: string userId: string familyGroupId?: string | null stripeId?: string | null tier?: $Enums.SubscriptionTier status?: $Enums.SubscriptionStatus currentPeriodStart: Date | string currentPeriodEnd: Date | string cancelAtPeriodEnd?: boolean createdAt?: Date | string updatedAt?: Date | string watchlistItems?: WatchlistItemUncheckedCreateNestedManyWithoutSubscriptionInput exposures?: ExposureUncheckedCreateNestedManyWithoutSubscriptionInput alerts?: AlertUncheckedCreateNestedManyWithoutSubscriptionInput } export type SubscriptionUpdateInput = { id?: StringFieldUpdateOperationsInput | string stripeId?: NullableStringFieldUpdateOperationsInput | string | null tier?: EnumSubscriptionTierFieldUpdateOperationsInput | $Enums.SubscriptionTier status?: EnumSubscriptionStatusFieldUpdateOperationsInput | $Enums.SubscriptionStatus currentPeriodStart?: DateTimeFieldUpdateOperationsInput | Date | string currentPeriodEnd?: DateTimeFieldUpdateOperationsInput | Date | string cancelAtPeriodEnd?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string user?: UserUpdateOneRequiredWithoutSubscriptionsNestedInput familyGroup?: FamilyGroupUpdateOneWithoutSubscriptionsNestedInput watchlistItems?: WatchlistItemUpdateManyWithoutSubscriptionNestedInput exposures?: ExposureUpdateManyWithoutSubscriptionNestedInput alerts?: AlertUpdateManyWithoutSubscriptionNestedInput } export type SubscriptionUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string familyGroupId?: NullableStringFieldUpdateOperationsInput | string | null stripeId?: NullableStringFieldUpdateOperationsInput | string | null tier?: EnumSubscriptionTierFieldUpdateOperationsInput | $Enums.SubscriptionTier status?: EnumSubscriptionStatusFieldUpdateOperationsInput | $Enums.SubscriptionStatus currentPeriodStart?: DateTimeFieldUpdateOperationsInput | Date | string currentPeriodEnd?: DateTimeFieldUpdateOperationsInput | Date | string cancelAtPeriodEnd?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string watchlistItems?: WatchlistItemUncheckedUpdateManyWithoutSubscriptionNestedInput exposures?: ExposureUncheckedUpdateManyWithoutSubscriptionNestedInput alerts?: AlertUncheckedUpdateManyWithoutSubscriptionNestedInput } export type SubscriptionCreateManyInput = { id?: string userId: string familyGroupId?: string | null stripeId?: string | null tier?: $Enums.SubscriptionTier status?: $Enums.SubscriptionStatus currentPeriodStart: Date | string currentPeriodEnd: Date | string cancelAtPeriodEnd?: boolean createdAt?: Date | string updatedAt?: Date | string } export type SubscriptionUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string stripeId?: NullableStringFieldUpdateOperationsInput | string | null tier?: EnumSubscriptionTierFieldUpdateOperationsInput | $Enums.SubscriptionTier status?: EnumSubscriptionStatusFieldUpdateOperationsInput | $Enums.SubscriptionStatus currentPeriodStart?: DateTimeFieldUpdateOperationsInput | Date | string currentPeriodEnd?: DateTimeFieldUpdateOperationsInput | Date | string cancelAtPeriodEnd?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SubscriptionUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string familyGroupId?: NullableStringFieldUpdateOperationsInput | string | null stripeId?: NullableStringFieldUpdateOperationsInput | string | null tier?: EnumSubscriptionTierFieldUpdateOperationsInput | $Enums.SubscriptionTier status?: EnumSubscriptionStatusFieldUpdateOperationsInput | $Enums.SubscriptionStatus currentPeriodStart?: DateTimeFieldUpdateOperationsInput | Date | string currentPeriodEnd?: DateTimeFieldUpdateOperationsInput | Date | string cancelAtPeriodEnd?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type WatchlistItemCreateInput = { id?: string type: $Enums.WatchlistType value: string hash: string isActive?: boolean createdAt?: Date | string updatedAt?: Date | string subscription: SubscriptionCreateNestedOneWithoutWatchlistItemsInput exposures?: ExposureCreateNestedManyWithoutWatchlistItemInput } export type WatchlistItemUncheckedCreateInput = { id?: string subscriptionId: string type: $Enums.WatchlistType value: string hash: string isActive?: boolean createdAt?: Date | string updatedAt?: Date | string exposures?: ExposureUncheckedCreateNestedManyWithoutWatchlistItemInput } export type WatchlistItemUpdateInput = { id?: StringFieldUpdateOperationsInput | string type?: EnumWatchlistTypeFieldUpdateOperationsInput | $Enums.WatchlistType value?: StringFieldUpdateOperationsInput | string hash?: StringFieldUpdateOperationsInput | string isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string subscription?: SubscriptionUpdateOneRequiredWithoutWatchlistItemsNestedInput exposures?: ExposureUpdateManyWithoutWatchlistItemNestedInput } export type WatchlistItemUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string subscriptionId?: StringFieldUpdateOperationsInput | string type?: EnumWatchlistTypeFieldUpdateOperationsInput | $Enums.WatchlistType value?: StringFieldUpdateOperationsInput | string hash?: StringFieldUpdateOperationsInput | string isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string exposures?: ExposureUncheckedUpdateManyWithoutWatchlistItemNestedInput } export type WatchlistItemCreateManyInput = { id?: string subscriptionId: string type: $Enums.WatchlistType value: string hash: string isActive?: boolean createdAt?: Date | string updatedAt?: Date | string } export type WatchlistItemUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string type?: EnumWatchlistTypeFieldUpdateOperationsInput | $Enums.WatchlistType value?: StringFieldUpdateOperationsInput | string hash?: StringFieldUpdateOperationsInput | string isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type WatchlistItemUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string subscriptionId?: StringFieldUpdateOperationsInput | string type?: EnumWatchlistTypeFieldUpdateOperationsInput | $Enums.WatchlistType value?: StringFieldUpdateOperationsInput | string hash?: StringFieldUpdateOperationsInput | string isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type ExposureCreateInput = { id?: string source: $Enums.ExposureSource dataType: $Enums.WatchlistType identifier: string identifierHash: string severity?: $Enums.ExposureSeverity metadata?: NullableJsonNullValueInput | InputJsonValue isFirstTime?: boolean detectedAt: Date | string createdAt?: Date | string updatedAt?: Date | string subscription: SubscriptionCreateNestedOneWithoutExposuresInput watchlistItem?: WatchlistItemCreateNestedOneWithoutExposuresInput alerts?: AlertCreateNestedManyWithoutExposureInput } export type ExposureUncheckedCreateInput = { id?: string subscriptionId: string watchlistItemId?: string | null source: $Enums.ExposureSource dataType: $Enums.WatchlistType identifier: string identifierHash: string severity?: $Enums.ExposureSeverity metadata?: NullableJsonNullValueInput | InputJsonValue isFirstTime?: boolean detectedAt: Date | string createdAt?: Date | string updatedAt?: Date | string alerts?: AlertUncheckedCreateNestedManyWithoutExposureInput } export type ExposureUpdateInput = { id?: StringFieldUpdateOperationsInput | string source?: EnumExposureSourceFieldUpdateOperationsInput | $Enums.ExposureSource dataType?: EnumWatchlistTypeFieldUpdateOperationsInput | $Enums.WatchlistType identifier?: StringFieldUpdateOperationsInput | string identifierHash?: StringFieldUpdateOperationsInput | string severity?: EnumExposureSeverityFieldUpdateOperationsInput | $Enums.ExposureSeverity metadata?: NullableJsonNullValueInput | InputJsonValue isFirstTime?: BoolFieldUpdateOperationsInput | boolean detectedAt?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string subscription?: SubscriptionUpdateOneRequiredWithoutExposuresNestedInput watchlistItem?: WatchlistItemUpdateOneWithoutExposuresNestedInput alerts?: AlertUpdateManyWithoutExposureNestedInput } export type ExposureUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string subscriptionId?: StringFieldUpdateOperationsInput | string watchlistItemId?: NullableStringFieldUpdateOperationsInput | string | null source?: EnumExposureSourceFieldUpdateOperationsInput | $Enums.ExposureSource dataType?: EnumWatchlistTypeFieldUpdateOperationsInput | $Enums.WatchlistType identifier?: StringFieldUpdateOperationsInput | string identifierHash?: StringFieldUpdateOperationsInput | string severity?: EnumExposureSeverityFieldUpdateOperationsInput | $Enums.ExposureSeverity metadata?: NullableJsonNullValueInput | InputJsonValue isFirstTime?: BoolFieldUpdateOperationsInput | boolean detectedAt?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string alerts?: AlertUncheckedUpdateManyWithoutExposureNestedInput } export type ExposureCreateManyInput = { id?: string subscriptionId: string watchlistItemId?: string | null source: $Enums.ExposureSource dataType: $Enums.WatchlistType identifier: string identifierHash: string severity?: $Enums.ExposureSeverity metadata?: NullableJsonNullValueInput | InputJsonValue isFirstTime?: boolean detectedAt: Date | string createdAt?: Date | string updatedAt?: Date | string } export type ExposureUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string source?: EnumExposureSourceFieldUpdateOperationsInput | $Enums.ExposureSource dataType?: EnumWatchlistTypeFieldUpdateOperationsInput | $Enums.WatchlistType identifier?: StringFieldUpdateOperationsInput | string identifierHash?: StringFieldUpdateOperationsInput | string severity?: EnumExposureSeverityFieldUpdateOperationsInput | $Enums.ExposureSeverity metadata?: NullableJsonNullValueInput | InputJsonValue isFirstTime?: BoolFieldUpdateOperationsInput | boolean detectedAt?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type ExposureUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string subscriptionId?: StringFieldUpdateOperationsInput | string watchlistItemId?: NullableStringFieldUpdateOperationsInput | string | null source?: EnumExposureSourceFieldUpdateOperationsInput | $Enums.ExposureSource dataType?: EnumWatchlistTypeFieldUpdateOperationsInput | $Enums.WatchlistType identifier?: StringFieldUpdateOperationsInput | string identifierHash?: StringFieldUpdateOperationsInput | string severity?: EnumExposureSeverityFieldUpdateOperationsInput | $Enums.ExposureSeverity metadata?: NullableJsonNullValueInput | InputJsonValue isFirstTime?: BoolFieldUpdateOperationsInput | boolean detectedAt?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AlertCreateInput = { id?: string type: $Enums.AlertType title: string message: string severity?: $Enums.AlertSeverity isRead?: boolean readAt?: Date | string | null channel?: AlertCreatechannelInput | $Enums.AlertChannel[] createdAt?: Date | string updatedAt?: Date | string subscription: SubscriptionCreateNestedOneWithoutAlertsInput user: UserCreateNestedOneWithoutAlertsInput exposure?: ExposureCreateNestedOneWithoutAlertsInput } export type AlertUncheckedCreateInput = { id?: string subscriptionId: string userId: string exposureId?: string | null type: $Enums.AlertType title: string message: string severity?: $Enums.AlertSeverity isRead?: boolean readAt?: Date | string | null channel?: AlertCreatechannelInput | $Enums.AlertChannel[] createdAt?: Date | string updatedAt?: Date | string } export type AlertUpdateInput = { id?: StringFieldUpdateOperationsInput | string type?: EnumAlertTypeFieldUpdateOperationsInput | $Enums.AlertType title?: StringFieldUpdateOperationsInput | string message?: StringFieldUpdateOperationsInput | string severity?: EnumAlertSeverityFieldUpdateOperationsInput | $Enums.AlertSeverity isRead?: BoolFieldUpdateOperationsInput | boolean readAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null channel?: AlertUpdatechannelInput | $Enums.AlertChannel[] createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string subscription?: SubscriptionUpdateOneRequiredWithoutAlertsNestedInput user?: UserUpdateOneRequiredWithoutAlertsNestedInput exposure?: ExposureUpdateOneWithoutAlertsNestedInput } export type AlertUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string subscriptionId?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string exposureId?: NullableStringFieldUpdateOperationsInput | string | null type?: EnumAlertTypeFieldUpdateOperationsInput | $Enums.AlertType title?: StringFieldUpdateOperationsInput | string message?: StringFieldUpdateOperationsInput | string severity?: EnumAlertSeverityFieldUpdateOperationsInput | $Enums.AlertSeverity isRead?: BoolFieldUpdateOperationsInput | boolean readAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null channel?: AlertUpdatechannelInput | $Enums.AlertChannel[] createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AlertCreateManyInput = { id?: string subscriptionId: string userId: string exposureId?: string | null type: $Enums.AlertType title: string message: string severity?: $Enums.AlertSeverity isRead?: boolean readAt?: Date | string | null channel?: AlertCreatechannelInput | $Enums.AlertChannel[] createdAt?: Date | string updatedAt?: Date | string } export type AlertUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string type?: EnumAlertTypeFieldUpdateOperationsInput | $Enums.AlertType title?: StringFieldUpdateOperationsInput | string message?: StringFieldUpdateOperationsInput | string severity?: EnumAlertSeverityFieldUpdateOperationsInput | $Enums.AlertSeverity isRead?: BoolFieldUpdateOperationsInput | boolean readAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null channel?: AlertUpdatechannelInput | $Enums.AlertChannel[] createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AlertUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string subscriptionId?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string exposureId?: NullableStringFieldUpdateOperationsInput | string | null type?: EnumAlertTypeFieldUpdateOperationsInput | $Enums.AlertType title?: StringFieldUpdateOperationsInput | string message?: StringFieldUpdateOperationsInput | string severity?: EnumAlertSeverityFieldUpdateOperationsInput | $Enums.AlertSeverity isRead?: BoolFieldUpdateOperationsInput | boolean readAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null channel?: AlertUpdatechannelInput | $Enums.AlertChannel[] createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type VoiceEnrollmentCreateInput = { id?: string name: string voiceHash: string audioMetadata?: NullableJsonNullValueInput | InputJsonValue isActive?: boolean createdAt?: Date | string updatedAt?: Date | string user: UserCreateNestedOneWithoutVoiceEnrollmentsInput analyses?: VoiceAnalysisCreateNestedManyWithoutEnrollmentInput } export type VoiceEnrollmentUncheckedCreateInput = { id?: string userId: string name: string voiceHash: string audioMetadata?: NullableJsonNullValueInput | InputJsonValue isActive?: boolean createdAt?: Date | string updatedAt?: Date | string analyses?: VoiceAnalysisUncheckedCreateNestedManyWithoutEnrollmentInput } export type VoiceEnrollmentUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string voiceHash?: StringFieldUpdateOperationsInput | string audioMetadata?: NullableJsonNullValueInput | InputJsonValue isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string user?: UserUpdateOneRequiredWithoutVoiceEnrollmentsNestedInput analyses?: VoiceAnalysisUpdateManyWithoutEnrollmentNestedInput } export type VoiceEnrollmentUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string voiceHash?: StringFieldUpdateOperationsInput | string audioMetadata?: NullableJsonNullValueInput | InputJsonValue isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string analyses?: VoiceAnalysisUncheckedUpdateManyWithoutEnrollmentNestedInput } export type VoiceEnrollmentCreateManyInput = { id?: string userId: string name: string voiceHash: string audioMetadata?: NullableJsonNullValueInput | InputJsonValue isActive?: boolean createdAt?: Date | string updatedAt?: Date | string } export type VoiceEnrollmentUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string voiceHash?: StringFieldUpdateOperationsInput | string audioMetadata?: NullableJsonNullValueInput | InputJsonValue isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type VoiceEnrollmentUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string voiceHash?: StringFieldUpdateOperationsInput | string audioMetadata?: NullableJsonNullValueInput | InputJsonValue isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type VoiceAnalysisCreateInput = { id?: string audioHash: string isSynthetic: boolean confidence: number analysisResult: JsonNullValueInput | InputJsonValue audioUrl: string createdAt?: Date | string enrollment?: VoiceEnrollmentCreateNestedOneWithoutAnalysesInput user: UserCreateNestedOneWithoutVoiceAnalysesInput } export type VoiceAnalysisUncheckedCreateInput = { id?: string enrollmentId?: string | null userId: string audioHash: string isSynthetic: boolean confidence: number analysisResult: JsonNullValueInput | InputJsonValue audioUrl: string createdAt?: Date | string } export type VoiceAnalysisUpdateInput = { id?: StringFieldUpdateOperationsInput | string audioHash?: StringFieldUpdateOperationsInput | string isSynthetic?: BoolFieldUpdateOperationsInput | boolean confidence?: FloatFieldUpdateOperationsInput | number analysisResult?: JsonNullValueInput | InputJsonValue audioUrl?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string enrollment?: VoiceEnrollmentUpdateOneWithoutAnalysesNestedInput user?: UserUpdateOneRequiredWithoutVoiceAnalysesNestedInput } export type VoiceAnalysisUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string enrollmentId?: NullableStringFieldUpdateOperationsInput | string | null userId?: StringFieldUpdateOperationsInput | string audioHash?: StringFieldUpdateOperationsInput | string isSynthetic?: BoolFieldUpdateOperationsInput | boolean confidence?: FloatFieldUpdateOperationsInput | number analysisResult?: JsonNullValueInput | InputJsonValue audioUrl?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type VoiceAnalysisCreateManyInput = { id?: string enrollmentId?: string | null userId: string audioHash: string isSynthetic: boolean confidence: number analysisResult: JsonNullValueInput | InputJsonValue audioUrl: string createdAt?: Date | string } export type VoiceAnalysisUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string audioHash?: StringFieldUpdateOperationsInput | string isSynthetic?: BoolFieldUpdateOperationsInput | boolean confidence?: FloatFieldUpdateOperationsInput | number analysisResult?: JsonNullValueInput | InputJsonValue audioUrl?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type VoiceAnalysisUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string enrollmentId?: NullableStringFieldUpdateOperationsInput | string | null userId?: StringFieldUpdateOperationsInput | string audioHash?: StringFieldUpdateOperationsInput | string isSynthetic?: BoolFieldUpdateOperationsInput | boolean confidence?: FloatFieldUpdateOperationsInput | number analysisResult?: JsonNullValueInput | InputJsonValue audioUrl?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SpamFeedbackCreateInput = { id?: string phoneNumber: string phoneNumberHash: string isSpam: boolean confidence?: number | null feedbackType: $Enums.FeedbackType metadata?: NullableJsonNullValueInput | InputJsonValue createdAt?: Date | string updatedAt?: Date | string user: UserCreateNestedOneWithoutSpamFeedbackInput } export type SpamFeedbackUncheckedCreateInput = { id?: string userId: string phoneNumber: string phoneNumberHash: string isSpam: boolean confidence?: number | null feedbackType: $Enums.FeedbackType metadata?: NullableJsonNullValueInput | InputJsonValue createdAt?: Date | string updatedAt?: Date | string } export type SpamFeedbackUpdateInput = { id?: StringFieldUpdateOperationsInput | string phoneNumber?: StringFieldUpdateOperationsInput | string phoneNumberHash?: StringFieldUpdateOperationsInput | string isSpam?: BoolFieldUpdateOperationsInput | boolean confidence?: NullableFloatFieldUpdateOperationsInput | number | null feedbackType?: EnumFeedbackTypeFieldUpdateOperationsInput | $Enums.FeedbackType metadata?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string user?: UserUpdateOneRequiredWithoutSpamFeedbackNestedInput } export type SpamFeedbackUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string phoneNumber?: StringFieldUpdateOperationsInput | string phoneNumberHash?: StringFieldUpdateOperationsInput | string isSpam?: BoolFieldUpdateOperationsInput | boolean confidence?: NullableFloatFieldUpdateOperationsInput | number | null feedbackType?: EnumFeedbackTypeFieldUpdateOperationsInput | $Enums.FeedbackType metadata?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SpamFeedbackCreateManyInput = { id?: string userId: string phoneNumber: string phoneNumberHash: string isSpam: boolean confidence?: number | null feedbackType: $Enums.FeedbackType metadata?: NullableJsonNullValueInput | InputJsonValue createdAt?: Date | string updatedAt?: Date | string } export type SpamFeedbackUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string phoneNumber?: StringFieldUpdateOperationsInput | string phoneNumberHash?: StringFieldUpdateOperationsInput | string isSpam?: BoolFieldUpdateOperationsInput | boolean confidence?: NullableFloatFieldUpdateOperationsInput | number | null feedbackType?: EnumFeedbackTypeFieldUpdateOperationsInput | $Enums.FeedbackType metadata?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SpamFeedbackUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string phoneNumber?: StringFieldUpdateOperationsInput | string phoneNumberHash?: StringFieldUpdateOperationsInput | string isSpam?: BoolFieldUpdateOperationsInput | boolean confidence?: NullableFloatFieldUpdateOperationsInput | number | null feedbackType?: EnumFeedbackTypeFieldUpdateOperationsInput | $Enums.FeedbackType metadata?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SpamRuleCreateInput = { id?: string isGlobal?: boolean ruleType: $Enums.RuleType pattern: string action: $Enums.RuleAction priority?: number isActive?: boolean createdAt?: Date | string updatedAt?: Date | string user?: UserCreateNestedOneWithoutSpamRulesInput } export type SpamRuleUncheckedCreateInput = { id?: string userId?: string | null isGlobal?: boolean ruleType: $Enums.RuleType pattern: string action: $Enums.RuleAction priority?: number isActive?: boolean createdAt?: Date | string updatedAt?: Date | string } export type SpamRuleUpdateInput = { id?: StringFieldUpdateOperationsInput | string isGlobal?: BoolFieldUpdateOperationsInput | boolean ruleType?: EnumRuleTypeFieldUpdateOperationsInput | $Enums.RuleType pattern?: StringFieldUpdateOperationsInput | string action?: EnumRuleActionFieldUpdateOperationsInput | $Enums.RuleAction priority?: IntFieldUpdateOperationsInput | number isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string user?: UserUpdateOneWithoutSpamRulesNestedInput } export type SpamRuleUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string userId?: NullableStringFieldUpdateOperationsInput | string | null isGlobal?: BoolFieldUpdateOperationsInput | boolean ruleType?: EnumRuleTypeFieldUpdateOperationsInput | $Enums.RuleType pattern?: StringFieldUpdateOperationsInput | string action?: EnumRuleActionFieldUpdateOperationsInput | $Enums.RuleAction priority?: IntFieldUpdateOperationsInput | number isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SpamRuleCreateManyInput = { id?: string userId?: string | null isGlobal?: boolean ruleType: $Enums.RuleType pattern: string action: $Enums.RuleAction priority?: number isActive?: boolean createdAt?: Date | string updatedAt?: Date | string } export type SpamRuleUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string isGlobal?: BoolFieldUpdateOperationsInput | boolean ruleType?: EnumRuleTypeFieldUpdateOperationsInput | $Enums.RuleType pattern?: StringFieldUpdateOperationsInput | string action?: EnumRuleActionFieldUpdateOperationsInput | $Enums.RuleAction priority?: IntFieldUpdateOperationsInput | number isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SpamRuleUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string userId?: NullableStringFieldUpdateOperationsInput | string | null isGlobal?: BoolFieldUpdateOperationsInput | boolean ruleType?: EnumRuleTypeFieldUpdateOperationsInput | $Enums.RuleType pattern?: StringFieldUpdateOperationsInput | string action?: EnumRuleActionFieldUpdateOperationsInput | $Enums.RuleAction priority?: IntFieldUpdateOperationsInput | number isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AuditLogCreateInput = { id?: string userId?: string | null action: string resource: string resourceId?: string | null changes?: NullableJsonNullValueInput | InputJsonValue metadata?: NullableJsonNullValueInput | InputJsonValue ipAddress?: string | null userAgent?: string | null createdAt?: Date | string } export type AuditLogUncheckedCreateInput = { id?: string userId?: string | null action: string resource: string resourceId?: string | null changes?: NullableJsonNullValueInput | InputJsonValue metadata?: NullableJsonNullValueInput | InputJsonValue ipAddress?: string | null userAgent?: string | null createdAt?: Date | string } export type AuditLogUpdateInput = { id?: StringFieldUpdateOperationsInput | string userId?: NullableStringFieldUpdateOperationsInput | string | null action?: StringFieldUpdateOperationsInput | string resource?: StringFieldUpdateOperationsInput | string resourceId?: NullableStringFieldUpdateOperationsInput | string | null changes?: NullableJsonNullValueInput | InputJsonValue metadata?: NullableJsonNullValueInput | InputJsonValue ipAddress?: NullableStringFieldUpdateOperationsInput | string | null userAgent?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AuditLogUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string userId?: NullableStringFieldUpdateOperationsInput | string | null action?: StringFieldUpdateOperationsInput | string resource?: StringFieldUpdateOperationsInput | string resourceId?: NullableStringFieldUpdateOperationsInput | string | null changes?: NullableJsonNullValueInput | InputJsonValue metadata?: NullableJsonNullValueInput | InputJsonValue ipAddress?: NullableStringFieldUpdateOperationsInput | string | null userAgent?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AuditLogCreateManyInput = { id?: string userId?: string | null action: string resource: string resourceId?: string | null changes?: NullableJsonNullValueInput | InputJsonValue metadata?: NullableJsonNullValueInput | InputJsonValue ipAddress?: string | null userAgent?: string | null createdAt?: Date | string } export type AuditLogUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string userId?: NullableStringFieldUpdateOperationsInput | string | null action?: StringFieldUpdateOperationsInput | string resource?: StringFieldUpdateOperationsInput | string resourceId?: NullableStringFieldUpdateOperationsInput | string | null changes?: NullableJsonNullValueInput | InputJsonValue metadata?: NullableJsonNullValueInput | InputJsonValue ipAddress?: NullableStringFieldUpdateOperationsInput | string | null userAgent?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AuditLogUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string userId?: NullableStringFieldUpdateOperationsInput | string | null action?: StringFieldUpdateOperationsInput | string resource?: StringFieldUpdateOperationsInput | string resourceId?: NullableStringFieldUpdateOperationsInput | string | null changes?: NullableJsonNullValueInput | InputJsonValue metadata?: NullableJsonNullValueInput | InputJsonValue ipAddress?: NullableStringFieldUpdateOperationsInput | string | null userAgent?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type KPISnapshotCreateInput = { id?: string date: Date | string metricName: string metricValue: number metadata?: NullableJsonNullValueInput | InputJsonValue createdAt?: Date | string } export type KPISnapshotUncheckedCreateInput = { id?: string date: Date | string metricName: string metricValue: number metadata?: NullableJsonNullValueInput | InputJsonValue createdAt?: Date | string } export type KPISnapshotUpdateInput = { id?: StringFieldUpdateOperationsInput | string date?: DateTimeFieldUpdateOperationsInput | Date | string metricName?: StringFieldUpdateOperationsInput | string metricValue?: FloatFieldUpdateOperationsInput | number metadata?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type KPISnapshotUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string date?: DateTimeFieldUpdateOperationsInput | Date | string metricName?: StringFieldUpdateOperationsInput | string metricValue?: FloatFieldUpdateOperationsInput | number metadata?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type KPISnapshotCreateManyInput = { id?: string date: Date | string metricName: string metricValue: number metadata?: NullableJsonNullValueInput | InputJsonValue createdAt?: Date | string } export type KPISnapshotUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string date?: DateTimeFieldUpdateOperationsInput | Date | string metricName?: StringFieldUpdateOperationsInput | string metricValue?: FloatFieldUpdateOperationsInput | number metadata?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type KPISnapshotUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string date?: DateTimeFieldUpdateOperationsInput | Date | string metricName?: StringFieldUpdateOperationsInput | string metricValue?: FloatFieldUpdateOperationsInput | number metadata?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type StringFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> in?: string[] | ListStringFieldRefInput<$PrismaModel> notIn?: string[] | ListStringFieldRefInput<$PrismaModel> lt?: string | StringFieldRefInput<$PrismaModel> lte?: string | StringFieldRefInput<$PrismaModel> gt?: string | StringFieldRefInput<$PrismaModel> gte?: string | StringFieldRefInput<$PrismaModel> contains?: string | StringFieldRefInput<$PrismaModel> startsWith?: string | StringFieldRefInput<$PrismaModel> endsWith?: string | StringFieldRefInput<$PrismaModel> mode?: QueryMode not?: NestedStringFilter<$PrismaModel> | string } export type DateTimeNullableFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> not?: NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null } export type StringNullableFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> | null in?: string[] | ListStringFieldRefInput<$PrismaModel> | null notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null lt?: string | StringFieldRefInput<$PrismaModel> lte?: string | StringFieldRefInput<$PrismaModel> gt?: string | StringFieldRefInput<$PrismaModel> gte?: string | StringFieldRefInput<$PrismaModel> contains?: string | StringFieldRefInput<$PrismaModel> startsWith?: string | StringFieldRefInput<$PrismaModel> endsWith?: string | StringFieldRefInput<$PrismaModel> mode?: QueryMode not?: NestedStringNullableFilter<$PrismaModel> | string | null } export type EnumUserRoleFilter<$PrismaModel = never> = { equals?: $Enums.UserRole | EnumUserRoleFieldRefInput<$PrismaModel> in?: $Enums.UserRole[] | ListEnumUserRoleFieldRefInput<$PrismaModel> notIn?: $Enums.UserRole[] | ListEnumUserRoleFieldRefInput<$PrismaModel> not?: NestedEnumUserRoleFilter<$PrismaModel> | $Enums.UserRole } export type DateTimeFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> not?: NestedDateTimeFilter<$PrismaModel> | Date | string } export type AccountListRelationFilter = { every?: AccountWhereInput some?: AccountWhereInput none?: AccountWhereInput } export type SessionListRelationFilter = { every?: SessionWhereInput some?: SessionWhereInput none?: SessionWhereInput } export type FamilyGroupMemberListRelationFilter = { every?: FamilyGroupMemberWhereInput some?: FamilyGroupMemberWhereInput none?: FamilyGroupMemberWhereInput } export type FamilyGroupListRelationFilter = { every?: FamilyGroupWhereInput some?: FamilyGroupWhereInput none?: FamilyGroupWhereInput } export type SubscriptionListRelationFilter = { every?: SubscriptionWhereInput some?: SubscriptionWhereInput none?: SubscriptionWhereInput } export type AlertListRelationFilter = { every?: AlertWhereInput some?: AlertWhereInput none?: AlertWhereInput } export type VoiceEnrollmentListRelationFilter = { every?: VoiceEnrollmentWhereInput some?: VoiceEnrollmentWhereInput none?: VoiceEnrollmentWhereInput } export type VoiceAnalysisListRelationFilter = { every?: VoiceAnalysisWhereInput some?: VoiceAnalysisWhereInput none?: VoiceAnalysisWhereInput } export type SpamFeedbackListRelationFilter = { every?: SpamFeedbackWhereInput some?: SpamFeedbackWhereInput none?: SpamFeedbackWhereInput } export type SpamRuleListRelationFilter = { every?: SpamRuleWhereInput some?: SpamRuleWhereInput none?: SpamRuleWhereInput } export type SortOrderInput = { sort: SortOrder nulls?: NullsOrder } export type AccountOrderByRelationAggregateInput = { _count?: SortOrder } export type SessionOrderByRelationAggregateInput = { _count?: SortOrder } export type FamilyGroupMemberOrderByRelationAggregateInput = { _count?: SortOrder } export type FamilyGroupOrderByRelationAggregateInput = { _count?: SortOrder } export type SubscriptionOrderByRelationAggregateInput = { _count?: SortOrder } export type AlertOrderByRelationAggregateInput = { _count?: SortOrder } export type VoiceEnrollmentOrderByRelationAggregateInput = { _count?: SortOrder } export type VoiceAnalysisOrderByRelationAggregateInput = { _count?: SortOrder } export type SpamFeedbackOrderByRelationAggregateInput = { _count?: SortOrder } export type SpamRuleOrderByRelationAggregateInput = { _count?: SortOrder } export type UserCountOrderByAggregateInput = { id?: SortOrder email?: SortOrder emailVerified?: SortOrder name?: SortOrder image?: SortOrder role?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type UserMaxOrderByAggregateInput = { id?: SortOrder email?: SortOrder emailVerified?: SortOrder name?: SortOrder image?: SortOrder role?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type UserMinOrderByAggregateInput = { id?: SortOrder email?: SortOrder emailVerified?: SortOrder name?: SortOrder image?: SortOrder role?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type StringWithAggregatesFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> in?: string[] | ListStringFieldRefInput<$PrismaModel> notIn?: string[] | ListStringFieldRefInput<$PrismaModel> lt?: string | StringFieldRefInput<$PrismaModel> lte?: string | StringFieldRefInput<$PrismaModel> gt?: string | StringFieldRefInput<$PrismaModel> gte?: string | StringFieldRefInput<$PrismaModel> contains?: string | StringFieldRefInput<$PrismaModel> startsWith?: string | StringFieldRefInput<$PrismaModel> endsWith?: string | StringFieldRefInput<$PrismaModel> mode?: QueryMode not?: NestedStringWithAggregatesFilter<$PrismaModel> | string _count?: NestedIntFilter<$PrismaModel> _min?: NestedStringFilter<$PrismaModel> _max?: NestedStringFilter<$PrismaModel> } export type DateTimeNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> not?: NestedDateTimeNullableWithAggregatesFilter<$PrismaModel> | Date | string | null _count?: NestedIntNullableFilter<$PrismaModel> _min?: NestedDateTimeNullableFilter<$PrismaModel> _max?: NestedDateTimeNullableFilter<$PrismaModel> } export type StringNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> | null in?: string[] | ListStringFieldRefInput<$PrismaModel> | null notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null lt?: string | StringFieldRefInput<$PrismaModel> lte?: string | StringFieldRefInput<$PrismaModel> gt?: string | StringFieldRefInput<$PrismaModel> gte?: string | StringFieldRefInput<$PrismaModel> contains?: string | StringFieldRefInput<$PrismaModel> startsWith?: string | StringFieldRefInput<$PrismaModel> endsWith?: string | StringFieldRefInput<$PrismaModel> mode?: QueryMode not?: NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null _count?: NestedIntNullableFilter<$PrismaModel> _min?: NestedStringNullableFilter<$PrismaModel> _max?: NestedStringNullableFilter<$PrismaModel> } export type EnumUserRoleWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.UserRole | EnumUserRoleFieldRefInput<$PrismaModel> in?: $Enums.UserRole[] | ListEnumUserRoleFieldRefInput<$PrismaModel> notIn?: $Enums.UserRole[] | ListEnumUserRoleFieldRefInput<$PrismaModel> not?: NestedEnumUserRoleWithAggregatesFilter<$PrismaModel> | $Enums.UserRole _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumUserRoleFilter<$PrismaModel> _max?: NestedEnumUserRoleFilter<$PrismaModel> } export type DateTimeWithAggregatesFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> not?: NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string _count?: NestedIntFilter<$PrismaModel> _min?: NestedDateTimeFilter<$PrismaModel> _max?: NestedDateTimeFilter<$PrismaModel> } export type IntNullableFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> | null in?: number[] | ListIntFieldRefInput<$PrismaModel> | null notIn?: number[] | ListIntFieldRefInput<$PrismaModel> | null lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntNullableFilter<$PrismaModel> | number | null } export type UserRelationFilter = { is?: UserWhereInput isNot?: UserWhereInput } export type AccountUserIdProviderProviderAccountIdCompoundUniqueInput = { userId: string provider: string providerAccountId: string } export type AccountCountOrderByAggregateInput = { id?: SortOrder userId?: SortOrder provider?: SortOrder providerAccountId?: SortOrder access_token?: SortOrder refresh_token?: SortOrder expires_at?: SortOrder token_type?: SortOrder scope?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type AccountAvgOrderByAggregateInput = { expires_at?: SortOrder } export type AccountMaxOrderByAggregateInput = { id?: SortOrder userId?: SortOrder provider?: SortOrder providerAccountId?: SortOrder access_token?: SortOrder refresh_token?: SortOrder expires_at?: SortOrder token_type?: SortOrder scope?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type AccountMinOrderByAggregateInput = { id?: SortOrder userId?: SortOrder provider?: SortOrder providerAccountId?: SortOrder access_token?: SortOrder refresh_token?: SortOrder expires_at?: SortOrder token_type?: SortOrder scope?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type AccountSumOrderByAggregateInput = { expires_at?: SortOrder } export type IntNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> | null in?: number[] | ListIntFieldRefInput<$PrismaModel> | null notIn?: number[] | ListIntFieldRefInput<$PrismaModel> | null lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntNullableWithAggregatesFilter<$PrismaModel> | number | null _count?: NestedIntNullableFilter<$PrismaModel> _avg?: NestedFloatNullableFilter<$PrismaModel> _sum?: NestedIntNullableFilter<$PrismaModel> _min?: NestedIntNullableFilter<$PrismaModel> _max?: NestedIntNullableFilter<$PrismaModel> } export type SessionCountOrderByAggregateInput = { id?: SortOrder userId?: SortOrder sessionToken?: SortOrder expires?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type SessionMaxOrderByAggregateInput = { id?: SortOrder userId?: SortOrder sessionToken?: SortOrder expires?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type SessionMinOrderByAggregateInput = { id?: SortOrder userId?: SortOrder sessionToken?: SortOrder expires?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type FamilyGroupCountOrderByAggregateInput = { id?: SortOrder name?: SortOrder ownerId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type FamilyGroupMaxOrderByAggregateInput = { id?: SortOrder name?: SortOrder ownerId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type FamilyGroupMinOrderByAggregateInput = { id?: SortOrder name?: SortOrder ownerId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type EnumFamilyMemberRoleFilter<$PrismaModel = never> = { equals?: $Enums.FamilyMemberRole | EnumFamilyMemberRoleFieldRefInput<$PrismaModel> in?: $Enums.FamilyMemberRole[] | ListEnumFamilyMemberRoleFieldRefInput<$PrismaModel> notIn?: $Enums.FamilyMemberRole[] | ListEnumFamilyMemberRoleFieldRefInput<$PrismaModel> not?: NestedEnumFamilyMemberRoleFilter<$PrismaModel> | $Enums.FamilyMemberRole } export type FamilyGroupRelationFilter = { is?: FamilyGroupWhereInput isNot?: FamilyGroupWhereInput } export type FamilyGroupMemberGroupIdUserIdCompoundUniqueInput = { groupId: string userId: string } export type FamilyGroupMemberCountOrderByAggregateInput = { id?: SortOrder groupId?: SortOrder userId?: SortOrder role?: SortOrder joinedAt?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type FamilyGroupMemberMaxOrderByAggregateInput = { id?: SortOrder groupId?: SortOrder userId?: SortOrder role?: SortOrder joinedAt?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type FamilyGroupMemberMinOrderByAggregateInput = { id?: SortOrder groupId?: SortOrder userId?: SortOrder role?: SortOrder joinedAt?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type EnumFamilyMemberRoleWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.FamilyMemberRole | EnumFamilyMemberRoleFieldRefInput<$PrismaModel> in?: $Enums.FamilyMemberRole[] | ListEnumFamilyMemberRoleFieldRefInput<$PrismaModel> notIn?: $Enums.FamilyMemberRole[] | ListEnumFamilyMemberRoleFieldRefInput<$PrismaModel> not?: NestedEnumFamilyMemberRoleWithAggregatesFilter<$PrismaModel> | $Enums.FamilyMemberRole _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumFamilyMemberRoleFilter<$PrismaModel> _max?: NestedEnumFamilyMemberRoleFilter<$PrismaModel> } export type EnumSubscriptionTierFilter<$PrismaModel = never> = { equals?: $Enums.SubscriptionTier | EnumSubscriptionTierFieldRefInput<$PrismaModel> in?: $Enums.SubscriptionTier[] | ListEnumSubscriptionTierFieldRefInput<$PrismaModel> notIn?: $Enums.SubscriptionTier[] | ListEnumSubscriptionTierFieldRefInput<$PrismaModel> not?: NestedEnumSubscriptionTierFilter<$PrismaModel> | $Enums.SubscriptionTier } export type EnumSubscriptionStatusFilter<$PrismaModel = never> = { equals?: $Enums.SubscriptionStatus | EnumSubscriptionStatusFieldRefInput<$PrismaModel> in?: $Enums.SubscriptionStatus[] | ListEnumSubscriptionStatusFieldRefInput<$PrismaModel> notIn?: $Enums.SubscriptionStatus[] | ListEnumSubscriptionStatusFieldRefInput<$PrismaModel> not?: NestedEnumSubscriptionStatusFilter<$PrismaModel> | $Enums.SubscriptionStatus } export type BoolFilter<$PrismaModel = never> = { equals?: boolean | BooleanFieldRefInput<$PrismaModel> not?: NestedBoolFilter<$PrismaModel> | boolean } export type FamilyGroupNullableRelationFilter = { is?: FamilyGroupWhereInput | null isNot?: FamilyGroupWhereInput | null } export type WatchlistItemListRelationFilter = { every?: WatchlistItemWhereInput some?: WatchlistItemWhereInput none?: WatchlistItemWhereInput } export type ExposureListRelationFilter = { every?: ExposureWhereInput some?: ExposureWhereInput none?: ExposureWhereInput } export type WatchlistItemOrderByRelationAggregateInput = { _count?: SortOrder } export type ExposureOrderByRelationAggregateInput = { _count?: SortOrder } export type SubscriptionCountOrderByAggregateInput = { id?: SortOrder userId?: SortOrder familyGroupId?: SortOrder stripeId?: SortOrder tier?: SortOrder status?: SortOrder currentPeriodStart?: SortOrder currentPeriodEnd?: SortOrder cancelAtPeriodEnd?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type SubscriptionMaxOrderByAggregateInput = { id?: SortOrder userId?: SortOrder familyGroupId?: SortOrder stripeId?: SortOrder tier?: SortOrder status?: SortOrder currentPeriodStart?: SortOrder currentPeriodEnd?: SortOrder cancelAtPeriodEnd?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type SubscriptionMinOrderByAggregateInput = { id?: SortOrder userId?: SortOrder familyGroupId?: SortOrder stripeId?: SortOrder tier?: SortOrder status?: SortOrder currentPeriodStart?: SortOrder currentPeriodEnd?: SortOrder cancelAtPeriodEnd?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type EnumSubscriptionTierWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.SubscriptionTier | EnumSubscriptionTierFieldRefInput<$PrismaModel> in?: $Enums.SubscriptionTier[] | ListEnumSubscriptionTierFieldRefInput<$PrismaModel> notIn?: $Enums.SubscriptionTier[] | ListEnumSubscriptionTierFieldRefInput<$PrismaModel> not?: NestedEnumSubscriptionTierWithAggregatesFilter<$PrismaModel> | $Enums.SubscriptionTier _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumSubscriptionTierFilter<$PrismaModel> _max?: NestedEnumSubscriptionTierFilter<$PrismaModel> } export type EnumSubscriptionStatusWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.SubscriptionStatus | EnumSubscriptionStatusFieldRefInput<$PrismaModel> in?: $Enums.SubscriptionStatus[] | ListEnumSubscriptionStatusFieldRefInput<$PrismaModel> notIn?: $Enums.SubscriptionStatus[] | ListEnumSubscriptionStatusFieldRefInput<$PrismaModel> not?: NestedEnumSubscriptionStatusWithAggregatesFilter<$PrismaModel> | $Enums.SubscriptionStatus _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumSubscriptionStatusFilter<$PrismaModel> _max?: NestedEnumSubscriptionStatusFilter<$PrismaModel> } export type BoolWithAggregatesFilter<$PrismaModel = never> = { equals?: boolean | BooleanFieldRefInput<$PrismaModel> not?: NestedBoolWithAggregatesFilter<$PrismaModel> | boolean _count?: NestedIntFilter<$PrismaModel> _min?: NestedBoolFilter<$PrismaModel> _max?: NestedBoolFilter<$PrismaModel> } export type EnumWatchlistTypeFilter<$PrismaModel = never> = { equals?: $Enums.WatchlistType | EnumWatchlistTypeFieldRefInput<$PrismaModel> in?: $Enums.WatchlistType[] | ListEnumWatchlistTypeFieldRefInput<$PrismaModel> notIn?: $Enums.WatchlistType[] | ListEnumWatchlistTypeFieldRefInput<$PrismaModel> not?: NestedEnumWatchlistTypeFilter<$PrismaModel> | $Enums.WatchlistType } export type SubscriptionRelationFilter = { is?: SubscriptionWhereInput isNot?: SubscriptionWhereInput } export type WatchlistItemSubscriptionIdTypeHashCompoundUniqueInput = { subscriptionId: string type: $Enums.WatchlistType hash: string } export type WatchlistItemCountOrderByAggregateInput = { id?: SortOrder subscriptionId?: SortOrder type?: SortOrder value?: SortOrder hash?: SortOrder isActive?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type WatchlistItemMaxOrderByAggregateInput = { id?: SortOrder subscriptionId?: SortOrder type?: SortOrder value?: SortOrder hash?: SortOrder isActive?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type WatchlistItemMinOrderByAggregateInput = { id?: SortOrder subscriptionId?: SortOrder type?: SortOrder value?: SortOrder hash?: SortOrder isActive?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type EnumWatchlistTypeWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.WatchlistType | EnumWatchlistTypeFieldRefInput<$PrismaModel> in?: $Enums.WatchlistType[] | ListEnumWatchlistTypeFieldRefInput<$PrismaModel> notIn?: $Enums.WatchlistType[] | ListEnumWatchlistTypeFieldRefInput<$PrismaModel> not?: NestedEnumWatchlistTypeWithAggregatesFilter<$PrismaModel> | $Enums.WatchlistType _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumWatchlistTypeFilter<$PrismaModel> _max?: NestedEnumWatchlistTypeFilter<$PrismaModel> } export type EnumExposureSourceFilter<$PrismaModel = never> = { equals?: $Enums.ExposureSource | EnumExposureSourceFieldRefInput<$PrismaModel> in?: $Enums.ExposureSource[] | ListEnumExposureSourceFieldRefInput<$PrismaModel> notIn?: $Enums.ExposureSource[] | ListEnumExposureSourceFieldRefInput<$PrismaModel> not?: NestedEnumExposureSourceFilter<$PrismaModel> | $Enums.ExposureSource } export type EnumExposureSeverityFilter<$PrismaModel = never> = { equals?: $Enums.ExposureSeverity | EnumExposureSeverityFieldRefInput<$PrismaModel> in?: $Enums.ExposureSeverity[] | ListEnumExposureSeverityFieldRefInput<$PrismaModel> notIn?: $Enums.ExposureSeverity[] | ListEnumExposureSeverityFieldRefInput<$PrismaModel> not?: NestedEnumExposureSeverityFilter<$PrismaModel> | $Enums.ExposureSeverity } export type JsonNullableFilter<$PrismaModel = never> = | PatchUndefined< Either>, Exclude>, 'path'>>, Required> > | OptionalFlat>, 'path'>> export type JsonNullableFilterBase<$PrismaModel = never> = { equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter path?: string[] string_contains?: string | StringFieldRefInput<$PrismaModel> string_starts_with?: string | StringFieldRefInput<$PrismaModel> string_ends_with?: string | StringFieldRefInput<$PrismaModel> array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter } export type WatchlistItemNullableRelationFilter = { is?: WatchlistItemWhereInput | null isNot?: WatchlistItemWhereInput | null } export type ExposureCountOrderByAggregateInput = { id?: SortOrder subscriptionId?: SortOrder watchlistItemId?: SortOrder source?: SortOrder dataType?: SortOrder identifier?: SortOrder identifierHash?: SortOrder severity?: SortOrder metadata?: SortOrder isFirstTime?: SortOrder detectedAt?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type ExposureMaxOrderByAggregateInput = { id?: SortOrder subscriptionId?: SortOrder watchlistItemId?: SortOrder source?: SortOrder dataType?: SortOrder identifier?: SortOrder identifierHash?: SortOrder severity?: SortOrder isFirstTime?: SortOrder detectedAt?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type ExposureMinOrderByAggregateInput = { id?: SortOrder subscriptionId?: SortOrder watchlistItemId?: SortOrder source?: SortOrder dataType?: SortOrder identifier?: SortOrder identifierHash?: SortOrder severity?: SortOrder isFirstTime?: SortOrder detectedAt?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type EnumExposureSourceWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.ExposureSource | EnumExposureSourceFieldRefInput<$PrismaModel> in?: $Enums.ExposureSource[] | ListEnumExposureSourceFieldRefInput<$PrismaModel> notIn?: $Enums.ExposureSource[] | ListEnumExposureSourceFieldRefInput<$PrismaModel> not?: NestedEnumExposureSourceWithAggregatesFilter<$PrismaModel> | $Enums.ExposureSource _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumExposureSourceFilter<$PrismaModel> _max?: NestedEnumExposureSourceFilter<$PrismaModel> } export type EnumExposureSeverityWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.ExposureSeverity | EnumExposureSeverityFieldRefInput<$PrismaModel> in?: $Enums.ExposureSeverity[] | ListEnumExposureSeverityFieldRefInput<$PrismaModel> notIn?: $Enums.ExposureSeverity[] | ListEnumExposureSeverityFieldRefInput<$PrismaModel> not?: NestedEnumExposureSeverityWithAggregatesFilter<$PrismaModel> | $Enums.ExposureSeverity _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumExposureSeverityFilter<$PrismaModel> _max?: NestedEnumExposureSeverityFilter<$PrismaModel> } export type JsonNullableWithAggregatesFilter<$PrismaModel = never> = | PatchUndefined< Either>, Exclude>, 'path'>>, Required> > | OptionalFlat>, 'path'>> export type JsonNullableWithAggregatesFilterBase<$PrismaModel = never> = { equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter path?: string[] string_contains?: string | StringFieldRefInput<$PrismaModel> string_starts_with?: string | StringFieldRefInput<$PrismaModel> string_ends_with?: string | StringFieldRefInput<$PrismaModel> array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter _count?: NestedIntNullableFilter<$PrismaModel> _min?: NestedJsonNullableFilter<$PrismaModel> _max?: NestedJsonNullableFilter<$PrismaModel> } export type EnumAlertTypeFilter<$PrismaModel = never> = { equals?: $Enums.AlertType | EnumAlertTypeFieldRefInput<$PrismaModel> in?: $Enums.AlertType[] | ListEnumAlertTypeFieldRefInput<$PrismaModel> notIn?: $Enums.AlertType[] | ListEnumAlertTypeFieldRefInput<$PrismaModel> not?: NestedEnumAlertTypeFilter<$PrismaModel> | $Enums.AlertType } export type EnumAlertSeverityFilter<$PrismaModel = never> = { equals?: $Enums.AlertSeverity | EnumAlertSeverityFieldRefInput<$PrismaModel> in?: $Enums.AlertSeverity[] | ListEnumAlertSeverityFieldRefInput<$PrismaModel> notIn?: $Enums.AlertSeverity[] | ListEnumAlertSeverityFieldRefInput<$PrismaModel> not?: NestedEnumAlertSeverityFilter<$PrismaModel> | $Enums.AlertSeverity } export type EnumAlertChannelNullableListFilter<$PrismaModel = never> = { equals?: $Enums.AlertChannel[] | ListEnumAlertChannelFieldRefInput<$PrismaModel> | null has?: $Enums.AlertChannel | EnumAlertChannelFieldRefInput<$PrismaModel> | null hasEvery?: $Enums.AlertChannel[] | ListEnumAlertChannelFieldRefInput<$PrismaModel> hasSome?: $Enums.AlertChannel[] | ListEnumAlertChannelFieldRefInput<$PrismaModel> isEmpty?: boolean } export type ExposureNullableRelationFilter = { is?: ExposureWhereInput | null isNot?: ExposureWhereInput | null } export type AlertCountOrderByAggregateInput = { id?: SortOrder subscriptionId?: SortOrder userId?: SortOrder exposureId?: SortOrder type?: SortOrder title?: SortOrder message?: SortOrder severity?: SortOrder isRead?: SortOrder readAt?: SortOrder channel?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type AlertMaxOrderByAggregateInput = { id?: SortOrder subscriptionId?: SortOrder userId?: SortOrder exposureId?: SortOrder type?: SortOrder title?: SortOrder message?: SortOrder severity?: SortOrder isRead?: SortOrder readAt?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type AlertMinOrderByAggregateInput = { id?: SortOrder subscriptionId?: SortOrder userId?: SortOrder exposureId?: SortOrder type?: SortOrder title?: SortOrder message?: SortOrder severity?: SortOrder isRead?: SortOrder readAt?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type EnumAlertTypeWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.AlertType | EnumAlertTypeFieldRefInput<$PrismaModel> in?: $Enums.AlertType[] | ListEnumAlertTypeFieldRefInput<$PrismaModel> notIn?: $Enums.AlertType[] | ListEnumAlertTypeFieldRefInput<$PrismaModel> not?: NestedEnumAlertTypeWithAggregatesFilter<$PrismaModel> | $Enums.AlertType _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumAlertTypeFilter<$PrismaModel> _max?: NestedEnumAlertTypeFilter<$PrismaModel> } export type EnumAlertSeverityWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.AlertSeverity | EnumAlertSeverityFieldRefInput<$PrismaModel> in?: $Enums.AlertSeverity[] | ListEnumAlertSeverityFieldRefInput<$PrismaModel> notIn?: $Enums.AlertSeverity[] | ListEnumAlertSeverityFieldRefInput<$PrismaModel> not?: NestedEnumAlertSeverityWithAggregatesFilter<$PrismaModel> | $Enums.AlertSeverity _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumAlertSeverityFilter<$PrismaModel> _max?: NestedEnumAlertSeverityFilter<$PrismaModel> } export type VoiceEnrollmentCountOrderByAggregateInput = { id?: SortOrder userId?: SortOrder name?: SortOrder voiceHash?: SortOrder audioMetadata?: SortOrder isActive?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type VoiceEnrollmentMaxOrderByAggregateInput = { id?: SortOrder userId?: SortOrder name?: SortOrder voiceHash?: SortOrder isActive?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type VoiceEnrollmentMinOrderByAggregateInput = { id?: SortOrder userId?: SortOrder name?: SortOrder voiceHash?: SortOrder isActive?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type FloatFilter<$PrismaModel = never> = { equals?: number | FloatFieldRefInput<$PrismaModel> in?: number[] | ListFloatFieldRefInput<$PrismaModel> notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> lt?: number | FloatFieldRefInput<$PrismaModel> lte?: number | FloatFieldRefInput<$PrismaModel> gt?: number | FloatFieldRefInput<$PrismaModel> gte?: number | FloatFieldRefInput<$PrismaModel> not?: NestedFloatFilter<$PrismaModel> | number } export type JsonFilter<$PrismaModel = never> = | PatchUndefined< Either>, Exclude>, 'path'>>, Required> > | OptionalFlat>, 'path'>> export type JsonFilterBase<$PrismaModel = never> = { equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter path?: string[] string_contains?: string | StringFieldRefInput<$PrismaModel> string_starts_with?: string | StringFieldRefInput<$PrismaModel> string_ends_with?: string | StringFieldRefInput<$PrismaModel> array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter } export type VoiceEnrollmentNullableRelationFilter = { is?: VoiceEnrollmentWhereInput | null isNot?: VoiceEnrollmentWhereInput | null } export type VoiceAnalysisCountOrderByAggregateInput = { id?: SortOrder enrollmentId?: SortOrder userId?: SortOrder audioHash?: SortOrder isSynthetic?: SortOrder confidence?: SortOrder analysisResult?: SortOrder audioUrl?: SortOrder createdAt?: SortOrder } export type VoiceAnalysisAvgOrderByAggregateInput = { confidence?: SortOrder } export type VoiceAnalysisMaxOrderByAggregateInput = { id?: SortOrder enrollmentId?: SortOrder userId?: SortOrder audioHash?: SortOrder isSynthetic?: SortOrder confidence?: SortOrder audioUrl?: SortOrder createdAt?: SortOrder } export type VoiceAnalysisMinOrderByAggregateInput = { id?: SortOrder enrollmentId?: SortOrder userId?: SortOrder audioHash?: SortOrder isSynthetic?: SortOrder confidence?: SortOrder audioUrl?: SortOrder createdAt?: SortOrder } export type VoiceAnalysisSumOrderByAggregateInput = { confidence?: SortOrder } export type FloatWithAggregatesFilter<$PrismaModel = never> = { equals?: number | FloatFieldRefInput<$PrismaModel> in?: number[] | ListFloatFieldRefInput<$PrismaModel> notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> lt?: number | FloatFieldRefInput<$PrismaModel> lte?: number | FloatFieldRefInput<$PrismaModel> gt?: number | FloatFieldRefInput<$PrismaModel> gte?: number | FloatFieldRefInput<$PrismaModel> not?: NestedFloatWithAggregatesFilter<$PrismaModel> | number _count?: NestedIntFilter<$PrismaModel> _avg?: NestedFloatFilter<$PrismaModel> _sum?: NestedFloatFilter<$PrismaModel> _min?: NestedFloatFilter<$PrismaModel> _max?: NestedFloatFilter<$PrismaModel> } export type JsonWithAggregatesFilter<$PrismaModel = never> = | PatchUndefined< Either>, Exclude>, 'path'>>, Required> > | OptionalFlat>, 'path'>> export type JsonWithAggregatesFilterBase<$PrismaModel = never> = { equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter path?: string[] string_contains?: string | StringFieldRefInput<$PrismaModel> string_starts_with?: string | StringFieldRefInput<$PrismaModel> string_ends_with?: string | StringFieldRefInput<$PrismaModel> array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter _count?: NestedIntFilter<$PrismaModel> _min?: NestedJsonFilter<$PrismaModel> _max?: NestedJsonFilter<$PrismaModel> } export type FloatNullableFilter<$PrismaModel = never> = { equals?: number | FloatFieldRefInput<$PrismaModel> | null in?: number[] | ListFloatFieldRefInput<$PrismaModel> | null notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> | null lt?: number | FloatFieldRefInput<$PrismaModel> lte?: number | FloatFieldRefInput<$PrismaModel> gt?: number | FloatFieldRefInput<$PrismaModel> gte?: number | FloatFieldRefInput<$PrismaModel> not?: NestedFloatNullableFilter<$PrismaModel> | number | null } export type EnumFeedbackTypeFilter<$PrismaModel = never> = { equals?: $Enums.FeedbackType | EnumFeedbackTypeFieldRefInput<$PrismaModel> in?: $Enums.FeedbackType[] | ListEnumFeedbackTypeFieldRefInput<$PrismaModel> notIn?: $Enums.FeedbackType[] | ListEnumFeedbackTypeFieldRefInput<$PrismaModel> not?: NestedEnumFeedbackTypeFilter<$PrismaModel> | $Enums.FeedbackType } export type SpamFeedbackCountOrderByAggregateInput = { id?: SortOrder userId?: SortOrder phoneNumber?: SortOrder phoneNumberHash?: SortOrder isSpam?: SortOrder confidence?: SortOrder feedbackType?: SortOrder metadata?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type SpamFeedbackAvgOrderByAggregateInput = { confidence?: SortOrder } export type SpamFeedbackMaxOrderByAggregateInput = { id?: SortOrder userId?: SortOrder phoneNumber?: SortOrder phoneNumberHash?: SortOrder isSpam?: SortOrder confidence?: SortOrder feedbackType?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type SpamFeedbackMinOrderByAggregateInput = { id?: SortOrder userId?: SortOrder phoneNumber?: SortOrder phoneNumberHash?: SortOrder isSpam?: SortOrder confidence?: SortOrder feedbackType?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type SpamFeedbackSumOrderByAggregateInput = { confidence?: SortOrder } export type FloatNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: number | FloatFieldRefInput<$PrismaModel> | null in?: number[] | ListFloatFieldRefInput<$PrismaModel> | null notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> | null lt?: number | FloatFieldRefInput<$PrismaModel> lte?: number | FloatFieldRefInput<$PrismaModel> gt?: number | FloatFieldRefInput<$PrismaModel> gte?: number | FloatFieldRefInput<$PrismaModel> not?: NestedFloatNullableWithAggregatesFilter<$PrismaModel> | number | null _count?: NestedIntNullableFilter<$PrismaModel> _avg?: NestedFloatNullableFilter<$PrismaModel> _sum?: NestedFloatNullableFilter<$PrismaModel> _min?: NestedFloatNullableFilter<$PrismaModel> _max?: NestedFloatNullableFilter<$PrismaModel> } export type EnumFeedbackTypeWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.FeedbackType | EnumFeedbackTypeFieldRefInput<$PrismaModel> in?: $Enums.FeedbackType[] | ListEnumFeedbackTypeFieldRefInput<$PrismaModel> notIn?: $Enums.FeedbackType[] | ListEnumFeedbackTypeFieldRefInput<$PrismaModel> not?: NestedEnumFeedbackTypeWithAggregatesFilter<$PrismaModel> | $Enums.FeedbackType _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumFeedbackTypeFilter<$PrismaModel> _max?: NestedEnumFeedbackTypeFilter<$PrismaModel> } export type EnumRuleTypeFilter<$PrismaModel = never> = { equals?: $Enums.RuleType | EnumRuleTypeFieldRefInput<$PrismaModel> in?: $Enums.RuleType[] | ListEnumRuleTypeFieldRefInput<$PrismaModel> notIn?: $Enums.RuleType[] | ListEnumRuleTypeFieldRefInput<$PrismaModel> not?: NestedEnumRuleTypeFilter<$PrismaModel> | $Enums.RuleType } export type EnumRuleActionFilter<$PrismaModel = never> = { equals?: $Enums.RuleAction | EnumRuleActionFieldRefInput<$PrismaModel> in?: $Enums.RuleAction[] | ListEnumRuleActionFieldRefInput<$PrismaModel> notIn?: $Enums.RuleAction[] | ListEnumRuleActionFieldRefInput<$PrismaModel> not?: NestedEnumRuleActionFilter<$PrismaModel> | $Enums.RuleAction } export type IntFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> in?: number[] | ListIntFieldRefInput<$PrismaModel> notIn?: number[] | ListIntFieldRefInput<$PrismaModel> lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntFilter<$PrismaModel> | number } export type UserNullableRelationFilter = { is?: UserWhereInput | null isNot?: UserWhereInput | null } export type SpamRuleCountOrderByAggregateInput = { id?: SortOrder userId?: SortOrder isGlobal?: SortOrder ruleType?: SortOrder pattern?: SortOrder action?: SortOrder priority?: SortOrder isActive?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type SpamRuleAvgOrderByAggregateInput = { priority?: SortOrder } export type SpamRuleMaxOrderByAggregateInput = { id?: SortOrder userId?: SortOrder isGlobal?: SortOrder ruleType?: SortOrder pattern?: SortOrder action?: SortOrder priority?: SortOrder isActive?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type SpamRuleMinOrderByAggregateInput = { id?: SortOrder userId?: SortOrder isGlobal?: SortOrder ruleType?: SortOrder pattern?: SortOrder action?: SortOrder priority?: SortOrder isActive?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type SpamRuleSumOrderByAggregateInput = { priority?: SortOrder } export type EnumRuleTypeWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.RuleType | EnumRuleTypeFieldRefInput<$PrismaModel> in?: $Enums.RuleType[] | ListEnumRuleTypeFieldRefInput<$PrismaModel> notIn?: $Enums.RuleType[] | ListEnumRuleTypeFieldRefInput<$PrismaModel> not?: NestedEnumRuleTypeWithAggregatesFilter<$PrismaModel> | $Enums.RuleType _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumRuleTypeFilter<$PrismaModel> _max?: NestedEnumRuleTypeFilter<$PrismaModel> } export type EnumRuleActionWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.RuleAction | EnumRuleActionFieldRefInput<$PrismaModel> in?: $Enums.RuleAction[] | ListEnumRuleActionFieldRefInput<$PrismaModel> notIn?: $Enums.RuleAction[] | ListEnumRuleActionFieldRefInput<$PrismaModel> not?: NestedEnumRuleActionWithAggregatesFilter<$PrismaModel> | $Enums.RuleAction _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumRuleActionFilter<$PrismaModel> _max?: NestedEnumRuleActionFilter<$PrismaModel> } export type IntWithAggregatesFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> in?: number[] | ListIntFieldRefInput<$PrismaModel> notIn?: number[] | ListIntFieldRefInput<$PrismaModel> lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntWithAggregatesFilter<$PrismaModel> | number _count?: NestedIntFilter<$PrismaModel> _avg?: NestedFloatFilter<$PrismaModel> _sum?: NestedIntFilter<$PrismaModel> _min?: NestedIntFilter<$PrismaModel> _max?: NestedIntFilter<$PrismaModel> } export type AuditLogCountOrderByAggregateInput = { id?: SortOrder userId?: SortOrder action?: SortOrder resource?: SortOrder resourceId?: SortOrder changes?: SortOrder metadata?: SortOrder ipAddress?: SortOrder userAgent?: SortOrder createdAt?: SortOrder } export type AuditLogMaxOrderByAggregateInput = { id?: SortOrder userId?: SortOrder action?: SortOrder resource?: SortOrder resourceId?: SortOrder ipAddress?: SortOrder userAgent?: SortOrder createdAt?: SortOrder } export type AuditLogMinOrderByAggregateInput = { id?: SortOrder userId?: SortOrder action?: SortOrder resource?: SortOrder resourceId?: SortOrder ipAddress?: SortOrder userAgent?: SortOrder createdAt?: SortOrder } export type KPISnapshotCountOrderByAggregateInput = { id?: SortOrder date?: SortOrder metricName?: SortOrder metricValue?: SortOrder metadata?: SortOrder createdAt?: SortOrder } export type KPISnapshotAvgOrderByAggregateInput = { metricValue?: SortOrder } export type KPISnapshotMaxOrderByAggregateInput = { id?: SortOrder date?: SortOrder metricName?: SortOrder metricValue?: SortOrder createdAt?: SortOrder } export type KPISnapshotMinOrderByAggregateInput = { id?: SortOrder date?: SortOrder metricName?: SortOrder metricValue?: SortOrder createdAt?: SortOrder } export type KPISnapshotSumOrderByAggregateInput = { metricValue?: SortOrder } export type AccountCreateNestedManyWithoutUserInput = { create?: XOR | AccountCreateWithoutUserInput[] | AccountUncheckedCreateWithoutUserInput[] connectOrCreate?: AccountCreateOrConnectWithoutUserInput | AccountCreateOrConnectWithoutUserInput[] createMany?: AccountCreateManyUserInputEnvelope connect?: AccountWhereUniqueInput | AccountWhereUniqueInput[] } export type SessionCreateNestedManyWithoutUserInput = { create?: XOR | SessionCreateWithoutUserInput[] | SessionUncheckedCreateWithoutUserInput[] connectOrCreate?: SessionCreateOrConnectWithoutUserInput | SessionCreateOrConnectWithoutUserInput[] createMany?: SessionCreateManyUserInputEnvelope connect?: SessionWhereUniqueInput | SessionWhereUniqueInput[] } export type FamilyGroupMemberCreateNestedManyWithoutUserInput = { create?: XOR | FamilyGroupMemberCreateWithoutUserInput[] | FamilyGroupMemberUncheckedCreateWithoutUserInput[] connectOrCreate?: FamilyGroupMemberCreateOrConnectWithoutUserInput | FamilyGroupMemberCreateOrConnectWithoutUserInput[] createMany?: FamilyGroupMemberCreateManyUserInputEnvelope connect?: FamilyGroupMemberWhereUniqueInput | FamilyGroupMemberWhereUniqueInput[] } export type FamilyGroupCreateNestedManyWithoutOwnerInput = { create?: XOR | FamilyGroupCreateWithoutOwnerInput[] | FamilyGroupUncheckedCreateWithoutOwnerInput[] connectOrCreate?: FamilyGroupCreateOrConnectWithoutOwnerInput | FamilyGroupCreateOrConnectWithoutOwnerInput[] createMany?: FamilyGroupCreateManyOwnerInputEnvelope connect?: FamilyGroupWhereUniqueInput | FamilyGroupWhereUniqueInput[] } export type SubscriptionCreateNestedManyWithoutUserInput = { create?: XOR | SubscriptionCreateWithoutUserInput[] | SubscriptionUncheckedCreateWithoutUserInput[] connectOrCreate?: SubscriptionCreateOrConnectWithoutUserInput | SubscriptionCreateOrConnectWithoutUserInput[] createMany?: SubscriptionCreateManyUserInputEnvelope connect?: SubscriptionWhereUniqueInput | SubscriptionWhereUniqueInput[] } export type AlertCreateNestedManyWithoutUserInput = { create?: XOR | AlertCreateWithoutUserInput[] | AlertUncheckedCreateWithoutUserInput[] connectOrCreate?: AlertCreateOrConnectWithoutUserInput | AlertCreateOrConnectWithoutUserInput[] createMany?: AlertCreateManyUserInputEnvelope connect?: AlertWhereUniqueInput | AlertWhereUniqueInput[] } export type VoiceEnrollmentCreateNestedManyWithoutUserInput = { create?: XOR | VoiceEnrollmentCreateWithoutUserInput[] | VoiceEnrollmentUncheckedCreateWithoutUserInput[] connectOrCreate?: VoiceEnrollmentCreateOrConnectWithoutUserInput | VoiceEnrollmentCreateOrConnectWithoutUserInput[] createMany?: VoiceEnrollmentCreateManyUserInputEnvelope connect?: VoiceEnrollmentWhereUniqueInput | VoiceEnrollmentWhereUniqueInput[] } export type VoiceAnalysisCreateNestedManyWithoutUserInput = { create?: XOR | VoiceAnalysisCreateWithoutUserInput[] | VoiceAnalysisUncheckedCreateWithoutUserInput[] connectOrCreate?: VoiceAnalysisCreateOrConnectWithoutUserInput | VoiceAnalysisCreateOrConnectWithoutUserInput[] createMany?: VoiceAnalysisCreateManyUserInputEnvelope connect?: VoiceAnalysisWhereUniqueInput | VoiceAnalysisWhereUniqueInput[] } export type SpamFeedbackCreateNestedManyWithoutUserInput = { create?: XOR | SpamFeedbackCreateWithoutUserInput[] | SpamFeedbackUncheckedCreateWithoutUserInput[] connectOrCreate?: SpamFeedbackCreateOrConnectWithoutUserInput | SpamFeedbackCreateOrConnectWithoutUserInput[] createMany?: SpamFeedbackCreateManyUserInputEnvelope connect?: SpamFeedbackWhereUniqueInput | SpamFeedbackWhereUniqueInput[] } export type SpamRuleCreateNestedManyWithoutUserInput = { create?: XOR | SpamRuleCreateWithoutUserInput[] | SpamRuleUncheckedCreateWithoutUserInput[] connectOrCreate?: SpamRuleCreateOrConnectWithoutUserInput | SpamRuleCreateOrConnectWithoutUserInput[] createMany?: SpamRuleCreateManyUserInputEnvelope connect?: SpamRuleWhereUniqueInput | SpamRuleWhereUniqueInput[] } export type AccountUncheckedCreateNestedManyWithoutUserInput = { create?: XOR | AccountCreateWithoutUserInput[] | AccountUncheckedCreateWithoutUserInput[] connectOrCreate?: AccountCreateOrConnectWithoutUserInput | AccountCreateOrConnectWithoutUserInput[] createMany?: AccountCreateManyUserInputEnvelope connect?: AccountWhereUniqueInput | AccountWhereUniqueInput[] } export type SessionUncheckedCreateNestedManyWithoutUserInput = { create?: XOR | SessionCreateWithoutUserInput[] | SessionUncheckedCreateWithoutUserInput[] connectOrCreate?: SessionCreateOrConnectWithoutUserInput | SessionCreateOrConnectWithoutUserInput[] createMany?: SessionCreateManyUserInputEnvelope connect?: SessionWhereUniqueInput | SessionWhereUniqueInput[] } export type FamilyGroupMemberUncheckedCreateNestedManyWithoutUserInput = { create?: XOR | FamilyGroupMemberCreateWithoutUserInput[] | FamilyGroupMemberUncheckedCreateWithoutUserInput[] connectOrCreate?: FamilyGroupMemberCreateOrConnectWithoutUserInput | FamilyGroupMemberCreateOrConnectWithoutUserInput[] createMany?: FamilyGroupMemberCreateManyUserInputEnvelope connect?: FamilyGroupMemberWhereUniqueInput | FamilyGroupMemberWhereUniqueInput[] } export type FamilyGroupUncheckedCreateNestedManyWithoutOwnerInput = { create?: XOR | FamilyGroupCreateWithoutOwnerInput[] | FamilyGroupUncheckedCreateWithoutOwnerInput[] connectOrCreate?: FamilyGroupCreateOrConnectWithoutOwnerInput | FamilyGroupCreateOrConnectWithoutOwnerInput[] createMany?: FamilyGroupCreateManyOwnerInputEnvelope connect?: FamilyGroupWhereUniqueInput | FamilyGroupWhereUniqueInput[] } export type SubscriptionUncheckedCreateNestedManyWithoutUserInput = { create?: XOR | SubscriptionCreateWithoutUserInput[] | SubscriptionUncheckedCreateWithoutUserInput[] connectOrCreate?: SubscriptionCreateOrConnectWithoutUserInput | SubscriptionCreateOrConnectWithoutUserInput[] createMany?: SubscriptionCreateManyUserInputEnvelope connect?: SubscriptionWhereUniqueInput | SubscriptionWhereUniqueInput[] } export type AlertUncheckedCreateNestedManyWithoutUserInput = { create?: XOR | AlertCreateWithoutUserInput[] | AlertUncheckedCreateWithoutUserInput[] connectOrCreate?: AlertCreateOrConnectWithoutUserInput | AlertCreateOrConnectWithoutUserInput[] createMany?: AlertCreateManyUserInputEnvelope connect?: AlertWhereUniqueInput | AlertWhereUniqueInput[] } export type VoiceEnrollmentUncheckedCreateNestedManyWithoutUserInput = { create?: XOR | VoiceEnrollmentCreateWithoutUserInput[] | VoiceEnrollmentUncheckedCreateWithoutUserInput[] connectOrCreate?: VoiceEnrollmentCreateOrConnectWithoutUserInput | VoiceEnrollmentCreateOrConnectWithoutUserInput[] createMany?: VoiceEnrollmentCreateManyUserInputEnvelope connect?: VoiceEnrollmentWhereUniqueInput | VoiceEnrollmentWhereUniqueInput[] } export type VoiceAnalysisUncheckedCreateNestedManyWithoutUserInput = { create?: XOR | VoiceAnalysisCreateWithoutUserInput[] | VoiceAnalysisUncheckedCreateWithoutUserInput[] connectOrCreate?: VoiceAnalysisCreateOrConnectWithoutUserInput | VoiceAnalysisCreateOrConnectWithoutUserInput[] createMany?: VoiceAnalysisCreateManyUserInputEnvelope connect?: VoiceAnalysisWhereUniqueInput | VoiceAnalysisWhereUniqueInput[] } export type SpamFeedbackUncheckedCreateNestedManyWithoutUserInput = { create?: XOR | SpamFeedbackCreateWithoutUserInput[] | SpamFeedbackUncheckedCreateWithoutUserInput[] connectOrCreate?: SpamFeedbackCreateOrConnectWithoutUserInput | SpamFeedbackCreateOrConnectWithoutUserInput[] createMany?: SpamFeedbackCreateManyUserInputEnvelope connect?: SpamFeedbackWhereUniqueInput | SpamFeedbackWhereUniqueInput[] } export type SpamRuleUncheckedCreateNestedManyWithoutUserInput = { create?: XOR | SpamRuleCreateWithoutUserInput[] | SpamRuleUncheckedCreateWithoutUserInput[] connectOrCreate?: SpamRuleCreateOrConnectWithoutUserInput | SpamRuleCreateOrConnectWithoutUserInput[] createMany?: SpamRuleCreateManyUserInputEnvelope connect?: SpamRuleWhereUniqueInput | SpamRuleWhereUniqueInput[] } export type StringFieldUpdateOperationsInput = { set?: string } export type NullableDateTimeFieldUpdateOperationsInput = { set?: Date | string | null } export type NullableStringFieldUpdateOperationsInput = { set?: string | null } export type EnumUserRoleFieldUpdateOperationsInput = { set?: $Enums.UserRole } export type DateTimeFieldUpdateOperationsInput = { set?: Date | string } export type AccountUpdateManyWithoutUserNestedInput = { create?: XOR | AccountCreateWithoutUserInput[] | AccountUncheckedCreateWithoutUserInput[] connectOrCreate?: AccountCreateOrConnectWithoutUserInput | AccountCreateOrConnectWithoutUserInput[] upsert?: AccountUpsertWithWhereUniqueWithoutUserInput | AccountUpsertWithWhereUniqueWithoutUserInput[] createMany?: AccountCreateManyUserInputEnvelope set?: AccountWhereUniqueInput | AccountWhereUniqueInput[] disconnect?: AccountWhereUniqueInput | AccountWhereUniqueInput[] delete?: AccountWhereUniqueInput | AccountWhereUniqueInput[] connect?: AccountWhereUniqueInput | AccountWhereUniqueInput[] update?: AccountUpdateWithWhereUniqueWithoutUserInput | AccountUpdateWithWhereUniqueWithoutUserInput[] updateMany?: AccountUpdateManyWithWhereWithoutUserInput | AccountUpdateManyWithWhereWithoutUserInput[] deleteMany?: AccountScalarWhereInput | AccountScalarWhereInput[] } export type SessionUpdateManyWithoutUserNestedInput = { create?: XOR | SessionCreateWithoutUserInput[] | SessionUncheckedCreateWithoutUserInput[] connectOrCreate?: SessionCreateOrConnectWithoutUserInput | SessionCreateOrConnectWithoutUserInput[] upsert?: SessionUpsertWithWhereUniqueWithoutUserInput | SessionUpsertWithWhereUniqueWithoutUserInput[] createMany?: SessionCreateManyUserInputEnvelope set?: SessionWhereUniqueInput | SessionWhereUniqueInput[] disconnect?: SessionWhereUniqueInput | SessionWhereUniqueInput[] delete?: SessionWhereUniqueInput | SessionWhereUniqueInput[] connect?: SessionWhereUniqueInput | SessionWhereUniqueInput[] update?: SessionUpdateWithWhereUniqueWithoutUserInput | SessionUpdateWithWhereUniqueWithoutUserInput[] updateMany?: SessionUpdateManyWithWhereWithoutUserInput | SessionUpdateManyWithWhereWithoutUserInput[] deleteMany?: SessionScalarWhereInput | SessionScalarWhereInput[] } export type FamilyGroupMemberUpdateManyWithoutUserNestedInput = { create?: XOR | FamilyGroupMemberCreateWithoutUserInput[] | FamilyGroupMemberUncheckedCreateWithoutUserInput[] connectOrCreate?: FamilyGroupMemberCreateOrConnectWithoutUserInput | FamilyGroupMemberCreateOrConnectWithoutUserInput[] upsert?: FamilyGroupMemberUpsertWithWhereUniqueWithoutUserInput | FamilyGroupMemberUpsertWithWhereUniqueWithoutUserInput[] createMany?: FamilyGroupMemberCreateManyUserInputEnvelope set?: FamilyGroupMemberWhereUniqueInput | FamilyGroupMemberWhereUniqueInput[] disconnect?: FamilyGroupMemberWhereUniqueInput | FamilyGroupMemberWhereUniqueInput[] delete?: FamilyGroupMemberWhereUniqueInput | FamilyGroupMemberWhereUniqueInput[] connect?: FamilyGroupMemberWhereUniqueInput | FamilyGroupMemberWhereUniqueInput[] update?: FamilyGroupMemberUpdateWithWhereUniqueWithoutUserInput | FamilyGroupMemberUpdateWithWhereUniqueWithoutUserInput[] updateMany?: FamilyGroupMemberUpdateManyWithWhereWithoutUserInput | FamilyGroupMemberUpdateManyWithWhereWithoutUserInput[] deleteMany?: FamilyGroupMemberScalarWhereInput | FamilyGroupMemberScalarWhereInput[] } export type FamilyGroupUpdateManyWithoutOwnerNestedInput = { create?: XOR | FamilyGroupCreateWithoutOwnerInput[] | FamilyGroupUncheckedCreateWithoutOwnerInput[] connectOrCreate?: FamilyGroupCreateOrConnectWithoutOwnerInput | FamilyGroupCreateOrConnectWithoutOwnerInput[] upsert?: FamilyGroupUpsertWithWhereUniqueWithoutOwnerInput | FamilyGroupUpsertWithWhereUniqueWithoutOwnerInput[] createMany?: FamilyGroupCreateManyOwnerInputEnvelope set?: FamilyGroupWhereUniqueInput | FamilyGroupWhereUniqueInput[] disconnect?: FamilyGroupWhereUniqueInput | FamilyGroupWhereUniqueInput[] delete?: FamilyGroupWhereUniqueInput | FamilyGroupWhereUniqueInput[] connect?: FamilyGroupWhereUniqueInput | FamilyGroupWhereUniqueInput[] update?: FamilyGroupUpdateWithWhereUniqueWithoutOwnerInput | FamilyGroupUpdateWithWhereUniqueWithoutOwnerInput[] updateMany?: FamilyGroupUpdateManyWithWhereWithoutOwnerInput | FamilyGroupUpdateManyWithWhereWithoutOwnerInput[] deleteMany?: FamilyGroupScalarWhereInput | FamilyGroupScalarWhereInput[] } export type SubscriptionUpdateManyWithoutUserNestedInput = { create?: XOR | SubscriptionCreateWithoutUserInput[] | SubscriptionUncheckedCreateWithoutUserInput[] connectOrCreate?: SubscriptionCreateOrConnectWithoutUserInput | SubscriptionCreateOrConnectWithoutUserInput[] upsert?: SubscriptionUpsertWithWhereUniqueWithoutUserInput | SubscriptionUpsertWithWhereUniqueWithoutUserInput[] createMany?: SubscriptionCreateManyUserInputEnvelope set?: SubscriptionWhereUniqueInput | SubscriptionWhereUniqueInput[] disconnect?: SubscriptionWhereUniqueInput | SubscriptionWhereUniqueInput[] delete?: SubscriptionWhereUniqueInput | SubscriptionWhereUniqueInput[] connect?: SubscriptionWhereUniqueInput | SubscriptionWhereUniqueInput[] update?: SubscriptionUpdateWithWhereUniqueWithoutUserInput | SubscriptionUpdateWithWhereUniqueWithoutUserInput[] updateMany?: SubscriptionUpdateManyWithWhereWithoutUserInput | SubscriptionUpdateManyWithWhereWithoutUserInput[] deleteMany?: SubscriptionScalarWhereInput | SubscriptionScalarWhereInput[] } export type AlertUpdateManyWithoutUserNestedInput = { create?: XOR | AlertCreateWithoutUserInput[] | AlertUncheckedCreateWithoutUserInput[] connectOrCreate?: AlertCreateOrConnectWithoutUserInput | AlertCreateOrConnectWithoutUserInput[] upsert?: AlertUpsertWithWhereUniqueWithoutUserInput | AlertUpsertWithWhereUniqueWithoutUserInput[] createMany?: AlertCreateManyUserInputEnvelope set?: AlertWhereUniqueInput | AlertWhereUniqueInput[] disconnect?: AlertWhereUniqueInput | AlertWhereUniqueInput[] delete?: AlertWhereUniqueInput | AlertWhereUniqueInput[] connect?: AlertWhereUniqueInput | AlertWhereUniqueInput[] update?: AlertUpdateWithWhereUniqueWithoutUserInput | AlertUpdateWithWhereUniqueWithoutUserInput[] updateMany?: AlertUpdateManyWithWhereWithoutUserInput | AlertUpdateManyWithWhereWithoutUserInput[] deleteMany?: AlertScalarWhereInput | AlertScalarWhereInput[] } export type VoiceEnrollmentUpdateManyWithoutUserNestedInput = { create?: XOR | VoiceEnrollmentCreateWithoutUserInput[] | VoiceEnrollmentUncheckedCreateWithoutUserInput[] connectOrCreate?: VoiceEnrollmentCreateOrConnectWithoutUserInput | VoiceEnrollmentCreateOrConnectWithoutUserInput[] upsert?: VoiceEnrollmentUpsertWithWhereUniqueWithoutUserInput | VoiceEnrollmentUpsertWithWhereUniqueWithoutUserInput[] createMany?: VoiceEnrollmentCreateManyUserInputEnvelope set?: VoiceEnrollmentWhereUniqueInput | VoiceEnrollmentWhereUniqueInput[] disconnect?: VoiceEnrollmentWhereUniqueInput | VoiceEnrollmentWhereUniqueInput[] delete?: VoiceEnrollmentWhereUniqueInput | VoiceEnrollmentWhereUniqueInput[] connect?: VoiceEnrollmentWhereUniqueInput | VoiceEnrollmentWhereUniqueInput[] update?: VoiceEnrollmentUpdateWithWhereUniqueWithoutUserInput | VoiceEnrollmentUpdateWithWhereUniqueWithoutUserInput[] updateMany?: VoiceEnrollmentUpdateManyWithWhereWithoutUserInput | VoiceEnrollmentUpdateManyWithWhereWithoutUserInput[] deleteMany?: VoiceEnrollmentScalarWhereInput | VoiceEnrollmentScalarWhereInput[] } export type VoiceAnalysisUpdateManyWithoutUserNestedInput = { create?: XOR | VoiceAnalysisCreateWithoutUserInput[] | VoiceAnalysisUncheckedCreateWithoutUserInput[] connectOrCreate?: VoiceAnalysisCreateOrConnectWithoutUserInput | VoiceAnalysisCreateOrConnectWithoutUserInput[] upsert?: VoiceAnalysisUpsertWithWhereUniqueWithoutUserInput | VoiceAnalysisUpsertWithWhereUniqueWithoutUserInput[] createMany?: VoiceAnalysisCreateManyUserInputEnvelope set?: VoiceAnalysisWhereUniqueInput | VoiceAnalysisWhereUniqueInput[] disconnect?: VoiceAnalysisWhereUniqueInput | VoiceAnalysisWhereUniqueInput[] delete?: VoiceAnalysisWhereUniqueInput | VoiceAnalysisWhereUniqueInput[] connect?: VoiceAnalysisWhereUniqueInput | VoiceAnalysisWhereUniqueInput[] update?: VoiceAnalysisUpdateWithWhereUniqueWithoutUserInput | VoiceAnalysisUpdateWithWhereUniqueWithoutUserInput[] updateMany?: VoiceAnalysisUpdateManyWithWhereWithoutUserInput | VoiceAnalysisUpdateManyWithWhereWithoutUserInput[] deleteMany?: VoiceAnalysisScalarWhereInput | VoiceAnalysisScalarWhereInput[] } export type SpamFeedbackUpdateManyWithoutUserNestedInput = { create?: XOR | SpamFeedbackCreateWithoutUserInput[] | SpamFeedbackUncheckedCreateWithoutUserInput[] connectOrCreate?: SpamFeedbackCreateOrConnectWithoutUserInput | SpamFeedbackCreateOrConnectWithoutUserInput[] upsert?: SpamFeedbackUpsertWithWhereUniqueWithoutUserInput | SpamFeedbackUpsertWithWhereUniqueWithoutUserInput[] createMany?: SpamFeedbackCreateManyUserInputEnvelope set?: SpamFeedbackWhereUniqueInput | SpamFeedbackWhereUniqueInput[] disconnect?: SpamFeedbackWhereUniqueInput | SpamFeedbackWhereUniqueInput[] delete?: SpamFeedbackWhereUniqueInput | SpamFeedbackWhereUniqueInput[] connect?: SpamFeedbackWhereUniqueInput | SpamFeedbackWhereUniqueInput[] update?: SpamFeedbackUpdateWithWhereUniqueWithoutUserInput | SpamFeedbackUpdateWithWhereUniqueWithoutUserInput[] updateMany?: SpamFeedbackUpdateManyWithWhereWithoutUserInput | SpamFeedbackUpdateManyWithWhereWithoutUserInput[] deleteMany?: SpamFeedbackScalarWhereInput | SpamFeedbackScalarWhereInput[] } export type SpamRuleUpdateManyWithoutUserNestedInput = { create?: XOR | SpamRuleCreateWithoutUserInput[] | SpamRuleUncheckedCreateWithoutUserInput[] connectOrCreate?: SpamRuleCreateOrConnectWithoutUserInput | SpamRuleCreateOrConnectWithoutUserInput[] upsert?: SpamRuleUpsertWithWhereUniqueWithoutUserInput | SpamRuleUpsertWithWhereUniqueWithoutUserInput[] createMany?: SpamRuleCreateManyUserInputEnvelope set?: SpamRuleWhereUniqueInput | SpamRuleWhereUniqueInput[] disconnect?: SpamRuleWhereUniqueInput | SpamRuleWhereUniqueInput[] delete?: SpamRuleWhereUniqueInput | SpamRuleWhereUniqueInput[] connect?: SpamRuleWhereUniqueInput | SpamRuleWhereUniqueInput[] update?: SpamRuleUpdateWithWhereUniqueWithoutUserInput | SpamRuleUpdateWithWhereUniqueWithoutUserInput[] updateMany?: SpamRuleUpdateManyWithWhereWithoutUserInput | SpamRuleUpdateManyWithWhereWithoutUserInput[] deleteMany?: SpamRuleScalarWhereInput | SpamRuleScalarWhereInput[] } export type AccountUncheckedUpdateManyWithoutUserNestedInput = { create?: XOR | AccountCreateWithoutUserInput[] | AccountUncheckedCreateWithoutUserInput[] connectOrCreate?: AccountCreateOrConnectWithoutUserInput | AccountCreateOrConnectWithoutUserInput[] upsert?: AccountUpsertWithWhereUniqueWithoutUserInput | AccountUpsertWithWhereUniqueWithoutUserInput[] createMany?: AccountCreateManyUserInputEnvelope set?: AccountWhereUniqueInput | AccountWhereUniqueInput[] disconnect?: AccountWhereUniqueInput | AccountWhereUniqueInput[] delete?: AccountWhereUniqueInput | AccountWhereUniqueInput[] connect?: AccountWhereUniqueInput | AccountWhereUniqueInput[] update?: AccountUpdateWithWhereUniqueWithoutUserInput | AccountUpdateWithWhereUniqueWithoutUserInput[] updateMany?: AccountUpdateManyWithWhereWithoutUserInput | AccountUpdateManyWithWhereWithoutUserInput[] deleteMany?: AccountScalarWhereInput | AccountScalarWhereInput[] } export type SessionUncheckedUpdateManyWithoutUserNestedInput = { create?: XOR | SessionCreateWithoutUserInput[] | SessionUncheckedCreateWithoutUserInput[] connectOrCreate?: SessionCreateOrConnectWithoutUserInput | SessionCreateOrConnectWithoutUserInput[] upsert?: SessionUpsertWithWhereUniqueWithoutUserInput | SessionUpsertWithWhereUniqueWithoutUserInput[] createMany?: SessionCreateManyUserInputEnvelope set?: SessionWhereUniqueInput | SessionWhereUniqueInput[] disconnect?: SessionWhereUniqueInput | SessionWhereUniqueInput[] delete?: SessionWhereUniqueInput | SessionWhereUniqueInput[] connect?: SessionWhereUniqueInput | SessionWhereUniqueInput[] update?: SessionUpdateWithWhereUniqueWithoutUserInput | SessionUpdateWithWhereUniqueWithoutUserInput[] updateMany?: SessionUpdateManyWithWhereWithoutUserInput | SessionUpdateManyWithWhereWithoutUserInput[] deleteMany?: SessionScalarWhereInput | SessionScalarWhereInput[] } export type FamilyGroupMemberUncheckedUpdateManyWithoutUserNestedInput = { create?: XOR | FamilyGroupMemberCreateWithoutUserInput[] | FamilyGroupMemberUncheckedCreateWithoutUserInput[] connectOrCreate?: FamilyGroupMemberCreateOrConnectWithoutUserInput | FamilyGroupMemberCreateOrConnectWithoutUserInput[] upsert?: FamilyGroupMemberUpsertWithWhereUniqueWithoutUserInput | FamilyGroupMemberUpsertWithWhereUniqueWithoutUserInput[] createMany?: FamilyGroupMemberCreateManyUserInputEnvelope set?: FamilyGroupMemberWhereUniqueInput | FamilyGroupMemberWhereUniqueInput[] disconnect?: FamilyGroupMemberWhereUniqueInput | FamilyGroupMemberWhereUniqueInput[] delete?: FamilyGroupMemberWhereUniqueInput | FamilyGroupMemberWhereUniqueInput[] connect?: FamilyGroupMemberWhereUniqueInput | FamilyGroupMemberWhereUniqueInput[] update?: FamilyGroupMemberUpdateWithWhereUniqueWithoutUserInput | FamilyGroupMemberUpdateWithWhereUniqueWithoutUserInput[] updateMany?: FamilyGroupMemberUpdateManyWithWhereWithoutUserInput | FamilyGroupMemberUpdateManyWithWhereWithoutUserInput[] deleteMany?: FamilyGroupMemberScalarWhereInput | FamilyGroupMemberScalarWhereInput[] } export type FamilyGroupUncheckedUpdateManyWithoutOwnerNestedInput = { create?: XOR | FamilyGroupCreateWithoutOwnerInput[] | FamilyGroupUncheckedCreateWithoutOwnerInput[] connectOrCreate?: FamilyGroupCreateOrConnectWithoutOwnerInput | FamilyGroupCreateOrConnectWithoutOwnerInput[] upsert?: FamilyGroupUpsertWithWhereUniqueWithoutOwnerInput | FamilyGroupUpsertWithWhereUniqueWithoutOwnerInput[] createMany?: FamilyGroupCreateManyOwnerInputEnvelope set?: FamilyGroupWhereUniqueInput | FamilyGroupWhereUniqueInput[] disconnect?: FamilyGroupWhereUniqueInput | FamilyGroupWhereUniqueInput[] delete?: FamilyGroupWhereUniqueInput | FamilyGroupWhereUniqueInput[] connect?: FamilyGroupWhereUniqueInput | FamilyGroupWhereUniqueInput[] update?: FamilyGroupUpdateWithWhereUniqueWithoutOwnerInput | FamilyGroupUpdateWithWhereUniqueWithoutOwnerInput[] updateMany?: FamilyGroupUpdateManyWithWhereWithoutOwnerInput | FamilyGroupUpdateManyWithWhereWithoutOwnerInput[] deleteMany?: FamilyGroupScalarWhereInput | FamilyGroupScalarWhereInput[] } export type SubscriptionUncheckedUpdateManyWithoutUserNestedInput = { create?: XOR | SubscriptionCreateWithoutUserInput[] | SubscriptionUncheckedCreateWithoutUserInput[] connectOrCreate?: SubscriptionCreateOrConnectWithoutUserInput | SubscriptionCreateOrConnectWithoutUserInput[] upsert?: SubscriptionUpsertWithWhereUniqueWithoutUserInput | SubscriptionUpsertWithWhereUniqueWithoutUserInput[] createMany?: SubscriptionCreateManyUserInputEnvelope set?: SubscriptionWhereUniqueInput | SubscriptionWhereUniqueInput[] disconnect?: SubscriptionWhereUniqueInput | SubscriptionWhereUniqueInput[] delete?: SubscriptionWhereUniqueInput | SubscriptionWhereUniqueInput[] connect?: SubscriptionWhereUniqueInput | SubscriptionWhereUniqueInput[] update?: SubscriptionUpdateWithWhereUniqueWithoutUserInput | SubscriptionUpdateWithWhereUniqueWithoutUserInput[] updateMany?: SubscriptionUpdateManyWithWhereWithoutUserInput | SubscriptionUpdateManyWithWhereWithoutUserInput[] deleteMany?: SubscriptionScalarWhereInput | SubscriptionScalarWhereInput[] } export type AlertUncheckedUpdateManyWithoutUserNestedInput = { create?: XOR | AlertCreateWithoutUserInput[] | AlertUncheckedCreateWithoutUserInput[] connectOrCreate?: AlertCreateOrConnectWithoutUserInput | AlertCreateOrConnectWithoutUserInput[] upsert?: AlertUpsertWithWhereUniqueWithoutUserInput | AlertUpsertWithWhereUniqueWithoutUserInput[] createMany?: AlertCreateManyUserInputEnvelope set?: AlertWhereUniqueInput | AlertWhereUniqueInput[] disconnect?: AlertWhereUniqueInput | AlertWhereUniqueInput[] delete?: AlertWhereUniqueInput | AlertWhereUniqueInput[] connect?: AlertWhereUniqueInput | AlertWhereUniqueInput[] update?: AlertUpdateWithWhereUniqueWithoutUserInput | AlertUpdateWithWhereUniqueWithoutUserInput[] updateMany?: AlertUpdateManyWithWhereWithoutUserInput | AlertUpdateManyWithWhereWithoutUserInput[] deleteMany?: AlertScalarWhereInput | AlertScalarWhereInput[] } export type VoiceEnrollmentUncheckedUpdateManyWithoutUserNestedInput = { create?: XOR | VoiceEnrollmentCreateWithoutUserInput[] | VoiceEnrollmentUncheckedCreateWithoutUserInput[] connectOrCreate?: VoiceEnrollmentCreateOrConnectWithoutUserInput | VoiceEnrollmentCreateOrConnectWithoutUserInput[] upsert?: VoiceEnrollmentUpsertWithWhereUniqueWithoutUserInput | VoiceEnrollmentUpsertWithWhereUniqueWithoutUserInput[] createMany?: VoiceEnrollmentCreateManyUserInputEnvelope set?: VoiceEnrollmentWhereUniqueInput | VoiceEnrollmentWhereUniqueInput[] disconnect?: VoiceEnrollmentWhereUniqueInput | VoiceEnrollmentWhereUniqueInput[] delete?: VoiceEnrollmentWhereUniqueInput | VoiceEnrollmentWhereUniqueInput[] connect?: VoiceEnrollmentWhereUniqueInput | VoiceEnrollmentWhereUniqueInput[] update?: VoiceEnrollmentUpdateWithWhereUniqueWithoutUserInput | VoiceEnrollmentUpdateWithWhereUniqueWithoutUserInput[] updateMany?: VoiceEnrollmentUpdateManyWithWhereWithoutUserInput | VoiceEnrollmentUpdateManyWithWhereWithoutUserInput[] deleteMany?: VoiceEnrollmentScalarWhereInput | VoiceEnrollmentScalarWhereInput[] } export type VoiceAnalysisUncheckedUpdateManyWithoutUserNestedInput = { create?: XOR | VoiceAnalysisCreateWithoutUserInput[] | VoiceAnalysisUncheckedCreateWithoutUserInput[] connectOrCreate?: VoiceAnalysisCreateOrConnectWithoutUserInput | VoiceAnalysisCreateOrConnectWithoutUserInput[] upsert?: VoiceAnalysisUpsertWithWhereUniqueWithoutUserInput | VoiceAnalysisUpsertWithWhereUniqueWithoutUserInput[] createMany?: VoiceAnalysisCreateManyUserInputEnvelope set?: VoiceAnalysisWhereUniqueInput | VoiceAnalysisWhereUniqueInput[] disconnect?: VoiceAnalysisWhereUniqueInput | VoiceAnalysisWhereUniqueInput[] delete?: VoiceAnalysisWhereUniqueInput | VoiceAnalysisWhereUniqueInput[] connect?: VoiceAnalysisWhereUniqueInput | VoiceAnalysisWhereUniqueInput[] update?: VoiceAnalysisUpdateWithWhereUniqueWithoutUserInput | VoiceAnalysisUpdateWithWhereUniqueWithoutUserInput[] updateMany?: VoiceAnalysisUpdateManyWithWhereWithoutUserInput | VoiceAnalysisUpdateManyWithWhereWithoutUserInput[] deleteMany?: VoiceAnalysisScalarWhereInput | VoiceAnalysisScalarWhereInput[] } export type SpamFeedbackUncheckedUpdateManyWithoutUserNestedInput = { create?: XOR | SpamFeedbackCreateWithoutUserInput[] | SpamFeedbackUncheckedCreateWithoutUserInput[] connectOrCreate?: SpamFeedbackCreateOrConnectWithoutUserInput | SpamFeedbackCreateOrConnectWithoutUserInput[] upsert?: SpamFeedbackUpsertWithWhereUniqueWithoutUserInput | SpamFeedbackUpsertWithWhereUniqueWithoutUserInput[] createMany?: SpamFeedbackCreateManyUserInputEnvelope set?: SpamFeedbackWhereUniqueInput | SpamFeedbackWhereUniqueInput[] disconnect?: SpamFeedbackWhereUniqueInput | SpamFeedbackWhereUniqueInput[] delete?: SpamFeedbackWhereUniqueInput | SpamFeedbackWhereUniqueInput[] connect?: SpamFeedbackWhereUniqueInput | SpamFeedbackWhereUniqueInput[] update?: SpamFeedbackUpdateWithWhereUniqueWithoutUserInput | SpamFeedbackUpdateWithWhereUniqueWithoutUserInput[] updateMany?: SpamFeedbackUpdateManyWithWhereWithoutUserInput | SpamFeedbackUpdateManyWithWhereWithoutUserInput[] deleteMany?: SpamFeedbackScalarWhereInput | SpamFeedbackScalarWhereInput[] } export type SpamRuleUncheckedUpdateManyWithoutUserNestedInput = { create?: XOR | SpamRuleCreateWithoutUserInput[] | SpamRuleUncheckedCreateWithoutUserInput[] connectOrCreate?: SpamRuleCreateOrConnectWithoutUserInput | SpamRuleCreateOrConnectWithoutUserInput[] upsert?: SpamRuleUpsertWithWhereUniqueWithoutUserInput | SpamRuleUpsertWithWhereUniqueWithoutUserInput[] createMany?: SpamRuleCreateManyUserInputEnvelope set?: SpamRuleWhereUniqueInput | SpamRuleWhereUniqueInput[] disconnect?: SpamRuleWhereUniqueInput | SpamRuleWhereUniqueInput[] delete?: SpamRuleWhereUniqueInput | SpamRuleWhereUniqueInput[] connect?: SpamRuleWhereUniqueInput | SpamRuleWhereUniqueInput[] update?: SpamRuleUpdateWithWhereUniqueWithoutUserInput | SpamRuleUpdateWithWhereUniqueWithoutUserInput[] updateMany?: SpamRuleUpdateManyWithWhereWithoutUserInput | SpamRuleUpdateManyWithWhereWithoutUserInput[] deleteMany?: SpamRuleScalarWhereInput | SpamRuleScalarWhereInput[] } export type UserCreateNestedOneWithoutAccountsInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutAccountsInput connect?: UserWhereUniqueInput } export type NullableIntFieldUpdateOperationsInput = { set?: number | null increment?: number decrement?: number multiply?: number divide?: number } export type UserUpdateOneRequiredWithoutAccountsNestedInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutAccountsInput upsert?: UserUpsertWithoutAccountsInput connect?: UserWhereUniqueInput update?: XOR, UserUncheckedUpdateWithoutAccountsInput> } export type UserCreateNestedOneWithoutSessionsInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutSessionsInput connect?: UserWhereUniqueInput } export type UserUpdateOneRequiredWithoutSessionsNestedInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutSessionsInput upsert?: UserUpsertWithoutSessionsInput connect?: UserWhereUniqueInput update?: XOR, UserUncheckedUpdateWithoutSessionsInput> } export type UserCreateNestedOneWithoutFamilyGroupOwnedInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutFamilyGroupOwnedInput connect?: UserWhereUniqueInput } export type FamilyGroupMemberCreateNestedManyWithoutGroupInput = { create?: XOR | FamilyGroupMemberCreateWithoutGroupInput[] | FamilyGroupMemberUncheckedCreateWithoutGroupInput[] connectOrCreate?: FamilyGroupMemberCreateOrConnectWithoutGroupInput | FamilyGroupMemberCreateOrConnectWithoutGroupInput[] createMany?: FamilyGroupMemberCreateManyGroupInputEnvelope connect?: FamilyGroupMemberWhereUniqueInput | FamilyGroupMemberWhereUniqueInput[] } export type SubscriptionCreateNestedManyWithoutFamilyGroupInput = { create?: XOR | SubscriptionCreateWithoutFamilyGroupInput[] | SubscriptionUncheckedCreateWithoutFamilyGroupInput[] connectOrCreate?: SubscriptionCreateOrConnectWithoutFamilyGroupInput | SubscriptionCreateOrConnectWithoutFamilyGroupInput[] createMany?: SubscriptionCreateManyFamilyGroupInputEnvelope connect?: SubscriptionWhereUniqueInput | SubscriptionWhereUniqueInput[] } export type FamilyGroupMemberUncheckedCreateNestedManyWithoutGroupInput = { create?: XOR | FamilyGroupMemberCreateWithoutGroupInput[] | FamilyGroupMemberUncheckedCreateWithoutGroupInput[] connectOrCreate?: FamilyGroupMemberCreateOrConnectWithoutGroupInput | FamilyGroupMemberCreateOrConnectWithoutGroupInput[] createMany?: FamilyGroupMemberCreateManyGroupInputEnvelope connect?: FamilyGroupMemberWhereUniqueInput | FamilyGroupMemberWhereUniqueInput[] } export type SubscriptionUncheckedCreateNestedManyWithoutFamilyGroupInput = { create?: XOR | SubscriptionCreateWithoutFamilyGroupInput[] | SubscriptionUncheckedCreateWithoutFamilyGroupInput[] connectOrCreate?: SubscriptionCreateOrConnectWithoutFamilyGroupInput | SubscriptionCreateOrConnectWithoutFamilyGroupInput[] createMany?: SubscriptionCreateManyFamilyGroupInputEnvelope connect?: SubscriptionWhereUniqueInput | SubscriptionWhereUniqueInput[] } export type UserUpdateOneRequiredWithoutFamilyGroupOwnedNestedInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutFamilyGroupOwnedInput upsert?: UserUpsertWithoutFamilyGroupOwnedInput connect?: UserWhereUniqueInput update?: XOR, UserUncheckedUpdateWithoutFamilyGroupOwnedInput> } export type FamilyGroupMemberUpdateManyWithoutGroupNestedInput = { create?: XOR | FamilyGroupMemberCreateWithoutGroupInput[] | FamilyGroupMemberUncheckedCreateWithoutGroupInput[] connectOrCreate?: FamilyGroupMemberCreateOrConnectWithoutGroupInput | FamilyGroupMemberCreateOrConnectWithoutGroupInput[] upsert?: FamilyGroupMemberUpsertWithWhereUniqueWithoutGroupInput | FamilyGroupMemberUpsertWithWhereUniqueWithoutGroupInput[] createMany?: FamilyGroupMemberCreateManyGroupInputEnvelope set?: FamilyGroupMemberWhereUniqueInput | FamilyGroupMemberWhereUniqueInput[] disconnect?: FamilyGroupMemberWhereUniqueInput | FamilyGroupMemberWhereUniqueInput[] delete?: FamilyGroupMemberWhereUniqueInput | FamilyGroupMemberWhereUniqueInput[] connect?: FamilyGroupMemberWhereUniqueInput | FamilyGroupMemberWhereUniqueInput[] update?: FamilyGroupMemberUpdateWithWhereUniqueWithoutGroupInput | FamilyGroupMemberUpdateWithWhereUniqueWithoutGroupInput[] updateMany?: FamilyGroupMemberUpdateManyWithWhereWithoutGroupInput | FamilyGroupMemberUpdateManyWithWhereWithoutGroupInput[] deleteMany?: FamilyGroupMemberScalarWhereInput | FamilyGroupMemberScalarWhereInput[] } export type SubscriptionUpdateManyWithoutFamilyGroupNestedInput = { create?: XOR | SubscriptionCreateWithoutFamilyGroupInput[] | SubscriptionUncheckedCreateWithoutFamilyGroupInput[] connectOrCreate?: SubscriptionCreateOrConnectWithoutFamilyGroupInput | SubscriptionCreateOrConnectWithoutFamilyGroupInput[] upsert?: SubscriptionUpsertWithWhereUniqueWithoutFamilyGroupInput | SubscriptionUpsertWithWhereUniqueWithoutFamilyGroupInput[] createMany?: SubscriptionCreateManyFamilyGroupInputEnvelope set?: SubscriptionWhereUniqueInput | SubscriptionWhereUniqueInput[] disconnect?: SubscriptionWhereUniqueInput | SubscriptionWhereUniqueInput[] delete?: SubscriptionWhereUniqueInput | SubscriptionWhereUniqueInput[] connect?: SubscriptionWhereUniqueInput | SubscriptionWhereUniqueInput[] update?: SubscriptionUpdateWithWhereUniqueWithoutFamilyGroupInput | SubscriptionUpdateWithWhereUniqueWithoutFamilyGroupInput[] updateMany?: SubscriptionUpdateManyWithWhereWithoutFamilyGroupInput | SubscriptionUpdateManyWithWhereWithoutFamilyGroupInput[] deleteMany?: SubscriptionScalarWhereInput | SubscriptionScalarWhereInput[] } export type FamilyGroupMemberUncheckedUpdateManyWithoutGroupNestedInput = { create?: XOR | FamilyGroupMemberCreateWithoutGroupInput[] | FamilyGroupMemberUncheckedCreateWithoutGroupInput[] connectOrCreate?: FamilyGroupMemberCreateOrConnectWithoutGroupInput | FamilyGroupMemberCreateOrConnectWithoutGroupInput[] upsert?: FamilyGroupMemberUpsertWithWhereUniqueWithoutGroupInput | FamilyGroupMemberUpsertWithWhereUniqueWithoutGroupInput[] createMany?: FamilyGroupMemberCreateManyGroupInputEnvelope set?: FamilyGroupMemberWhereUniqueInput | FamilyGroupMemberWhereUniqueInput[] disconnect?: FamilyGroupMemberWhereUniqueInput | FamilyGroupMemberWhereUniqueInput[] delete?: FamilyGroupMemberWhereUniqueInput | FamilyGroupMemberWhereUniqueInput[] connect?: FamilyGroupMemberWhereUniqueInput | FamilyGroupMemberWhereUniqueInput[] update?: FamilyGroupMemberUpdateWithWhereUniqueWithoutGroupInput | FamilyGroupMemberUpdateWithWhereUniqueWithoutGroupInput[] updateMany?: FamilyGroupMemberUpdateManyWithWhereWithoutGroupInput | FamilyGroupMemberUpdateManyWithWhereWithoutGroupInput[] deleteMany?: FamilyGroupMemberScalarWhereInput | FamilyGroupMemberScalarWhereInput[] } export type SubscriptionUncheckedUpdateManyWithoutFamilyGroupNestedInput = { create?: XOR | SubscriptionCreateWithoutFamilyGroupInput[] | SubscriptionUncheckedCreateWithoutFamilyGroupInput[] connectOrCreate?: SubscriptionCreateOrConnectWithoutFamilyGroupInput | SubscriptionCreateOrConnectWithoutFamilyGroupInput[] upsert?: SubscriptionUpsertWithWhereUniqueWithoutFamilyGroupInput | SubscriptionUpsertWithWhereUniqueWithoutFamilyGroupInput[] createMany?: SubscriptionCreateManyFamilyGroupInputEnvelope set?: SubscriptionWhereUniqueInput | SubscriptionWhereUniqueInput[] disconnect?: SubscriptionWhereUniqueInput | SubscriptionWhereUniqueInput[] delete?: SubscriptionWhereUniqueInput | SubscriptionWhereUniqueInput[] connect?: SubscriptionWhereUniqueInput | SubscriptionWhereUniqueInput[] update?: SubscriptionUpdateWithWhereUniqueWithoutFamilyGroupInput | SubscriptionUpdateWithWhereUniqueWithoutFamilyGroupInput[] updateMany?: SubscriptionUpdateManyWithWhereWithoutFamilyGroupInput | SubscriptionUpdateManyWithWhereWithoutFamilyGroupInput[] deleteMany?: SubscriptionScalarWhereInput | SubscriptionScalarWhereInput[] } export type FamilyGroupCreateNestedOneWithoutMembersInput = { create?: XOR connectOrCreate?: FamilyGroupCreateOrConnectWithoutMembersInput connect?: FamilyGroupWhereUniqueInput } export type UserCreateNestedOneWithoutFamilyGroupsInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutFamilyGroupsInput connect?: UserWhereUniqueInput } export type EnumFamilyMemberRoleFieldUpdateOperationsInput = { set?: $Enums.FamilyMemberRole } export type FamilyGroupUpdateOneRequiredWithoutMembersNestedInput = { create?: XOR connectOrCreate?: FamilyGroupCreateOrConnectWithoutMembersInput upsert?: FamilyGroupUpsertWithoutMembersInput connect?: FamilyGroupWhereUniqueInput update?: XOR, FamilyGroupUncheckedUpdateWithoutMembersInput> } export type UserUpdateOneRequiredWithoutFamilyGroupsNestedInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutFamilyGroupsInput upsert?: UserUpsertWithoutFamilyGroupsInput connect?: UserWhereUniqueInput update?: XOR, UserUncheckedUpdateWithoutFamilyGroupsInput> } export type UserCreateNestedOneWithoutSubscriptionsInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutSubscriptionsInput connect?: UserWhereUniqueInput } export type FamilyGroupCreateNestedOneWithoutSubscriptionsInput = { create?: XOR connectOrCreate?: FamilyGroupCreateOrConnectWithoutSubscriptionsInput connect?: FamilyGroupWhereUniqueInput } export type WatchlistItemCreateNestedManyWithoutSubscriptionInput = { create?: XOR | WatchlistItemCreateWithoutSubscriptionInput[] | WatchlistItemUncheckedCreateWithoutSubscriptionInput[] connectOrCreate?: WatchlistItemCreateOrConnectWithoutSubscriptionInput | WatchlistItemCreateOrConnectWithoutSubscriptionInput[] createMany?: WatchlistItemCreateManySubscriptionInputEnvelope connect?: WatchlistItemWhereUniqueInput | WatchlistItemWhereUniqueInput[] } export type ExposureCreateNestedManyWithoutSubscriptionInput = { create?: XOR | ExposureCreateWithoutSubscriptionInput[] | ExposureUncheckedCreateWithoutSubscriptionInput[] connectOrCreate?: ExposureCreateOrConnectWithoutSubscriptionInput | ExposureCreateOrConnectWithoutSubscriptionInput[] createMany?: ExposureCreateManySubscriptionInputEnvelope connect?: ExposureWhereUniqueInput | ExposureWhereUniqueInput[] } export type AlertCreateNestedManyWithoutSubscriptionInput = { create?: XOR | AlertCreateWithoutSubscriptionInput[] | AlertUncheckedCreateWithoutSubscriptionInput[] connectOrCreate?: AlertCreateOrConnectWithoutSubscriptionInput | AlertCreateOrConnectWithoutSubscriptionInput[] createMany?: AlertCreateManySubscriptionInputEnvelope connect?: AlertWhereUniqueInput | AlertWhereUniqueInput[] } export type WatchlistItemUncheckedCreateNestedManyWithoutSubscriptionInput = { create?: XOR | WatchlistItemCreateWithoutSubscriptionInput[] | WatchlistItemUncheckedCreateWithoutSubscriptionInput[] connectOrCreate?: WatchlistItemCreateOrConnectWithoutSubscriptionInput | WatchlistItemCreateOrConnectWithoutSubscriptionInput[] createMany?: WatchlistItemCreateManySubscriptionInputEnvelope connect?: WatchlistItemWhereUniqueInput | WatchlistItemWhereUniqueInput[] } export type ExposureUncheckedCreateNestedManyWithoutSubscriptionInput = { create?: XOR | ExposureCreateWithoutSubscriptionInput[] | ExposureUncheckedCreateWithoutSubscriptionInput[] connectOrCreate?: ExposureCreateOrConnectWithoutSubscriptionInput | ExposureCreateOrConnectWithoutSubscriptionInput[] createMany?: ExposureCreateManySubscriptionInputEnvelope connect?: ExposureWhereUniqueInput | ExposureWhereUniqueInput[] } export type AlertUncheckedCreateNestedManyWithoutSubscriptionInput = { create?: XOR | AlertCreateWithoutSubscriptionInput[] | AlertUncheckedCreateWithoutSubscriptionInput[] connectOrCreate?: AlertCreateOrConnectWithoutSubscriptionInput | AlertCreateOrConnectWithoutSubscriptionInput[] createMany?: AlertCreateManySubscriptionInputEnvelope connect?: AlertWhereUniqueInput | AlertWhereUniqueInput[] } export type EnumSubscriptionTierFieldUpdateOperationsInput = { set?: $Enums.SubscriptionTier } export type EnumSubscriptionStatusFieldUpdateOperationsInput = { set?: $Enums.SubscriptionStatus } export type BoolFieldUpdateOperationsInput = { set?: boolean } export type UserUpdateOneRequiredWithoutSubscriptionsNestedInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutSubscriptionsInput upsert?: UserUpsertWithoutSubscriptionsInput connect?: UserWhereUniqueInput update?: XOR, UserUncheckedUpdateWithoutSubscriptionsInput> } export type FamilyGroupUpdateOneWithoutSubscriptionsNestedInput = { create?: XOR connectOrCreate?: FamilyGroupCreateOrConnectWithoutSubscriptionsInput upsert?: FamilyGroupUpsertWithoutSubscriptionsInput disconnect?: FamilyGroupWhereInput | boolean delete?: FamilyGroupWhereInput | boolean connect?: FamilyGroupWhereUniqueInput update?: XOR, FamilyGroupUncheckedUpdateWithoutSubscriptionsInput> } export type WatchlistItemUpdateManyWithoutSubscriptionNestedInput = { create?: XOR | WatchlistItemCreateWithoutSubscriptionInput[] | WatchlistItemUncheckedCreateWithoutSubscriptionInput[] connectOrCreate?: WatchlistItemCreateOrConnectWithoutSubscriptionInput | WatchlistItemCreateOrConnectWithoutSubscriptionInput[] upsert?: WatchlistItemUpsertWithWhereUniqueWithoutSubscriptionInput | WatchlistItemUpsertWithWhereUniqueWithoutSubscriptionInput[] createMany?: WatchlistItemCreateManySubscriptionInputEnvelope set?: WatchlistItemWhereUniqueInput | WatchlistItemWhereUniqueInput[] disconnect?: WatchlistItemWhereUniqueInput | WatchlistItemWhereUniqueInput[] delete?: WatchlistItemWhereUniqueInput | WatchlistItemWhereUniqueInput[] connect?: WatchlistItemWhereUniqueInput | WatchlistItemWhereUniqueInput[] update?: WatchlistItemUpdateWithWhereUniqueWithoutSubscriptionInput | WatchlistItemUpdateWithWhereUniqueWithoutSubscriptionInput[] updateMany?: WatchlistItemUpdateManyWithWhereWithoutSubscriptionInput | WatchlistItemUpdateManyWithWhereWithoutSubscriptionInput[] deleteMany?: WatchlistItemScalarWhereInput | WatchlistItemScalarWhereInput[] } export type ExposureUpdateManyWithoutSubscriptionNestedInput = { create?: XOR | ExposureCreateWithoutSubscriptionInput[] | ExposureUncheckedCreateWithoutSubscriptionInput[] connectOrCreate?: ExposureCreateOrConnectWithoutSubscriptionInput | ExposureCreateOrConnectWithoutSubscriptionInput[] upsert?: ExposureUpsertWithWhereUniqueWithoutSubscriptionInput | ExposureUpsertWithWhereUniqueWithoutSubscriptionInput[] createMany?: ExposureCreateManySubscriptionInputEnvelope set?: ExposureWhereUniqueInput | ExposureWhereUniqueInput[] disconnect?: ExposureWhereUniqueInput | ExposureWhereUniqueInput[] delete?: ExposureWhereUniqueInput | ExposureWhereUniqueInput[] connect?: ExposureWhereUniqueInput | ExposureWhereUniqueInput[] update?: ExposureUpdateWithWhereUniqueWithoutSubscriptionInput | ExposureUpdateWithWhereUniqueWithoutSubscriptionInput[] updateMany?: ExposureUpdateManyWithWhereWithoutSubscriptionInput | ExposureUpdateManyWithWhereWithoutSubscriptionInput[] deleteMany?: ExposureScalarWhereInput | ExposureScalarWhereInput[] } export type AlertUpdateManyWithoutSubscriptionNestedInput = { create?: XOR | AlertCreateWithoutSubscriptionInput[] | AlertUncheckedCreateWithoutSubscriptionInput[] connectOrCreate?: AlertCreateOrConnectWithoutSubscriptionInput | AlertCreateOrConnectWithoutSubscriptionInput[] upsert?: AlertUpsertWithWhereUniqueWithoutSubscriptionInput | AlertUpsertWithWhereUniqueWithoutSubscriptionInput[] createMany?: AlertCreateManySubscriptionInputEnvelope set?: AlertWhereUniqueInput | AlertWhereUniqueInput[] disconnect?: AlertWhereUniqueInput | AlertWhereUniqueInput[] delete?: AlertWhereUniqueInput | AlertWhereUniqueInput[] connect?: AlertWhereUniqueInput | AlertWhereUniqueInput[] update?: AlertUpdateWithWhereUniqueWithoutSubscriptionInput | AlertUpdateWithWhereUniqueWithoutSubscriptionInput[] updateMany?: AlertUpdateManyWithWhereWithoutSubscriptionInput | AlertUpdateManyWithWhereWithoutSubscriptionInput[] deleteMany?: AlertScalarWhereInput | AlertScalarWhereInput[] } export type WatchlistItemUncheckedUpdateManyWithoutSubscriptionNestedInput = { create?: XOR | WatchlistItemCreateWithoutSubscriptionInput[] | WatchlistItemUncheckedCreateWithoutSubscriptionInput[] connectOrCreate?: WatchlistItemCreateOrConnectWithoutSubscriptionInput | WatchlistItemCreateOrConnectWithoutSubscriptionInput[] upsert?: WatchlistItemUpsertWithWhereUniqueWithoutSubscriptionInput | WatchlistItemUpsertWithWhereUniqueWithoutSubscriptionInput[] createMany?: WatchlistItemCreateManySubscriptionInputEnvelope set?: WatchlistItemWhereUniqueInput | WatchlistItemWhereUniqueInput[] disconnect?: WatchlistItemWhereUniqueInput | WatchlistItemWhereUniqueInput[] delete?: WatchlistItemWhereUniqueInput | WatchlistItemWhereUniqueInput[] connect?: WatchlistItemWhereUniqueInput | WatchlistItemWhereUniqueInput[] update?: WatchlistItemUpdateWithWhereUniqueWithoutSubscriptionInput | WatchlistItemUpdateWithWhereUniqueWithoutSubscriptionInput[] updateMany?: WatchlistItemUpdateManyWithWhereWithoutSubscriptionInput | WatchlistItemUpdateManyWithWhereWithoutSubscriptionInput[] deleteMany?: WatchlistItemScalarWhereInput | WatchlistItemScalarWhereInput[] } export type ExposureUncheckedUpdateManyWithoutSubscriptionNestedInput = { create?: XOR | ExposureCreateWithoutSubscriptionInput[] | ExposureUncheckedCreateWithoutSubscriptionInput[] connectOrCreate?: ExposureCreateOrConnectWithoutSubscriptionInput | ExposureCreateOrConnectWithoutSubscriptionInput[] upsert?: ExposureUpsertWithWhereUniqueWithoutSubscriptionInput | ExposureUpsertWithWhereUniqueWithoutSubscriptionInput[] createMany?: ExposureCreateManySubscriptionInputEnvelope set?: ExposureWhereUniqueInput | ExposureWhereUniqueInput[] disconnect?: ExposureWhereUniqueInput | ExposureWhereUniqueInput[] delete?: ExposureWhereUniqueInput | ExposureWhereUniqueInput[] connect?: ExposureWhereUniqueInput | ExposureWhereUniqueInput[] update?: ExposureUpdateWithWhereUniqueWithoutSubscriptionInput | ExposureUpdateWithWhereUniqueWithoutSubscriptionInput[] updateMany?: ExposureUpdateManyWithWhereWithoutSubscriptionInput | ExposureUpdateManyWithWhereWithoutSubscriptionInput[] deleteMany?: ExposureScalarWhereInput | ExposureScalarWhereInput[] } export type AlertUncheckedUpdateManyWithoutSubscriptionNestedInput = { create?: XOR | AlertCreateWithoutSubscriptionInput[] | AlertUncheckedCreateWithoutSubscriptionInput[] connectOrCreate?: AlertCreateOrConnectWithoutSubscriptionInput | AlertCreateOrConnectWithoutSubscriptionInput[] upsert?: AlertUpsertWithWhereUniqueWithoutSubscriptionInput | AlertUpsertWithWhereUniqueWithoutSubscriptionInput[] createMany?: AlertCreateManySubscriptionInputEnvelope set?: AlertWhereUniqueInput | AlertWhereUniqueInput[] disconnect?: AlertWhereUniqueInput | AlertWhereUniqueInput[] delete?: AlertWhereUniqueInput | AlertWhereUniqueInput[] connect?: AlertWhereUniqueInput | AlertWhereUniqueInput[] update?: AlertUpdateWithWhereUniqueWithoutSubscriptionInput | AlertUpdateWithWhereUniqueWithoutSubscriptionInput[] updateMany?: AlertUpdateManyWithWhereWithoutSubscriptionInput | AlertUpdateManyWithWhereWithoutSubscriptionInput[] deleteMany?: AlertScalarWhereInput | AlertScalarWhereInput[] } export type SubscriptionCreateNestedOneWithoutWatchlistItemsInput = { create?: XOR connectOrCreate?: SubscriptionCreateOrConnectWithoutWatchlistItemsInput connect?: SubscriptionWhereUniqueInput } export type ExposureCreateNestedManyWithoutWatchlistItemInput = { create?: XOR | ExposureCreateWithoutWatchlistItemInput[] | ExposureUncheckedCreateWithoutWatchlistItemInput[] connectOrCreate?: ExposureCreateOrConnectWithoutWatchlistItemInput | ExposureCreateOrConnectWithoutWatchlistItemInput[] createMany?: ExposureCreateManyWatchlistItemInputEnvelope connect?: ExposureWhereUniqueInput | ExposureWhereUniqueInput[] } export type ExposureUncheckedCreateNestedManyWithoutWatchlistItemInput = { create?: XOR | ExposureCreateWithoutWatchlistItemInput[] | ExposureUncheckedCreateWithoutWatchlistItemInput[] connectOrCreate?: ExposureCreateOrConnectWithoutWatchlistItemInput | ExposureCreateOrConnectWithoutWatchlistItemInput[] createMany?: ExposureCreateManyWatchlistItemInputEnvelope connect?: ExposureWhereUniqueInput | ExposureWhereUniqueInput[] } export type EnumWatchlistTypeFieldUpdateOperationsInput = { set?: $Enums.WatchlistType } export type SubscriptionUpdateOneRequiredWithoutWatchlistItemsNestedInput = { create?: XOR connectOrCreate?: SubscriptionCreateOrConnectWithoutWatchlistItemsInput upsert?: SubscriptionUpsertWithoutWatchlistItemsInput connect?: SubscriptionWhereUniqueInput update?: XOR, SubscriptionUncheckedUpdateWithoutWatchlistItemsInput> } export type ExposureUpdateManyWithoutWatchlistItemNestedInput = { create?: XOR | ExposureCreateWithoutWatchlistItemInput[] | ExposureUncheckedCreateWithoutWatchlistItemInput[] connectOrCreate?: ExposureCreateOrConnectWithoutWatchlistItemInput | ExposureCreateOrConnectWithoutWatchlistItemInput[] upsert?: ExposureUpsertWithWhereUniqueWithoutWatchlistItemInput | ExposureUpsertWithWhereUniqueWithoutWatchlistItemInput[] createMany?: ExposureCreateManyWatchlistItemInputEnvelope set?: ExposureWhereUniqueInput | ExposureWhereUniqueInput[] disconnect?: ExposureWhereUniqueInput | ExposureWhereUniqueInput[] delete?: ExposureWhereUniqueInput | ExposureWhereUniqueInput[] connect?: ExposureWhereUniqueInput | ExposureWhereUniqueInput[] update?: ExposureUpdateWithWhereUniqueWithoutWatchlistItemInput | ExposureUpdateWithWhereUniqueWithoutWatchlistItemInput[] updateMany?: ExposureUpdateManyWithWhereWithoutWatchlistItemInput | ExposureUpdateManyWithWhereWithoutWatchlistItemInput[] deleteMany?: ExposureScalarWhereInput | ExposureScalarWhereInput[] } export type ExposureUncheckedUpdateManyWithoutWatchlistItemNestedInput = { create?: XOR | ExposureCreateWithoutWatchlistItemInput[] | ExposureUncheckedCreateWithoutWatchlistItemInput[] connectOrCreate?: ExposureCreateOrConnectWithoutWatchlistItemInput | ExposureCreateOrConnectWithoutWatchlistItemInput[] upsert?: ExposureUpsertWithWhereUniqueWithoutWatchlistItemInput | ExposureUpsertWithWhereUniqueWithoutWatchlistItemInput[] createMany?: ExposureCreateManyWatchlistItemInputEnvelope set?: ExposureWhereUniqueInput | ExposureWhereUniqueInput[] disconnect?: ExposureWhereUniqueInput | ExposureWhereUniqueInput[] delete?: ExposureWhereUniqueInput | ExposureWhereUniqueInput[] connect?: ExposureWhereUniqueInput | ExposureWhereUniqueInput[] update?: ExposureUpdateWithWhereUniqueWithoutWatchlistItemInput | ExposureUpdateWithWhereUniqueWithoutWatchlistItemInput[] updateMany?: ExposureUpdateManyWithWhereWithoutWatchlistItemInput | ExposureUpdateManyWithWhereWithoutWatchlistItemInput[] deleteMany?: ExposureScalarWhereInput | ExposureScalarWhereInput[] } export type SubscriptionCreateNestedOneWithoutExposuresInput = { create?: XOR connectOrCreate?: SubscriptionCreateOrConnectWithoutExposuresInput connect?: SubscriptionWhereUniqueInput } export type WatchlistItemCreateNestedOneWithoutExposuresInput = { create?: XOR connectOrCreate?: WatchlistItemCreateOrConnectWithoutExposuresInput connect?: WatchlistItemWhereUniqueInput } export type AlertCreateNestedManyWithoutExposureInput = { create?: XOR | AlertCreateWithoutExposureInput[] | AlertUncheckedCreateWithoutExposureInput[] connectOrCreate?: AlertCreateOrConnectWithoutExposureInput | AlertCreateOrConnectWithoutExposureInput[] createMany?: AlertCreateManyExposureInputEnvelope connect?: AlertWhereUniqueInput | AlertWhereUniqueInput[] } export type AlertUncheckedCreateNestedManyWithoutExposureInput = { create?: XOR | AlertCreateWithoutExposureInput[] | AlertUncheckedCreateWithoutExposureInput[] connectOrCreate?: AlertCreateOrConnectWithoutExposureInput | AlertCreateOrConnectWithoutExposureInput[] createMany?: AlertCreateManyExposureInputEnvelope connect?: AlertWhereUniqueInput | AlertWhereUniqueInput[] } export type EnumExposureSourceFieldUpdateOperationsInput = { set?: $Enums.ExposureSource } export type EnumExposureSeverityFieldUpdateOperationsInput = { set?: $Enums.ExposureSeverity } export type SubscriptionUpdateOneRequiredWithoutExposuresNestedInput = { create?: XOR connectOrCreate?: SubscriptionCreateOrConnectWithoutExposuresInput upsert?: SubscriptionUpsertWithoutExposuresInput connect?: SubscriptionWhereUniqueInput update?: XOR, SubscriptionUncheckedUpdateWithoutExposuresInput> } export type WatchlistItemUpdateOneWithoutExposuresNestedInput = { create?: XOR connectOrCreate?: WatchlistItemCreateOrConnectWithoutExposuresInput upsert?: WatchlistItemUpsertWithoutExposuresInput disconnect?: WatchlistItemWhereInput | boolean delete?: WatchlistItemWhereInput | boolean connect?: WatchlistItemWhereUniqueInput update?: XOR, WatchlistItemUncheckedUpdateWithoutExposuresInput> } export type AlertUpdateManyWithoutExposureNestedInput = { create?: XOR | AlertCreateWithoutExposureInput[] | AlertUncheckedCreateWithoutExposureInput[] connectOrCreate?: AlertCreateOrConnectWithoutExposureInput | AlertCreateOrConnectWithoutExposureInput[] upsert?: AlertUpsertWithWhereUniqueWithoutExposureInput | AlertUpsertWithWhereUniqueWithoutExposureInput[] createMany?: AlertCreateManyExposureInputEnvelope set?: AlertWhereUniqueInput | AlertWhereUniqueInput[] disconnect?: AlertWhereUniqueInput | AlertWhereUniqueInput[] delete?: AlertWhereUniqueInput | AlertWhereUniqueInput[] connect?: AlertWhereUniqueInput | AlertWhereUniqueInput[] update?: AlertUpdateWithWhereUniqueWithoutExposureInput | AlertUpdateWithWhereUniqueWithoutExposureInput[] updateMany?: AlertUpdateManyWithWhereWithoutExposureInput | AlertUpdateManyWithWhereWithoutExposureInput[] deleteMany?: AlertScalarWhereInput | AlertScalarWhereInput[] } export type AlertUncheckedUpdateManyWithoutExposureNestedInput = { create?: XOR | AlertCreateWithoutExposureInput[] | AlertUncheckedCreateWithoutExposureInput[] connectOrCreate?: AlertCreateOrConnectWithoutExposureInput | AlertCreateOrConnectWithoutExposureInput[] upsert?: AlertUpsertWithWhereUniqueWithoutExposureInput | AlertUpsertWithWhereUniqueWithoutExposureInput[] createMany?: AlertCreateManyExposureInputEnvelope set?: AlertWhereUniqueInput | AlertWhereUniqueInput[] disconnect?: AlertWhereUniqueInput | AlertWhereUniqueInput[] delete?: AlertWhereUniqueInput | AlertWhereUniqueInput[] connect?: AlertWhereUniqueInput | AlertWhereUniqueInput[] update?: AlertUpdateWithWhereUniqueWithoutExposureInput | AlertUpdateWithWhereUniqueWithoutExposureInput[] updateMany?: AlertUpdateManyWithWhereWithoutExposureInput | AlertUpdateManyWithWhereWithoutExposureInput[] deleteMany?: AlertScalarWhereInput | AlertScalarWhereInput[] } export type AlertCreatechannelInput = { set: $Enums.AlertChannel[] } export type SubscriptionCreateNestedOneWithoutAlertsInput = { create?: XOR connectOrCreate?: SubscriptionCreateOrConnectWithoutAlertsInput connect?: SubscriptionWhereUniqueInput } export type UserCreateNestedOneWithoutAlertsInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutAlertsInput connect?: UserWhereUniqueInput } export type ExposureCreateNestedOneWithoutAlertsInput = { create?: XOR connectOrCreate?: ExposureCreateOrConnectWithoutAlertsInput connect?: ExposureWhereUniqueInput } export type EnumAlertTypeFieldUpdateOperationsInput = { set?: $Enums.AlertType } export type EnumAlertSeverityFieldUpdateOperationsInput = { set?: $Enums.AlertSeverity } export type AlertUpdatechannelInput = { set?: $Enums.AlertChannel[] push?: $Enums.AlertChannel | $Enums.AlertChannel[] } export type SubscriptionUpdateOneRequiredWithoutAlertsNestedInput = { create?: XOR connectOrCreate?: SubscriptionCreateOrConnectWithoutAlertsInput upsert?: SubscriptionUpsertWithoutAlertsInput connect?: SubscriptionWhereUniqueInput update?: XOR, SubscriptionUncheckedUpdateWithoutAlertsInput> } export type UserUpdateOneRequiredWithoutAlertsNestedInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutAlertsInput upsert?: UserUpsertWithoutAlertsInput connect?: UserWhereUniqueInput update?: XOR, UserUncheckedUpdateWithoutAlertsInput> } export type ExposureUpdateOneWithoutAlertsNestedInput = { create?: XOR connectOrCreate?: ExposureCreateOrConnectWithoutAlertsInput upsert?: ExposureUpsertWithoutAlertsInput disconnect?: ExposureWhereInput | boolean delete?: ExposureWhereInput | boolean connect?: ExposureWhereUniqueInput update?: XOR, ExposureUncheckedUpdateWithoutAlertsInput> } export type UserCreateNestedOneWithoutVoiceEnrollmentsInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutVoiceEnrollmentsInput connect?: UserWhereUniqueInput } export type VoiceAnalysisCreateNestedManyWithoutEnrollmentInput = { create?: XOR | VoiceAnalysisCreateWithoutEnrollmentInput[] | VoiceAnalysisUncheckedCreateWithoutEnrollmentInput[] connectOrCreate?: VoiceAnalysisCreateOrConnectWithoutEnrollmentInput | VoiceAnalysisCreateOrConnectWithoutEnrollmentInput[] createMany?: VoiceAnalysisCreateManyEnrollmentInputEnvelope connect?: VoiceAnalysisWhereUniqueInput | VoiceAnalysisWhereUniqueInput[] } export type VoiceAnalysisUncheckedCreateNestedManyWithoutEnrollmentInput = { create?: XOR | VoiceAnalysisCreateWithoutEnrollmentInput[] | VoiceAnalysisUncheckedCreateWithoutEnrollmentInput[] connectOrCreate?: VoiceAnalysisCreateOrConnectWithoutEnrollmentInput | VoiceAnalysisCreateOrConnectWithoutEnrollmentInput[] createMany?: VoiceAnalysisCreateManyEnrollmentInputEnvelope connect?: VoiceAnalysisWhereUniqueInput | VoiceAnalysisWhereUniqueInput[] } export type UserUpdateOneRequiredWithoutVoiceEnrollmentsNestedInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutVoiceEnrollmentsInput upsert?: UserUpsertWithoutVoiceEnrollmentsInput connect?: UserWhereUniqueInput update?: XOR, UserUncheckedUpdateWithoutVoiceEnrollmentsInput> } export type VoiceAnalysisUpdateManyWithoutEnrollmentNestedInput = { create?: XOR | VoiceAnalysisCreateWithoutEnrollmentInput[] | VoiceAnalysisUncheckedCreateWithoutEnrollmentInput[] connectOrCreate?: VoiceAnalysisCreateOrConnectWithoutEnrollmentInput | VoiceAnalysisCreateOrConnectWithoutEnrollmentInput[] upsert?: VoiceAnalysisUpsertWithWhereUniqueWithoutEnrollmentInput | VoiceAnalysisUpsertWithWhereUniqueWithoutEnrollmentInput[] createMany?: VoiceAnalysisCreateManyEnrollmentInputEnvelope set?: VoiceAnalysisWhereUniqueInput | VoiceAnalysisWhereUniqueInput[] disconnect?: VoiceAnalysisWhereUniqueInput | VoiceAnalysisWhereUniqueInput[] delete?: VoiceAnalysisWhereUniqueInput | VoiceAnalysisWhereUniqueInput[] connect?: VoiceAnalysisWhereUniqueInput | VoiceAnalysisWhereUniqueInput[] update?: VoiceAnalysisUpdateWithWhereUniqueWithoutEnrollmentInput | VoiceAnalysisUpdateWithWhereUniqueWithoutEnrollmentInput[] updateMany?: VoiceAnalysisUpdateManyWithWhereWithoutEnrollmentInput | VoiceAnalysisUpdateManyWithWhereWithoutEnrollmentInput[] deleteMany?: VoiceAnalysisScalarWhereInput | VoiceAnalysisScalarWhereInput[] } export type VoiceAnalysisUncheckedUpdateManyWithoutEnrollmentNestedInput = { create?: XOR | VoiceAnalysisCreateWithoutEnrollmentInput[] | VoiceAnalysisUncheckedCreateWithoutEnrollmentInput[] connectOrCreate?: VoiceAnalysisCreateOrConnectWithoutEnrollmentInput | VoiceAnalysisCreateOrConnectWithoutEnrollmentInput[] upsert?: VoiceAnalysisUpsertWithWhereUniqueWithoutEnrollmentInput | VoiceAnalysisUpsertWithWhereUniqueWithoutEnrollmentInput[] createMany?: VoiceAnalysisCreateManyEnrollmentInputEnvelope set?: VoiceAnalysisWhereUniqueInput | VoiceAnalysisWhereUniqueInput[] disconnect?: VoiceAnalysisWhereUniqueInput | VoiceAnalysisWhereUniqueInput[] delete?: VoiceAnalysisWhereUniqueInput | VoiceAnalysisWhereUniqueInput[] connect?: VoiceAnalysisWhereUniqueInput | VoiceAnalysisWhereUniqueInput[] update?: VoiceAnalysisUpdateWithWhereUniqueWithoutEnrollmentInput | VoiceAnalysisUpdateWithWhereUniqueWithoutEnrollmentInput[] updateMany?: VoiceAnalysisUpdateManyWithWhereWithoutEnrollmentInput | VoiceAnalysisUpdateManyWithWhereWithoutEnrollmentInput[] deleteMany?: VoiceAnalysisScalarWhereInput | VoiceAnalysisScalarWhereInput[] } export type VoiceEnrollmentCreateNestedOneWithoutAnalysesInput = { create?: XOR connectOrCreate?: VoiceEnrollmentCreateOrConnectWithoutAnalysesInput connect?: VoiceEnrollmentWhereUniqueInput } export type UserCreateNestedOneWithoutVoiceAnalysesInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutVoiceAnalysesInput connect?: UserWhereUniqueInput } export type FloatFieldUpdateOperationsInput = { set?: number increment?: number decrement?: number multiply?: number divide?: number } export type VoiceEnrollmentUpdateOneWithoutAnalysesNestedInput = { create?: XOR connectOrCreate?: VoiceEnrollmentCreateOrConnectWithoutAnalysesInput upsert?: VoiceEnrollmentUpsertWithoutAnalysesInput disconnect?: VoiceEnrollmentWhereInput | boolean delete?: VoiceEnrollmentWhereInput | boolean connect?: VoiceEnrollmentWhereUniqueInput update?: XOR, VoiceEnrollmentUncheckedUpdateWithoutAnalysesInput> } export type UserUpdateOneRequiredWithoutVoiceAnalysesNestedInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutVoiceAnalysesInput upsert?: UserUpsertWithoutVoiceAnalysesInput connect?: UserWhereUniqueInput update?: XOR, UserUncheckedUpdateWithoutVoiceAnalysesInput> } export type UserCreateNestedOneWithoutSpamFeedbackInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutSpamFeedbackInput connect?: UserWhereUniqueInput } export type NullableFloatFieldUpdateOperationsInput = { set?: number | null increment?: number decrement?: number multiply?: number divide?: number } export type EnumFeedbackTypeFieldUpdateOperationsInput = { set?: $Enums.FeedbackType } export type UserUpdateOneRequiredWithoutSpamFeedbackNestedInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutSpamFeedbackInput upsert?: UserUpsertWithoutSpamFeedbackInput connect?: UserWhereUniqueInput update?: XOR, UserUncheckedUpdateWithoutSpamFeedbackInput> } export type UserCreateNestedOneWithoutSpamRulesInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutSpamRulesInput connect?: UserWhereUniqueInput } export type EnumRuleTypeFieldUpdateOperationsInput = { set?: $Enums.RuleType } export type EnumRuleActionFieldUpdateOperationsInput = { set?: $Enums.RuleAction } export type IntFieldUpdateOperationsInput = { set?: number increment?: number decrement?: number multiply?: number divide?: number } export type UserUpdateOneWithoutSpamRulesNestedInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutSpamRulesInput upsert?: UserUpsertWithoutSpamRulesInput disconnect?: UserWhereInput | boolean delete?: UserWhereInput | boolean connect?: UserWhereUniqueInput update?: XOR, UserUncheckedUpdateWithoutSpamRulesInput> } export type NestedStringFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> in?: string[] | ListStringFieldRefInput<$PrismaModel> notIn?: string[] | ListStringFieldRefInput<$PrismaModel> lt?: string | StringFieldRefInput<$PrismaModel> lte?: string | StringFieldRefInput<$PrismaModel> gt?: string | StringFieldRefInput<$PrismaModel> gte?: string | StringFieldRefInput<$PrismaModel> contains?: string | StringFieldRefInput<$PrismaModel> startsWith?: string | StringFieldRefInput<$PrismaModel> endsWith?: string | StringFieldRefInput<$PrismaModel> not?: NestedStringFilter<$PrismaModel> | string } export type NestedDateTimeNullableFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> not?: NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null } export type NestedStringNullableFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> | null in?: string[] | ListStringFieldRefInput<$PrismaModel> | null notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null lt?: string | StringFieldRefInput<$PrismaModel> lte?: string | StringFieldRefInput<$PrismaModel> gt?: string | StringFieldRefInput<$PrismaModel> gte?: string | StringFieldRefInput<$PrismaModel> contains?: string | StringFieldRefInput<$PrismaModel> startsWith?: string | StringFieldRefInput<$PrismaModel> endsWith?: string | StringFieldRefInput<$PrismaModel> not?: NestedStringNullableFilter<$PrismaModel> | string | null } export type NestedEnumUserRoleFilter<$PrismaModel = never> = { equals?: $Enums.UserRole | EnumUserRoleFieldRefInput<$PrismaModel> in?: $Enums.UserRole[] | ListEnumUserRoleFieldRefInput<$PrismaModel> notIn?: $Enums.UserRole[] | ListEnumUserRoleFieldRefInput<$PrismaModel> not?: NestedEnumUserRoleFilter<$PrismaModel> | $Enums.UserRole } export type NestedDateTimeFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> not?: NestedDateTimeFilter<$PrismaModel> | Date | string } export type NestedStringWithAggregatesFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> in?: string[] | ListStringFieldRefInput<$PrismaModel> notIn?: string[] | ListStringFieldRefInput<$PrismaModel> lt?: string | StringFieldRefInput<$PrismaModel> lte?: string | StringFieldRefInput<$PrismaModel> gt?: string | StringFieldRefInput<$PrismaModel> gte?: string | StringFieldRefInput<$PrismaModel> contains?: string | StringFieldRefInput<$PrismaModel> startsWith?: string | StringFieldRefInput<$PrismaModel> endsWith?: string | StringFieldRefInput<$PrismaModel> not?: NestedStringWithAggregatesFilter<$PrismaModel> | string _count?: NestedIntFilter<$PrismaModel> _min?: NestedStringFilter<$PrismaModel> _max?: NestedStringFilter<$PrismaModel> } export type NestedIntFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> in?: number[] | ListIntFieldRefInput<$PrismaModel> notIn?: number[] | ListIntFieldRefInput<$PrismaModel> lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntFilter<$PrismaModel> | number } export type NestedDateTimeNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> not?: NestedDateTimeNullableWithAggregatesFilter<$PrismaModel> | Date | string | null _count?: NestedIntNullableFilter<$PrismaModel> _min?: NestedDateTimeNullableFilter<$PrismaModel> _max?: NestedDateTimeNullableFilter<$PrismaModel> } export type NestedIntNullableFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> | null in?: number[] | ListIntFieldRefInput<$PrismaModel> | null notIn?: number[] | ListIntFieldRefInput<$PrismaModel> | null lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntNullableFilter<$PrismaModel> | number | null } export type NestedStringNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> | null in?: string[] | ListStringFieldRefInput<$PrismaModel> | null notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null lt?: string | StringFieldRefInput<$PrismaModel> lte?: string | StringFieldRefInput<$PrismaModel> gt?: string | StringFieldRefInput<$PrismaModel> gte?: string | StringFieldRefInput<$PrismaModel> contains?: string | StringFieldRefInput<$PrismaModel> startsWith?: string | StringFieldRefInput<$PrismaModel> endsWith?: string | StringFieldRefInput<$PrismaModel> not?: NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null _count?: NestedIntNullableFilter<$PrismaModel> _min?: NestedStringNullableFilter<$PrismaModel> _max?: NestedStringNullableFilter<$PrismaModel> } export type NestedEnumUserRoleWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.UserRole | EnumUserRoleFieldRefInput<$PrismaModel> in?: $Enums.UserRole[] | ListEnumUserRoleFieldRefInput<$PrismaModel> notIn?: $Enums.UserRole[] | ListEnumUserRoleFieldRefInput<$PrismaModel> not?: NestedEnumUserRoleWithAggregatesFilter<$PrismaModel> | $Enums.UserRole _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumUserRoleFilter<$PrismaModel> _max?: NestedEnumUserRoleFilter<$PrismaModel> } export type NestedDateTimeWithAggregatesFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> not?: NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string _count?: NestedIntFilter<$PrismaModel> _min?: NestedDateTimeFilter<$PrismaModel> _max?: NestedDateTimeFilter<$PrismaModel> } export type NestedIntNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> | null in?: number[] | ListIntFieldRefInput<$PrismaModel> | null notIn?: number[] | ListIntFieldRefInput<$PrismaModel> | null lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntNullableWithAggregatesFilter<$PrismaModel> | number | null _count?: NestedIntNullableFilter<$PrismaModel> _avg?: NestedFloatNullableFilter<$PrismaModel> _sum?: NestedIntNullableFilter<$PrismaModel> _min?: NestedIntNullableFilter<$PrismaModel> _max?: NestedIntNullableFilter<$PrismaModel> } export type NestedFloatNullableFilter<$PrismaModel = never> = { equals?: number | FloatFieldRefInput<$PrismaModel> | null in?: number[] | ListFloatFieldRefInput<$PrismaModel> | null notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> | null lt?: number | FloatFieldRefInput<$PrismaModel> lte?: number | FloatFieldRefInput<$PrismaModel> gt?: number | FloatFieldRefInput<$PrismaModel> gte?: number | FloatFieldRefInput<$PrismaModel> not?: NestedFloatNullableFilter<$PrismaModel> | number | null } export type NestedEnumFamilyMemberRoleFilter<$PrismaModel = never> = { equals?: $Enums.FamilyMemberRole | EnumFamilyMemberRoleFieldRefInput<$PrismaModel> in?: $Enums.FamilyMemberRole[] | ListEnumFamilyMemberRoleFieldRefInput<$PrismaModel> notIn?: $Enums.FamilyMemberRole[] | ListEnumFamilyMemberRoleFieldRefInput<$PrismaModel> not?: NestedEnumFamilyMemberRoleFilter<$PrismaModel> | $Enums.FamilyMemberRole } export type NestedEnumFamilyMemberRoleWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.FamilyMemberRole | EnumFamilyMemberRoleFieldRefInput<$PrismaModel> in?: $Enums.FamilyMemberRole[] | ListEnumFamilyMemberRoleFieldRefInput<$PrismaModel> notIn?: $Enums.FamilyMemberRole[] | ListEnumFamilyMemberRoleFieldRefInput<$PrismaModel> not?: NestedEnumFamilyMemberRoleWithAggregatesFilter<$PrismaModel> | $Enums.FamilyMemberRole _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumFamilyMemberRoleFilter<$PrismaModel> _max?: NestedEnumFamilyMemberRoleFilter<$PrismaModel> } export type NestedEnumSubscriptionTierFilter<$PrismaModel = never> = { equals?: $Enums.SubscriptionTier | EnumSubscriptionTierFieldRefInput<$PrismaModel> in?: $Enums.SubscriptionTier[] | ListEnumSubscriptionTierFieldRefInput<$PrismaModel> notIn?: $Enums.SubscriptionTier[] | ListEnumSubscriptionTierFieldRefInput<$PrismaModel> not?: NestedEnumSubscriptionTierFilter<$PrismaModel> | $Enums.SubscriptionTier } export type NestedEnumSubscriptionStatusFilter<$PrismaModel = never> = { equals?: $Enums.SubscriptionStatus | EnumSubscriptionStatusFieldRefInput<$PrismaModel> in?: $Enums.SubscriptionStatus[] | ListEnumSubscriptionStatusFieldRefInput<$PrismaModel> notIn?: $Enums.SubscriptionStatus[] | ListEnumSubscriptionStatusFieldRefInput<$PrismaModel> not?: NestedEnumSubscriptionStatusFilter<$PrismaModel> | $Enums.SubscriptionStatus } export type NestedBoolFilter<$PrismaModel = never> = { equals?: boolean | BooleanFieldRefInput<$PrismaModel> not?: NestedBoolFilter<$PrismaModel> | boolean } export type NestedEnumSubscriptionTierWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.SubscriptionTier | EnumSubscriptionTierFieldRefInput<$PrismaModel> in?: $Enums.SubscriptionTier[] | ListEnumSubscriptionTierFieldRefInput<$PrismaModel> notIn?: $Enums.SubscriptionTier[] | ListEnumSubscriptionTierFieldRefInput<$PrismaModel> not?: NestedEnumSubscriptionTierWithAggregatesFilter<$PrismaModel> | $Enums.SubscriptionTier _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumSubscriptionTierFilter<$PrismaModel> _max?: NestedEnumSubscriptionTierFilter<$PrismaModel> } export type NestedEnumSubscriptionStatusWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.SubscriptionStatus | EnumSubscriptionStatusFieldRefInput<$PrismaModel> in?: $Enums.SubscriptionStatus[] | ListEnumSubscriptionStatusFieldRefInput<$PrismaModel> notIn?: $Enums.SubscriptionStatus[] | ListEnumSubscriptionStatusFieldRefInput<$PrismaModel> not?: NestedEnumSubscriptionStatusWithAggregatesFilter<$PrismaModel> | $Enums.SubscriptionStatus _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumSubscriptionStatusFilter<$PrismaModel> _max?: NestedEnumSubscriptionStatusFilter<$PrismaModel> } export type NestedBoolWithAggregatesFilter<$PrismaModel = never> = { equals?: boolean | BooleanFieldRefInput<$PrismaModel> not?: NestedBoolWithAggregatesFilter<$PrismaModel> | boolean _count?: NestedIntFilter<$PrismaModel> _min?: NestedBoolFilter<$PrismaModel> _max?: NestedBoolFilter<$PrismaModel> } export type NestedEnumWatchlistTypeFilter<$PrismaModel = never> = { equals?: $Enums.WatchlistType | EnumWatchlistTypeFieldRefInput<$PrismaModel> in?: $Enums.WatchlistType[] | ListEnumWatchlistTypeFieldRefInput<$PrismaModel> notIn?: $Enums.WatchlistType[] | ListEnumWatchlistTypeFieldRefInput<$PrismaModel> not?: NestedEnumWatchlistTypeFilter<$PrismaModel> | $Enums.WatchlistType } export type NestedEnumWatchlistTypeWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.WatchlistType | EnumWatchlistTypeFieldRefInput<$PrismaModel> in?: $Enums.WatchlistType[] | ListEnumWatchlistTypeFieldRefInput<$PrismaModel> notIn?: $Enums.WatchlistType[] | ListEnumWatchlistTypeFieldRefInput<$PrismaModel> not?: NestedEnumWatchlistTypeWithAggregatesFilter<$PrismaModel> | $Enums.WatchlistType _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumWatchlistTypeFilter<$PrismaModel> _max?: NestedEnumWatchlistTypeFilter<$PrismaModel> } export type NestedEnumExposureSourceFilter<$PrismaModel = never> = { equals?: $Enums.ExposureSource | EnumExposureSourceFieldRefInput<$PrismaModel> in?: $Enums.ExposureSource[] | ListEnumExposureSourceFieldRefInput<$PrismaModel> notIn?: $Enums.ExposureSource[] | ListEnumExposureSourceFieldRefInput<$PrismaModel> not?: NestedEnumExposureSourceFilter<$PrismaModel> | $Enums.ExposureSource } export type NestedEnumExposureSeverityFilter<$PrismaModel = never> = { equals?: $Enums.ExposureSeverity | EnumExposureSeverityFieldRefInput<$PrismaModel> in?: $Enums.ExposureSeverity[] | ListEnumExposureSeverityFieldRefInput<$PrismaModel> notIn?: $Enums.ExposureSeverity[] | ListEnumExposureSeverityFieldRefInput<$PrismaModel> not?: NestedEnumExposureSeverityFilter<$PrismaModel> | $Enums.ExposureSeverity } export type NestedEnumExposureSourceWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.ExposureSource | EnumExposureSourceFieldRefInput<$PrismaModel> in?: $Enums.ExposureSource[] | ListEnumExposureSourceFieldRefInput<$PrismaModel> notIn?: $Enums.ExposureSource[] | ListEnumExposureSourceFieldRefInput<$PrismaModel> not?: NestedEnumExposureSourceWithAggregatesFilter<$PrismaModel> | $Enums.ExposureSource _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumExposureSourceFilter<$PrismaModel> _max?: NestedEnumExposureSourceFilter<$PrismaModel> } export type NestedEnumExposureSeverityWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.ExposureSeverity | EnumExposureSeverityFieldRefInput<$PrismaModel> in?: $Enums.ExposureSeverity[] | ListEnumExposureSeverityFieldRefInput<$PrismaModel> notIn?: $Enums.ExposureSeverity[] | ListEnumExposureSeverityFieldRefInput<$PrismaModel> not?: NestedEnumExposureSeverityWithAggregatesFilter<$PrismaModel> | $Enums.ExposureSeverity _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumExposureSeverityFilter<$PrismaModel> _max?: NestedEnumExposureSeverityFilter<$PrismaModel> } export type NestedJsonNullableFilter<$PrismaModel = never> = | PatchUndefined< Either>, Exclude>, 'path'>>, Required> > | OptionalFlat>, 'path'>> export type NestedJsonNullableFilterBase<$PrismaModel = never> = { equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter path?: string[] string_contains?: string | StringFieldRefInput<$PrismaModel> string_starts_with?: string | StringFieldRefInput<$PrismaModel> string_ends_with?: string | StringFieldRefInput<$PrismaModel> array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter } export type NestedEnumAlertTypeFilter<$PrismaModel = never> = { equals?: $Enums.AlertType | EnumAlertTypeFieldRefInput<$PrismaModel> in?: $Enums.AlertType[] | ListEnumAlertTypeFieldRefInput<$PrismaModel> notIn?: $Enums.AlertType[] | ListEnumAlertTypeFieldRefInput<$PrismaModel> not?: NestedEnumAlertTypeFilter<$PrismaModel> | $Enums.AlertType } export type NestedEnumAlertSeverityFilter<$PrismaModel = never> = { equals?: $Enums.AlertSeverity | EnumAlertSeverityFieldRefInput<$PrismaModel> in?: $Enums.AlertSeverity[] | ListEnumAlertSeverityFieldRefInput<$PrismaModel> notIn?: $Enums.AlertSeverity[] | ListEnumAlertSeverityFieldRefInput<$PrismaModel> not?: NestedEnumAlertSeverityFilter<$PrismaModel> | $Enums.AlertSeverity } export type NestedEnumAlertTypeWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.AlertType | EnumAlertTypeFieldRefInput<$PrismaModel> in?: $Enums.AlertType[] | ListEnumAlertTypeFieldRefInput<$PrismaModel> notIn?: $Enums.AlertType[] | ListEnumAlertTypeFieldRefInput<$PrismaModel> not?: NestedEnumAlertTypeWithAggregatesFilter<$PrismaModel> | $Enums.AlertType _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumAlertTypeFilter<$PrismaModel> _max?: NestedEnumAlertTypeFilter<$PrismaModel> } export type NestedEnumAlertSeverityWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.AlertSeverity | EnumAlertSeverityFieldRefInput<$PrismaModel> in?: $Enums.AlertSeverity[] | ListEnumAlertSeverityFieldRefInput<$PrismaModel> notIn?: $Enums.AlertSeverity[] | ListEnumAlertSeverityFieldRefInput<$PrismaModel> not?: NestedEnumAlertSeverityWithAggregatesFilter<$PrismaModel> | $Enums.AlertSeverity _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumAlertSeverityFilter<$PrismaModel> _max?: NestedEnumAlertSeverityFilter<$PrismaModel> } export type NestedFloatFilter<$PrismaModel = never> = { equals?: number | FloatFieldRefInput<$PrismaModel> in?: number[] | ListFloatFieldRefInput<$PrismaModel> notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> lt?: number | FloatFieldRefInput<$PrismaModel> lte?: number | FloatFieldRefInput<$PrismaModel> gt?: number | FloatFieldRefInput<$PrismaModel> gte?: number | FloatFieldRefInput<$PrismaModel> not?: NestedFloatFilter<$PrismaModel> | number } export type NestedFloatWithAggregatesFilter<$PrismaModel = never> = { equals?: number | FloatFieldRefInput<$PrismaModel> in?: number[] | ListFloatFieldRefInput<$PrismaModel> notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> lt?: number | FloatFieldRefInput<$PrismaModel> lte?: number | FloatFieldRefInput<$PrismaModel> gt?: number | FloatFieldRefInput<$PrismaModel> gte?: number | FloatFieldRefInput<$PrismaModel> not?: NestedFloatWithAggregatesFilter<$PrismaModel> | number _count?: NestedIntFilter<$PrismaModel> _avg?: NestedFloatFilter<$PrismaModel> _sum?: NestedFloatFilter<$PrismaModel> _min?: NestedFloatFilter<$PrismaModel> _max?: NestedFloatFilter<$PrismaModel> } export type NestedJsonFilter<$PrismaModel = never> = | PatchUndefined< Either>, Exclude>, 'path'>>, Required> > | OptionalFlat>, 'path'>> export type NestedJsonFilterBase<$PrismaModel = never> = { equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter path?: string[] string_contains?: string | StringFieldRefInput<$PrismaModel> string_starts_with?: string | StringFieldRefInput<$PrismaModel> string_ends_with?: string | StringFieldRefInput<$PrismaModel> array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter } export type NestedEnumFeedbackTypeFilter<$PrismaModel = never> = { equals?: $Enums.FeedbackType | EnumFeedbackTypeFieldRefInput<$PrismaModel> in?: $Enums.FeedbackType[] | ListEnumFeedbackTypeFieldRefInput<$PrismaModel> notIn?: $Enums.FeedbackType[] | ListEnumFeedbackTypeFieldRefInput<$PrismaModel> not?: NestedEnumFeedbackTypeFilter<$PrismaModel> | $Enums.FeedbackType } export type NestedFloatNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: number | FloatFieldRefInput<$PrismaModel> | null in?: number[] | ListFloatFieldRefInput<$PrismaModel> | null notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> | null lt?: number | FloatFieldRefInput<$PrismaModel> lte?: number | FloatFieldRefInput<$PrismaModel> gt?: number | FloatFieldRefInput<$PrismaModel> gte?: number | FloatFieldRefInput<$PrismaModel> not?: NestedFloatNullableWithAggregatesFilter<$PrismaModel> | number | null _count?: NestedIntNullableFilter<$PrismaModel> _avg?: NestedFloatNullableFilter<$PrismaModel> _sum?: NestedFloatNullableFilter<$PrismaModel> _min?: NestedFloatNullableFilter<$PrismaModel> _max?: NestedFloatNullableFilter<$PrismaModel> } export type NestedEnumFeedbackTypeWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.FeedbackType | EnumFeedbackTypeFieldRefInput<$PrismaModel> in?: $Enums.FeedbackType[] | ListEnumFeedbackTypeFieldRefInput<$PrismaModel> notIn?: $Enums.FeedbackType[] | ListEnumFeedbackTypeFieldRefInput<$PrismaModel> not?: NestedEnumFeedbackTypeWithAggregatesFilter<$PrismaModel> | $Enums.FeedbackType _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumFeedbackTypeFilter<$PrismaModel> _max?: NestedEnumFeedbackTypeFilter<$PrismaModel> } export type NestedEnumRuleTypeFilter<$PrismaModel = never> = { equals?: $Enums.RuleType | EnumRuleTypeFieldRefInput<$PrismaModel> in?: $Enums.RuleType[] | ListEnumRuleTypeFieldRefInput<$PrismaModel> notIn?: $Enums.RuleType[] | ListEnumRuleTypeFieldRefInput<$PrismaModel> not?: NestedEnumRuleTypeFilter<$PrismaModel> | $Enums.RuleType } export type NestedEnumRuleActionFilter<$PrismaModel = never> = { equals?: $Enums.RuleAction | EnumRuleActionFieldRefInput<$PrismaModel> in?: $Enums.RuleAction[] | ListEnumRuleActionFieldRefInput<$PrismaModel> notIn?: $Enums.RuleAction[] | ListEnumRuleActionFieldRefInput<$PrismaModel> not?: NestedEnumRuleActionFilter<$PrismaModel> | $Enums.RuleAction } export type NestedEnumRuleTypeWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.RuleType | EnumRuleTypeFieldRefInput<$PrismaModel> in?: $Enums.RuleType[] | ListEnumRuleTypeFieldRefInput<$PrismaModel> notIn?: $Enums.RuleType[] | ListEnumRuleTypeFieldRefInput<$PrismaModel> not?: NestedEnumRuleTypeWithAggregatesFilter<$PrismaModel> | $Enums.RuleType _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumRuleTypeFilter<$PrismaModel> _max?: NestedEnumRuleTypeFilter<$PrismaModel> } export type NestedEnumRuleActionWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.RuleAction | EnumRuleActionFieldRefInput<$PrismaModel> in?: $Enums.RuleAction[] | ListEnumRuleActionFieldRefInput<$PrismaModel> notIn?: $Enums.RuleAction[] | ListEnumRuleActionFieldRefInput<$PrismaModel> not?: NestedEnumRuleActionWithAggregatesFilter<$PrismaModel> | $Enums.RuleAction _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumRuleActionFilter<$PrismaModel> _max?: NestedEnumRuleActionFilter<$PrismaModel> } export type NestedIntWithAggregatesFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> in?: number[] | ListIntFieldRefInput<$PrismaModel> notIn?: number[] | ListIntFieldRefInput<$PrismaModel> lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntWithAggregatesFilter<$PrismaModel> | number _count?: NestedIntFilter<$PrismaModel> _avg?: NestedFloatFilter<$PrismaModel> _sum?: NestedIntFilter<$PrismaModel> _min?: NestedIntFilter<$PrismaModel> _max?: NestedIntFilter<$PrismaModel> } export type AccountCreateWithoutUserInput = { id?: string provider: string providerAccountId: string access_token?: string | null refresh_token?: string | null expires_at?: number | null token_type?: string | null scope?: string | null createdAt?: Date | string updatedAt?: Date | string } export type AccountUncheckedCreateWithoutUserInput = { id?: string provider: string providerAccountId: string access_token?: string | null refresh_token?: string | null expires_at?: number | null token_type?: string | null scope?: string | null createdAt?: Date | string updatedAt?: Date | string } export type AccountCreateOrConnectWithoutUserInput = { where: AccountWhereUniqueInput create: XOR } export type AccountCreateManyUserInputEnvelope = { data: AccountCreateManyUserInput | AccountCreateManyUserInput[] skipDuplicates?: boolean } export type SessionCreateWithoutUserInput = { id?: string sessionToken: string expires: Date | string createdAt?: Date | string updatedAt?: Date | string } export type SessionUncheckedCreateWithoutUserInput = { id?: string sessionToken: string expires: Date | string createdAt?: Date | string updatedAt?: Date | string } export type SessionCreateOrConnectWithoutUserInput = { where: SessionWhereUniqueInput create: XOR } export type SessionCreateManyUserInputEnvelope = { data: SessionCreateManyUserInput | SessionCreateManyUserInput[] skipDuplicates?: boolean } export type FamilyGroupMemberCreateWithoutUserInput = { id?: string role?: $Enums.FamilyMemberRole joinedAt?: Date | string createdAt?: Date | string updatedAt?: Date | string group: FamilyGroupCreateNestedOneWithoutMembersInput } export type FamilyGroupMemberUncheckedCreateWithoutUserInput = { id?: string groupId: string role?: $Enums.FamilyMemberRole joinedAt?: Date | string createdAt?: Date | string updatedAt?: Date | string } export type FamilyGroupMemberCreateOrConnectWithoutUserInput = { where: FamilyGroupMemberWhereUniqueInput create: XOR } export type FamilyGroupMemberCreateManyUserInputEnvelope = { data: FamilyGroupMemberCreateManyUserInput | FamilyGroupMemberCreateManyUserInput[] skipDuplicates?: boolean } export type FamilyGroupCreateWithoutOwnerInput = { id?: string name: string createdAt?: Date | string updatedAt?: Date | string members?: FamilyGroupMemberCreateNestedManyWithoutGroupInput subscriptions?: SubscriptionCreateNestedManyWithoutFamilyGroupInput } export type FamilyGroupUncheckedCreateWithoutOwnerInput = { id?: string name: string createdAt?: Date | string updatedAt?: Date | string members?: FamilyGroupMemberUncheckedCreateNestedManyWithoutGroupInput subscriptions?: SubscriptionUncheckedCreateNestedManyWithoutFamilyGroupInput } export type FamilyGroupCreateOrConnectWithoutOwnerInput = { where: FamilyGroupWhereUniqueInput create: XOR } export type FamilyGroupCreateManyOwnerInputEnvelope = { data: FamilyGroupCreateManyOwnerInput | FamilyGroupCreateManyOwnerInput[] skipDuplicates?: boolean } export type SubscriptionCreateWithoutUserInput = { id?: string stripeId?: string | null tier?: $Enums.SubscriptionTier status?: $Enums.SubscriptionStatus currentPeriodStart: Date | string currentPeriodEnd: Date | string cancelAtPeriodEnd?: boolean createdAt?: Date | string updatedAt?: Date | string familyGroup?: FamilyGroupCreateNestedOneWithoutSubscriptionsInput watchlistItems?: WatchlistItemCreateNestedManyWithoutSubscriptionInput exposures?: ExposureCreateNestedManyWithoutSubscriptionInput alerts?: AlertCreateNestedManyWithoutSubscriptionInput } export type SubscriptionUncheckedCreateWithoutUserInput = { id?: string familyGroupId?: string | null stripeId?: string | null tier?: $Enums.SubscriptionTier status?: $Enums.SubscriptionStatus currentPeriodStart: Date | string currentPeriodEnd: Date | string cancelAtPeriodEnd?: boolean createdAt?: Date | string updatedAt?: Date | string watchlistItems?: WatchlistItemUncheckedCreateNestedManyWithoutSubscriptionInput exposures?: ExposureUncheckedCreateNestedManyWithoutSubscriptionInput alerts?: AlertUncheckedCreateNestedManyWithoutSubscriptionInput } export type SubscriptionCreateOrConnectWithoutUserInput = { where: SubscriptionWhereUniqueInput create: XOR } export type SubscriptionCreateManyUserInputEnvelope = { data: SubscriptionCreateManyUserInput | SubscriptionCreateManyUserInput[] skipDuplicates?: boolean } export type AlertCreateWithoutUserInput = { id?: string type: $Enums.AlertType title: string message: string severity?: $Enums.AlertSeverity isRead?: boolean readAt?: Date | string | null channel?: AlertCreatechannelInput | $Enums.AlertChannel[] createdAt?: Date | string updatedAt?: Date | string subscription: SubscriptionCreateNestedOneWithoutAlertsInput exposure?: ExposureCreateNestedOneWithoutAlertsInput } export type AlertUncheckedCreateWithoutUserInput = { id?: string subscriptionId: string exposureId?: string | null type: $Enums.AlertType title: string message: string severity?: $Enums.AlertSeverity isRead?: boolean readAt?: Date | string | null channel?: AlertCreatechannelInput | $Enums.AlertChannel[] createdAt?: Date | string updatedAt?: Date | string } export type AlertCreateOrConnectWithoutUserInput = { where: AlertWhereUniqueInput create: XOR } export type AlertCreateManyUserInputEnvelope = { data: AlertCreateManyUserInput | AlertCreateManyUserInput[] skipDuplicates?: boolean } export type VoiceEnrollmentCreateWithoutUserInput = { id?: string name: string voiceHash: string audioMetadata?: NullableJsonNullValueInput | InputJsonValue isActive?: boolean createdAt?: Date | string updatedAt?: Date | string analyses?: VoiceAnalysisCreateNestedManyWithoutEnrollmentInput } export type VoiceEnrollmentUncheckedCreateWithoutUserInput = { id?: string name: string voiceHash: string audioMetadata?: NullableJsonNullValueInput | InputJsonValue isActive?: boolean createdAt?: Date | string updatedAt?: Date | string analyses?: VoiceAnalysisUncheckedCreateNestedManyWithoutEnrollmentInput } export type VoiceEnrollmentCreateOrConnectWithoutUserInput = { where: VoiceEnrollmentWhereUniqueInput create: XOR } export type VoiceEnrollmentCreateManyUserInputEnvelope = { data: VoiceEnrollmentCreateManyUserInput | VoiceEnrollmentCreateManyUserInput[] skipDuplicates?: boolean } export type VoiceAnalysisCreateWithoutUserInput = { id?: string audioHash: string isSynthetic: boolean confidence: number analysisResult: JsonNullValueInput | InputJsonValue audioUrl: string createdAt?: Date | string enrollment?: VoiceEnrollmentCreateNestedOneWithoutAnalysesInput } export type VoiceAnalysisUncheckedCreateWithoutUserInput = { id?: string enrollmentId?: string | null audioHash: string isSynthetic: boolean confidence: number analysisResult: JsonNullValueInput | InputJsonValue audioUrl: string createdAt?: Date | string } export type VoiceAnalysisCreateOrConnectWithoutUserInput = { where: VoiceAnalysisWhereUniqueInput create: XOR } export type VoiceAnalysisCreateManyUserInputEnvelope = { data: VoiceAnalysisCreateManyUserInput | VoiceAnalysisCreateManyUserInput[] skipDuplicates?: boolean } export type SpamFeedbackCreateWithoutUserInput = { id?: string phoneNumber: string phoneNumberHash: string isSpam: boolean confidence?: number | null feedbackType: $Enums.FeedbackType metadata?: NullableJsonNullValueInput | InputJsonValue createdAt?: Date | string updatedAt?: Date | string } export type SpamFeedbackUncheckedCreateWithoutUserInput = { id?: string phoneNumber: string phoneNumberHash: string isSpam: boolean confidence?: number | null feedbackType: $Enums.FeedbackType metadata?: NullableJsonNullValueInput | InputJsonValue createdAt?: Date | string updatedAt?: Date | string } export type SpamFeedbackCreateOrConnectWithoutUserInput = { where: SpamFeedbackWhereUniqueInput create: XOR } export type SpamFeedbackCreateManyUserInputEnvelope = { data: SpamFeedbackCreateManyUserInput | SpamFeedbackCreateManyUserInput[] skipDuplicates?: boolean } export type SpamRuleCreateWithoutUserInput = { id?: string isGlobal?: boolean ruleType: $Enums.RuleType pattern: string action: $Enums.RuleAction priority?: number isActive?: boolean createdAt?: Date | string updatedAt?: Date | string } export type SpamRuleUncheckedCreateWithoutUserInput = { id?: string isGlobal?: boolean ruleType: $Enums.RuleType pattern: string action: $Enums.RuleAction priority?: number isActive?: boolean createdAt?: Date | string updatedAt?: Date | string } export type SpamRuleCreateOrConnectWithoutUserInput = { where: SpamRuleWhereUniqueInput create: XOR } export type SpamRuleCreateManyUserInputEnvelope = { data: SpamRuleCreateManyUserInput | SpamRuleCreateManyUserInput[] skipDuplicates?: boolean } export type AccountUpsertWithWhereUniqueWithoutUserInput = { where: AccountWhereUniqueInput update: XOR create: XOR } export type AccountUpdateWithWhereUniqueWithoutUserInput = { where: AccountWhereUniqueInput data: XOR } export type AccountUpdateManyWithWhereWithoutUserInput = { where: AccountScalarWhereInput data: XOR } export type AccountScalarWhereInput = { AND?: AccountScalarWhereInput | AccountScalarWhereInput[] OR?: AccountScalarWhereInput[] NOT?: AccountScalarWhereInput | AccountScalarWhereInput[] id?: StringFilter<"Account"> | string userId?: StringFilter<"Account"> | string provider?: StringFilter<"Account"> | string providerAccountId?: StringFilter<"Account"> | string access_token?: StringNullableFilter<"Account"> | string | null refresh_token?: StringNullableFilter<"Account"> | string | null expires_at?: IntNullableFilter<"Account"> | number | null token_type?: StringNullableFilter<"Account"> | string | null scope?: StringNullableFilter<"Account"> | string | null createdAt?: DateTimeFilter<"Account"> | Date | string updatedAt?: DateTimeFilter<"Account"> | Date | string } export type SessionUpsertWithWhereUniqueWithoutUserInput = { where: SessionWhereUniqueInput update: XOR create: XOR } export type SessionUpdateWithWhereUniqueWithoutUserInput = { where: SessionWhereUniqueInput data: XOR } export type SessionUpdateManyWithWhereWithoutUserInput = { where: SessionScalarWhereInput data: XOR } export type SessionScalarWhereInput = { AND?: SessionScalarWhereInput | SessionScalarWhereInput[] OR?: SessionScalarWhereInput[] NOT?: SessionScalarWhereInput | SessionScalarWhereInput[] id?: StringFilter<"Session"> | string userId?: StringFilter<"Session"> | string sessionToken?: StringFilter<"Session"> | string expires?: DateTimeFilter<"Session"> | Date | string createdAt?: DateTimeFilter<"Session"> | Date | string updatedAt?: DateTimeFilter<"Session"> | Date | string } export type FamilyGroupMemberUpsertWithWhereUniqueWithoutUserInput = { where: FamilyGroupMemberWhereUniqueInput update: XOR create: XOR } export type FamilyGroupMemberUpdateWithWhereUniqueWithoutUserInput = { where: FamilyGroupMemberWhereUniqueInput data: XOR } export type FamilyGroupMemberUpdateManyWithWhereWithoutUserInput = { where: FamilyGroupMemberScalarWhereInput data: XOR } export type FamilyGroupMemberScalarWhereInput = { AND?: FamilyGroupMemberScalarWhereInput | FamilyGroupMemberScalarWhereInput[] OR?: FamilyGroupMemberScalarWhereInput[] NOT?: FamilyGroupMemberScalarWhereInput | FamilyGroupMemberScalarWhereInput[] id?: StringFilter<"FamilyGroupMember"> | string groupId?: StringFilter<"FamilyGroupMember"> | string userId?: StringFilter<"FamilyGroupMember"> | string role?: EnumFamilyMemberRoleFilter<"FamilyGroupMember"> | $Enums.FamilyMemberRole joinedAt?: DateTimeFilter<"FamilyGroupMember"> | Date | string createdAt?: DateTimeFilter<"FamilyGroupMember"> | Date | string updatedAt?: DateTimeFilter<"FamilyGroupMember"> | Date | string } export type FamilyGroupUpsertWithWhereUniqueWithoutOwnerInput = { where: FamilyGroupWhereUniqueInput update: XOR create: XOR } export type FamilyGroupUpdateWithWhereUniqueWithoutOwnerInput = { where: FamilyGroupWhereUniqueInput data: XOR } export type FamilyGroupUpdateManyWithWhereWithoutOwnerInput = { where: FamilyGroupScalarWhereInput data: XOR } export type FamilyGroupScalarWhereInput = { AND?: FamilyGroupScalarWhereInput | FamilyGroupScalarWhereInput[] OR?: FamilyGroupScalarWhereInput[] NOT?: FamilyGroupScalarWhereInput | FamilyGroupScalarWhereInput[] id?: StringFilter<"FamilyGroup"> | string name?: StringFilter<"FamilyGroup"> | string ownerId?: StringFilter<"FamilyGroup"> | string createdAt?: DateTimeFilter<"FamilyGroup"> | Date | string updatedAt?: DateTimeFilter<"FamilyGroup"> | Date | string } export type SubscriptionUpsertWithWhereUniqueWithoutUserInput = { where: SubscriptionWhereUniqueInput update: XOR create: XOR } export type SubscriptionUpdateWithWhereUniqueWithoutUserInput = { where: SubscriptionWhereUniqueInput data: XOR } export type SubscriptionUpdateManyWithWhereWithoutUserInput = { where: SubscriptionScalarWhereInput data: XOR } export type SubscriptionScalarWhereInput = { AND?: SubscriptionScalarWhereInput | SubscriptionScalarWhereInput[] OR?: SubscriptionScalarWhereInput[] NOT?: SubscriptionScalarWhereInput | SubscriptionScalarWhereInput[] id?: StringFilter<"Subscription"> | string userId?: StringFilter<"Subscription"> | string familyGroupId?: StringNullableFilter<"Subscription"> | string | null stripeId?: StringNullableFilter<"Subscription"> | string | null tier?: EnumSubscriptionTierFilter<"Subscription"> | $Enums.SubscriptionTier status?: EnumSubscriptionStatusFilter<"Subscription"> | $Enums.SubscriptionStatus currentPeriodStart?: DateTimeFilter<"Subscription"> | Date | string currentPeriodEnd?: DateTimeFilter<"Subscription"> | Date | string cancelAtPeriodEnd?: BoolFilter<"Subscription"> | boolean createdAt?: DateTimeFilter<"Subscription"> | Date | string updatedAt?: DateTimeFilter<"Subscription"> | Date | string } export type AlertUpsertWithWhereUniqueWithoutUserInput = { where: AlertWhereUniqueInput update: XOR create: XOR } export type AlertUpdateWithWhereUniqueWithoutUserInput = { where: AlertWhereUniqueInput data: XOR } export type AlertUpdateManyWithWhereWithoutUserInput = { where: AlertScalarWhereInput data: XOR } export type AlertScalarWhereInput = { AND?: AlertScalarWhereInput | AlertScalarWhereInput[] OR?: AlertScalarWhereInput[] NOT?: AlertScalarWhereInput | AlertScalarWhereInput[] id?: StringFilter<"Alert"> | string subscriptionId?: StringFilter<"Alert"> | string userId?: StringFilter<"Alert"> | string exposureId?: StringNullableFilter<"Alert"> | string | null type?: EnumAlertTypeFilter<"Alert"> | $Enums.AlertType title?: StringFilter<"Alert"> | string message?: StringFilter<"Alert"> | string severity?: EnumAlertSeverityFilter<"Alert"> | $Enums.AlertSeverity isRead?: BoolFilter<"Alert"> | boolean readAt?: DateTimeNullableFilter<"Alert"> | Date | string | null channel?: EnumAlertChannelNullableListFilter<"Alert"> createdAt?: DateTimeFilter<"Alert"> | Date | string updatedAt?: DateTimeFilter<"Alert"> | Date | string } export type VoiceEnrollmentUpsertWithWhereUniqueWithoutUserInput = { where: VoiceEnrollmentWhereUniqueInput update: XOR create: XOR } export type VoiceEnrollmentUpdateWithWhereUniqueWithoutUserInput = { where: VoiceEnrollmentWhereUniqueInput data: XOR } export type VoiceEnrollmentUpdateManyWithWhereWithoutUserInput = { where: VoiceEnrollmentScalarWhereInput data: XOR } export type VoiceEnrollmentScalarWhereInput = { AND?: VoiceEnrollmentScalarWhereInput | VoiceEnrollmentScalarWhereInput[] OR?: VoiceEnrollmentScalarWhereInput[] NOT?: VoiceEnrollmentScalarWhereInput | VoiceEnrollmentScalarWhereInput[] id?: StringFilter<"VoiceEnrollment"> | string userId?: StringFilter<"VoiceEnrollment"> | string name?: StringFilter<"VoiceEnrollment"> | string voiceHash?: StringFilter<"VoiceEnrollment"> | string audioMetadata?: JsonNullableFilter<"VoiceEnrollment"> isActive?: BoolFilter<"VoiceEnrollment"> | boolean createdAt?: DateTimeFilter<"VoiceEnrollment"> | Date | string updatedAt?: DateTimeFilter<"VoiceEnrollment"> | Date | string } export type VoiceAnalysisUpsertWithWhereUniqueWithoutUserInput = { where: VoiceAnalysisWhereUniqueInput update: XOR create: XOR } export type VoiceAnalysisUpdateWithWhereUniqueWithoutUserInput = { where: VoiceAnalysisWhereUniqueInput data: XOR } export type VoiceAnalysisUpdateManyWithWhereWithoutUserInput = { where: VoiceAnalysisScalarWhereInput data: XOR } export type VoiceAnalysisScalarWhereInput = { AND?: VoiceAnalysisScalarWhereInput | VoiceAnalysisScalarWhereInput[] OR?: VoiceAnalysisScalarWhereInput[] NOT?: VoiceAnalysisScalarWhereInput | VoiceAnalysisScalarWhereInput[] id?: StringFilter<"VoiceAnalysis"> | string enrollmentId?: StringNullableFilter<"VoiceAnalysis"> | string | null userId?: StringFilter<"VoiceAnalysis"> | string audioHash?: StringFilter<"VoiceAnalysis"> | string isSynthetic?: BoolFilter<"VoiceAnalysis"> | boolean confidence?: FloatFilter<"VoiceAnalysis"> | number analysisResult?: JsonFilter<"VoiceAnalysis"> audioUrl?: StringFilter<"VoiceAnalysis"> | string createdAt?: DateTimeFilter<"VoiceAnalysis"> | Date | string } export type SpamFeedbackUpsertWithWhereUniqueWithoutUserInput = { where: SpamFeedbackWhereUniqueInput update: XOR create: XOR } export type SpamFeedbackUpdateWithWhereUniqueWithoutUserInput = { where: SpamFeedbackWhereUniqueInput data: XOR } export type SpamFeedbackUpdateManyWithWhereWithoutUserInput = { where: SpamFeedbackScalarWhereInput data: XOR } export type SpamFeedbackScalarWhereInput = { AND?: SpamFeedbackScalarWhereInput | SpamFeedbackScalarWhereInput[] OR?: SpamFeedbackScalarWhereInput[] NOT?: SpamFeedbackScalarWhereInput | SpamFeedbackScalarWhereInput[] id?: StringFilter<"SpamFeedback"> | string userId?: StringFilter<"SpamFeedback"> | string phoneNumber?: StringFilter<"SpamFeedback"> | string phoneNumberHash?: StringFilter<"SpamFeedback"> | string isSpam?: BoolFilter<"SpamFeedback"> | boolean confidence?: FloatNullableFilter<"SpamFeedback"> | number | null feedbackType?: EnumFeedbackTypeFilter<"SpamFeedback"> | $Enums.FeedbackType metadata?: JsonNullableFilter<"SpamFeedback"> createdAt?: DateTimeFilter<"SpamFeedback"> | Date | string updatedAt?: DateTimeFilter<"SpamFeedback"> | Date | string } export type SpamRuleUpsertWithWhereUniqueWithoutUserInput = { where: SpamRuleWhereUniqueInput update: XOR create: XOR } export type SpamRuleUpdateWithWhereUniqueWithoutUserInput = { where: SpamRuleWhereUniqueInput data: XOR } export type SpamRuleUpdateManyWithWhereWithoutUserInput = { where: SpamRuleScalarWhereInput data: XOR } export type SpamRuleScalarWhereInput = { AND?: SpamRuleScalarWhereInput | SpamRuleScalarWhereInput[] OR?: SpamRuleScalarWhereInput[] NOT?: SpamRuleScalarWhereInput | SpamRuleScalarWhereInput[] id?: StringFilter<"SpamRule"> | string userId?: StringNullableFilter<"SpamRule"> | string | null isGlobal?: BoolFilter<"SpamRule"> | boolean ruleType?: EnumRuleTypeFilter<"SpamRule"> | $Enums.RuleType pattern?: StringFilter<"SpamRule"> | string action?: EnumRuleActionFilter<"SpamRule"> | $Enums.RuleAction priority?: IntFilter<"SpamRule"> | number isActive?: BoolFilter<"SpamRule"> | boolean createdAt?: DateTimeFilter<"SpamRule"> | Date | string updatedAt?: DateTimeFilter<"SpamRule"> | Date | string } export type UserCreateWithoutAccountsInput = { id?: string email: string emailVerified?: Date | string | null name?: string | null image?: string | null role?: $Enums.UserRole createdAt?: Date | string updatedAt?: Date | string sessions?: SessionCreateNestedManyWithoutUserInput familyGroups?: FamilyGroupMemberCreateNestedManyWithoutUserInput familyGroupOwned?: FamilyGroupCreateNestedManyWithoutOwnerInput subscriptions?: SubscriptionCreateNestedManyWithoutUserInput alerts?: AlertCreateNestedManyWithoutUserInput voiceEnrollments?: VoiceEnrollmentCreateNestedManyWithoutUserInput voiceAnalyses?: VoiceAnalysisCreateNestedManyWithoutUserInput spamFeedback?: SpamFeedbackCreateNestedManyWithoutUserInput spamRules?: SpamRuleCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutAccountsInput = { id?: string email: string emailVerified?: Date | string | null name?: string | null image?: string | null role?: $Enums.UserRole createdAt?: Date | string updatedAt?: Date | string sessions?: SessionUncheckedCreateNestedManyWithoutUserInput familyGroups?: FamilyGroupMemberUncheckedCreateNestedManyWithoutUserInput familyGroupOwned?: FamilyGroupUncheckedCreateNestedManyWithoutOwnerInput subscriptions?: SubscriptionUncheckedCreateNestedManyWithoutUserInput alerts?: AlertUncheckedCreateNestedManyWithoutUserInput voiceEnrollments?: VoiceEnrollmentUncheckedCreateNestedManyWithoutUserInput voiceAnalyses?: VoiceAnalysisUncheckedCreateNestedManyWithoutUserInput spamFeedback?: SpamFeedbackUncheckedCreateNestedManyWithoutUserInput spamRules?: SpamRuleUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutAccountsInput = { where: UserWhereUniqueInput create: XOR } export type UserUpsertWithoutAccountsInput = { update: XOR create: XOR where?: UserWhereInput } export type UserUpdateToOneWithWhereWithoutAccountsInput = { where?: UserWhereInput data: XOR } export type UserUpdateWithoutAccountsInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string emailVerified?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null name?: NullableStringFieldUpdateOperationsInput | string | null image?: NullableStringFieldUpdateOperationsInput | string | null role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string sessions?: SessionUpdateManyWithoutUserNestedInput familyGroups?: FamilyGroupMemberUpdateManyWithoutUserNestedInput familyGroupOwned?: FamilyGroupUpdateManyWithoutOwnerNestedInput subscriptions?: SubscriptionUpdateManyWithoutUserNestedInput alerts?: AlertUpdateManyWithoutUserNestedInput voiceEnrollments?: VoiceEnrollmentUpdateManyWithoutUserNestedInput voiceAnalyses?: VoiceAnalysisUpdateManyWithoutUserNestedInput spamFeedback?: SpamFeedbackUpdateManyWithoutUserNestedInput spamRules?: SpamRuleUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutAccountsInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string emailVerified?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null name?: NullableStringFieldUpdateOperationsInput | string | null image?: NullableStringFieldUpdateOperationsInput | string | null role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string sessions?: SessionUncheckedUpdateManyWithoutUserNestedInput familyGroups?: FamilyGroupMemberUncheckedUpdateManyWithoutUserNestedInput familyGroupOwned?: FamilyGroupUncheckedUpdateManyWithoutOwnerNestedInput subscriptions?: SubscriptionUncheckedUpdateManyWithoutUserNestedInput alerts?: AlertUncheckedUpdateManyWithoutUserNestedInput voiceEnrollments?: VoiceEnrollmentUncheckedUpdateManyWithoutUserNestedInput voiceAnalyses?: VoiceAnalysisUncheckedUpdateManyWithoutUserNestedInput spamFeedback?: SpamFeedbackUncheckedUpdateManyWithoutUserNestedInput spamRules?: SpamRuleUncheckedUpdateManyWithoutUserNestedInput } export type UserCreateWithoutSessionsInput = { id?: string email: string emailVerified?: Date | string | null name?: string | null image?: string | null role?: $Enums.UserRole createdAt?: Date | string updatedAt?: Date | string accounts?: AccountCreateNestedManyWithoutUserInput familyGroups?: FamilyGroupMemberCreateNestedManyWithoutUserInput familyGroupOwned?: FamilyGroupCreateNestedManyWithoutOwnerInput subscriptions?: SubscriptionCreateNestedManyWithoutUserInput alerts?: AlertCreateNestedManyWithoutUserInput voiceEnrollments?: VoiceEnrollmentCreateNestedManyWithoutUserInput voiceAnalyses?: VoiceAnalysisCreateNestedManyWithoutUserInput spamFeedback?: SpamFeedbackCreateNestedManyWithoutUserInput spamRules?: SpamRuleCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutSessionsInput = { id?: string email: string emailVerified?: Date | string | null name?: string | null image?: string | null role?: $Enums.UserRole createdAt?: Date | string updatedAt?: Date | string accounts?: AccountUncheckedCreateNestedManyWithoutUserInput familyGroups?: FamilyGroupMemberUncheckedCreateNestedManyWithoutUserInput familyGroupOwned?: FamilyGroupUncheckedCreateNestedManyWithoutOwnerInput subscriptions?: SubscriptionUncheckedCreateNestedManyWithoutUserInput alerts?: AlertUncheckedCreateNestedManyWithoutUserInput voiceEnrollments?: VoiceEnrollmentUncheckedCreateNestedManyWithoutUserInput voiceAnalyses?: VoiceAnalysisUncheckedCreateNestedManyWithoutUserInput spamFeedback?: SpamFeedbackUncheckedCreateNestedManyWithoutUserInput spamRules?: SpamRuleUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutSessionsInput = { where: UserWhereUniqueInput create: XOR } export type UserUpsertWithoutSessionsInput = { update: XOR create: XOR where?: UserWhereInput } export type UserUpdateToOneWithWhereWithoutSessionsInput = { where?: UserWhereInput data: XOR } export type UserUpdateWithoutSessionsInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string emailVerified?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null name?: NullableStringFieldUpdateOperationsInput | string | null image?: NullableStringFieldUpdateOperationsInput | string | null role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string accounts?: AccountUpdateManyWithoutUserNestedInput familyGroups?: FamilyGroupMemberUpdateManyWithoutUserNestedInput familyGroupOwned?: FamilyGroupUpdateManyWithoutOwnerNestedInput subscriptions?: SubscriptionUpdateManyWithoutUserNestedInput alerts?: AlertUpdateManyWithoutUserNestedInput voiceEnrollments?: VoiceEnrollmentUpdateManyWithoutUserNestedInput voiceAnalyses?: VoiceAnalysisUpdateManyWithoutUserNestedInput spamFeedback?: SpamFeedbackUpdateManyWithoutUserNestedInput spamRules?: SpamRuleUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutSessionsInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string emailVerified?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null name?: NullableStringFieldUpdateOperationsInput | string | null image?: NullableStringFieldUpdateOperationsInput | string | null role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string accounts?: AccountUncheckedUpdateManyWithoutUserNestedInput familyGroups?: FamilyGroupMemberUncheckedUpdateManyWithoutUserNestedInput familyGroupOwned?: FamilyGroupUncheckedUpdateManyWithoutOwnerNestedInput subscriptions?: SubscriptionUncheckedUpdateManyWithoutUserNestedInput alerts?: AlertUncheckedUpdateManyWithoutUserNestedInput voiceEnrollments?: VoiceEnrollmentUncheckedUpdateManyWithoutUserNestedInput voiceAnalyses?: VoiceAnalysisUncheckedUpdateManyWithoutUserNestedInput spamFeedback?: SpamFeedbackUncheckedUpdateManyWithoutUserNestedInput spamRules?: SpamRuleUncheckedUpdateManyWithoutUserNestedInput } export type UserCreateWithoutFamilyGroupOwnedInput = { id?: string email: string emailVerified?: Date | string | null name?: string | null image?: string | null role?: $Enums.UserRole createdAt?: Date | string updatedAt?: Date | string accounts?: AccountCreateNestedManyWithoutUserInput sessions?: SessionCreateNestedManyWithoutUserInput familyGroups?: FamilyGroupMemberCreateNestedManyWithoutUserInput subscriptions?: SubscriptionCreateNestedManyWithoutUserInput alerts?: AlertCreateNestedManyWithoutUserInput voiceEnrollments?: VoiceEnrollmentCreateNestedManyWithoutUserInput voiceAnalyses?: VoiceAnalysisCreateNestedManyWithoutUserInput spamFeedback?: SpamFeedbackCreateNestedManyWithoutUserInput spamRules?: SpamRuleCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutFamilyGroupOwnedInput = { id?: string email: string emailVerified?: Date | string | null name?: string | null image?: string | null role?: $Enums.UserRole createdAt?: Date | string updatedAt?: Date | string accounts?: AccountUncheckedCreateNestedManyWithoutUserInput sessions?: SessionUncheckedCreateNestedManyWithoutUserInput familyGroups?: FamilyGroupMemberUncheckedCreateNestedManyWithoutUserInput subscriptions?: SubscriptionUncheckedCreateNestedManyWithoutUserInput alerts?: AlertUncheckedCreateNestedManyWithoutUserInput voiceEnrollments?: VoiceEnrollmentUncheckedCreateNestedManyWithoutUserInput voiceAnalyses?: VoiceAnalysisUncheckedCreateNestedManyWithoutUserInput spamFeedback?: SpamFeedbackUncheckedCreateNestedManyWithoutUserInput spamRules?: SpamRuleUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutFamilyGroupOwnedInput = { where: UserWhereUniqueInput create: XOR } export type FamilyGroupMemberCreateWithoutGroupInput = { id?: string role?: $Enums.FamilyMemberRole joinedAt?: Date | string createdAt?: Date | string updatedAt?: Date | string user: UserCreateNestedOneWithoutFamilyGroupsInput } export type FamilyGroupMemberUncheckedCreateWithoutGroupInput = { id?: string userId: string role?: $Enums.FamilyMemberRole joinedAt?: Date | string createdAt?: Date | string updatedAt?: Date | string } export type FamilyGroupMemberCreateOrConnectWithoutGroupInput = { where: FamilyGroupMemberWhereUniqueInput create: XOR } export type FamilyGroupMemberCreateManyGroupInputEnvelope = { data: FamilyGroupMemberCreateManyGroupInput | FamilyGroupMemberCreateManyGroupInput[] skipDuplicates?: boolean } export type SubscriptionCreateWithoutFamilyGroupInput = { id?: string stripeId?: string | null tier?: $Enums.SubscriptionTier status?: $Enums.SubscriptionStatus currentPeriodStart: Date | string currentPeriodEnd: Date | string cancelAtPeriodEnd?: boolean createdAt?: Date | string updatedAt?: Date | string user: UserCreateNestedOneWithoutSubscriptionsInput watchlistItems?: WatchlistItemCreateNestedManyWithoutSubscriptionInput exposures?: ExposureCreateNestedManyWithoutSubscriptionInput alerts?: AlertCreateNestedManyWithoutSubscriptionInput } export type SubscriptionUncheckedCreateWithoutFamilyGroupInput = { id?: string userId: string stripeId?: string | null tier?: $Enums.SubscriptionTier status?: $Enums.SubscriptionStatus currentPeriodStart: Date | string currentPeriodEnd: Date | string cancelAtPeriodEnd?: boolean createdAt?: Date | string updatedAt?: Date | string watchlistItems?: WatchlistItemUncheckedCreateNestedManyWithoutSubscriptionInput exposures?: ExposureUncheckedCreateNestedManyWithoutSubscriptionInput alerts?: AlertUncheckedCreateNestedManyWithoutSubscriptionInput } export type SubscriptionCreateOrConnectWithoutFamilyGroupInput = { where: SubscriptionWhereUniqueInput create: XOR } export type SubscriptionCreateManyFamilyGroupInputEnvelope = { data: SubscriptionCreateManyFamilyGroupInput | SubscriptionCreateManyFamilyGroupInput[] skipDuplicates?: boolean } export type UserUpsertWithoutFamilyGroupOwnedInput = { update: XOR create: XOR where?: UserWhereInput } export type UserUpdateToOneWithWhereWithoutFamilyGroupOwnedInput = { where?: UserWhereInput data: XOR } export type UserUpdateWithoutFamilyGroupOwnedInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string emailVerified?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null name?: NullableStringFieldUpdateOperationsInput | string | null image?: NullableStringFieldUpdateOperationsInput | string | null role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string accounts?: AccountUpdateManyWithoutUserNestedInput sessions?: SessionUpdateManyWithoutUserNestedInput familyGroups?: FamilyGroupMemberUpdateManyWithoutUserNestedInput subscriptions?: SubscriptionUpdateManyWithoutUserNestedInput alerts?: AlertUpdateManyWithoutUserNestedInput voiceEnrollments?: VoiceEnrollmentUpdateManyWithoutUserNestedInput voiceAnalyses?: VoiceAnalysisUpdateManyWithoutUserNestedInput spamFeedback?: SpamFeedbackUpdateManyWithoutUserNestedInput spamRules?: SpamRuleUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutFamilyGroupOwnedInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string emailVerified?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null name?: NullableStringFieldUpdateOperationsInput | string | null image?: NullableStringFieldUpdateOperationsInput | string | null role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string accounts?: AccountUncheckedUpdateManyWithoutUserNestedInput sessions?: SessionUncheckedUpdateManyWithoutUserNestedInput familyGroups?: FamilyGroupMemberUncheckedUpdateManyWithoutUserNestedInput subscriptions?: SubscriptionUncheckedUpdateManyWithoutUserNestedInput alerts?: AlertUncheckedUpdateManyWithoutUserNestedInput voiceEnrollments?: VoiceEnrollmentUncheckedUpdateManyWithoutUserNestedInput voiceAnalyses?: VoiceAnalysisUncheckedUpdateManyWithoutUserNestedInput spamFeedback?: SpamFeedbackUncheckedUpdateManyWithoutUserNestedInput spamRules?: SpamRuleUncheckedUpdateManyWithoutUserNestedInput } export type FamilyGroupMemberUpsertWithWhereUniqueWithoutGroupInput = { where: FamilyGroupMemberWhereUniqueInput update: XOR create: XOR } export type FamilyGroupMemberUpdateWithWhereUniqueWithoutGroupInput = { where: FamilyGroupMemberWhereUniqueInput data: XOR } export type FamilyGroupMemberUpdateManyWithWhereWithoutGroupInput = { where: FamilyGroupMemberScalarWhereInput data: XOR } export type SubscriptionUpsertWithWhereUniqueWithoutFamilyGroupInput = { where: SubscriptionWhereUniqueInput update: XOR create: XOR } export type SubscriptionUpdateWithWhereUniqueWithoutFamilyGroupInput = { where: SubscriptionWhereUniqueInput data: XOR } export type SubscriptionUpdateManyWithWhereWithoutFamilyGroupInput = { where: SubscriptionScalarWhereInput data: XOR } export type FamilyGroupCreateWithoutMembersInput = { id?: string name: string createdAt?: Date | string updatedAt?: Date | string owner: UserCreateNestedOneWithoutFamilyGroupOwnedInput subscriptions?: SubscriptionCreateNestedManyWithoutFamilyGroupInput } export type FamilyGroupUncheckedCreateWithoutMembersInput = { id?: string name: string ownerId: string createdAt?: Date | string updatedAt?: Date | string subscriptions?: SubscriptionUncheckedCreateNestedManyWithoutFamilyGroupInput } export type FamilyGroupCreateOrConnectWithoutMembersInput = { where: FamilyGroupWhereUniqueInput create: XOR } export type UserCreateWithoutFamilyGroupsInput = { id?: string email: string emailVerified?: Date | string | null name?: string | null image?: string | null role?: $Enums.UserRole createdAt?: Date | string updatedAt?: Date | string accounts?: AccountCreateNestedManyWithoutUserInput sessions?: SessionCreateNestedManyWithoutUserInput familyGroupOwned?: FamilyGroupCreateNestedManyWithoutOwnerInput subscriptions?: SubscriptionCreateNestedManyWithoutUserInput alerts?: AlertCreateNestedManyWithoutUserInput voiceEnrollments?: VoiceEnrollmentCreateNestedManyWithoutUserInput voiceAnalyses?: VoiceAnalysisCreateNestedManyWithoutUserInput spamFeedback?: SpamFeedbackCreateNestedManyWithoutUserInput spamRules?: SpamRuleCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutFamilyGroupsInput = { id?: string email: string emailVerified?: Date | string | null name?: string | null image?: string | null role?: $Enums.UserRole createdAt?: Date | string updatedAt?: Date | string accounts?: AccountUncheckedCreateNestedManyWithoutUserInput sessions?: SessionUncheckedCreateNestedManyWithoutUserInput familyGroupOwned?: FamilyGroupUncheckedCreateNestedManyWithoutOwnerInput subscriptions?: SubscriptionUncheckedCreateNestedManyWithoutUserInput alerts?: AlertUncheckedCreateNestedManyWithoutUserInput voiceEnrollments?: VoiceEnrollmentUncheckedCreateNestedManyWithoutUserInput voiceAnalyses?: VoiceAnalysisUncheckedCreateNestedManyWithoutUserInput spamFeedback?: SpamFeedbackUncheckedCreateNestedManyWithoutUserInput spamRules?: SpamRuleUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutFamilyGroupsInput = { where: UserWhereUniqueInput create: XOR } export type FamilyGroupUpsertWithoutMembersInput = { update: XOR create: XOR where?: FamilyGroupWhereInput } export type FamilyGroupUpdateToOneWithWhereWithoutMembersInput = { where?: FamilyGroupWhereInput data: XOR } export type FamilyGroupUpdateWithoutMembersInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string owner?: UserUpdateOneRequiredWithoutFamilyGroupOwnedNestedInput subscriptions?: SubscriptionUpdateManyWithoutFamilyGroupNestedInput } export type FamilyGroupUncheckedUpdateWithoutMembersInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string ownerId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string subscriptions?: SubscriptionUncheckedUpdateManyWithoutFamilyGroupNestedInput } export type UserUpsertWithoutFamilyGroupsInput = { update: XOR create: XOR where?: UserWhereInput } export type UserUpdateToOneWithWhereWithoutFamilyGroupsInput = { where?: UserWhereInput data: XOR } export type UserUpdateWithoutFamilyGroupsInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string emailVerified?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null name?: NullableStringFieldUpdateOperationsInput | string | null image?: NullableStringFieldUpdateOperationsInput | string | null role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string accounts?: AccountUpdateManyWithoutUserNestedInput sessions?: SessionUpdateManyWithoutUserNestedInput familyGroupOwned?: FamilyGroupUpdateManyWithoutOwnerNestedInput subscriptions?: SubscriptionUpdateManyWithoutUserNestedInput alerts?: AlertUpdateManyWithoutUserNestedInput voiceEnrollments?: VoiceEnrollmentUpdateManyWithoutUserNestedInput voiceAnalyses?: VoiceAnalysisUpdateManyWithoutUserNestedInput spamFeedback?: SpamFeedbackUpdateManyWithoutUserNestedInput spamRules?: SpamRuleUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutFamilyGroupsInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string emailVerified?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null name?: NullableStringFieldUpdateOperationsInput | string | null image?: NullableStringFieldUpdateOperationsInput | string | null role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string accounts?: AccountUncheckedUpdateManyWithoutUserNestedInput sessions?: SessionUncheckedUpdateManyWithoutUserNestedInput familyGroupOwned?: FamilyGroupUncheckedUpdateManyWithoutOwnerNestedInput subscriptions?: SubscriptionUncheckedUpdateManyWithoutUserNestedInput alerts?: AlertUncheckedUpdateManyWithoutUserNestedInput voiceEnrollments?: VoiceEnrollmentUncheckedUpdateManyWithoutUserNestedInput voiceAnalyses?: VoiceAnalysisUncheckedUpdateManyWithoutUserNestedInput spamFeedback?: SpamFeedbackUncheckedUpdateManyWithoutUserNestedInput spamRules?: SpamRuleUncheckedUpdateManyWithoutUserNestedInput } export type UserCreateWithoutSubscriptionsInput = { id?: string email: string emailVerified?: Date | string | null name?: string | null image?: string | null role?: $Enums.UserRole createdAt?: Date | string updatedAt?: Date | string accounts?: AccountCreateNestedManyWithoutUserInput sessions?: SessionCreateNestedManyWithoutUserInput familyGroups?: FamilyGroupMemberCreateNestedManyWithoutUserInput familyGroupOwned?: FamilyGroupCreateNestedManyWithoutOwnerInput alerts?: AlertCreateNestedManyWithoutUserInput voiceEnrollments?: VoiceEnrollmentCreateNestedManyWithoutUserInput voiceAnalyses?: VoiceAnalysisCreateNestedManyWithoutUserInput spamFeedback?: SpamFeedbackCreateNestedManyWithoutUserInput spamRules?: SpamRuleCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutSubscriptionsInput = { id?: string email: string emailVerified?: Date | string | null name?: string | null image?: string | null role?: $Enums.UserRole createdAt?: Date | string updatedAt?: Date | string accounts?: AccountUncheckedCreateNestedManyWithoutUserInput sessions?: SessionUncheckedCreateNestedManyWithoutUserInput familyGroups?: FamilyGroupMemberUncheckedCreateNestedManyWithoutUserInput familyGroupOwned?: FamilyGroupUncheckedCreateNestedManyWithoutOwnerInput alerts?: AlertUncheckedCreateNestedManyWithoutUserInput voiceEnrollments?: VoiceEnrollmentUncheckedCreateNestedManyWithoutUserInput voiceAnalyses?: VoiceAnalysisUncheckedCreateNestedManyWithoutUserInput spamFeedback?: SpamFeedbackUncheckedCreateNestedManyWithoutUserInput spamRules?: SpamRuleUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutSubscriptionsInput = { where: UserWhereUniqueInput create: XOR } export type FamilyGroupCreateWithoutSubscriptionsInput = { id?: string name: string createdAt?: Date | string updatedAt?: Date | string owner: UserCreateNestedOneWithoutFamilyGroupOwnedInput members?: FamilyGroupMemberCreateNestedManyWithoutGroupInput } export type FamilyGroupUncheckedCreateWithoutSubscriptionsInput = { id?: string name: string ownerId: string createdAt?: Date | string updatedAt?: Date | string members?: FamilyGroupMemberUncheckedCreateNestedManyWithoutGroupInput } export type FamilyGroupCreateOrConnectWithoutSubscriptionsInput = { where: FamilyGroupWhereUniqueInput create: XOR } export type WatchlistItemCreateWithoutSubscriptionInput = { id?: string type: $Enums.WatchlistType value: string hash: string isActive?: boolean createdAt?: Date | string updatedAt?: Date | string exposures?: ExposureCreateNestedManyWithoutWatchlistItemInput } export type WatchlistItemUncheckedCreateWithoutSubscriptionInput = { id?: string type: $Enums.WatchlistType value: string hash: string isActive?: boolean createdAt?: Date | string updatedAt?: Date | string exposures?: ExposureUncheckedCreateNestedManyWithoutWatchlistItemInput } export type WatchlistItemCreateOrConnectWithoutSubscriptionInput = { where: WatchlistItemWhereUniqueInput create: XOR } export type WatchlistItemCreateManySubscriptionInputEnvelope = { data: WatchlistItemCreateManySubscriptionInput | WatchlistItemCreateManySubscriptionInput[] skipDuplicates?: boolean } export type ExposureCreateWithoutSubscriptionInput = { id?: string source: $Enums.ExposureSource dataType: $Enums.WatchlistType identifier: string identifierHash: string severity?: $Enums.ExposureSeverity metadata?: NullableJsonNullValueInput | InputJsonValue isFirstTime?: boolean detectedAt: Date | string createdAt?: Date | string updatedAt?: Date | string watchlistItem?: WatchlistItemCreateNestedOneWithoutExposuresInput alerts?: AlertCreateNestedManyWithoutExposureInput } export type ExposureUncheckedCreateWithoutSubscriptionInput = { id?: string watchlistItemId?: string | null source: $Enums.ExposureSource dataType: $Enums.WatchlistType identifier: string identifierHash: string severity?: $Enums.ExposureSeverity metadata?: NullableJsonNullValueInput | InputJsonValue isFirstTime?: boolean detectedAt: Date | string createdAt?: Date | string updatedAt?: Date | string alerts?: AlertUncheckedCreateNestedManyWithoutExposureInput } export type ExposureCreateOrConnectWithoutSubscriptionInput = { where: ExposureWhereUniqueInput create: XOR } export type ExposureCreateManySubscriptionInputEnvelope = { data: ExposureCreateManySubscriptionInput | ExposureCreateManySubscriptionInput[] skipDuplicates?: boolean } export type AlertCreateWithoutSubscriptionInput = { id?: string type: $Enums.AlertType title: string message: string severity?: $Enums.AlertSeverity isRead?: boolean readAt?: Date | string | null channel?: AlertCreatechannelInput | $Enums.AlertChannel[] createdAt?: Date | string updatedAt?: Date | string user: UserCreateNestedOneWithoutAlertsInput exposure?: ExposureCreateNestedOneWithoutAlertsInput } export type AlertUncheckedCreateWithoutSubscriptionInput = { id?: string userId: string exposureId?: string | null type: $Enums.AlertType title: string message: string severity?: $Enums.AlertSeverity isRead?: boolean readAt?: Date | string | null channel?: AlertCreatechannelInput | $Enums.AlertChannel[] createdAt?: Date | string updatedAt?: Date | string } export type AlertCreateOrConnectWithoutSubscriptionInput = { where: AlertWhereUniqueInput create: XOR } export type AlertCreateManySubscriptionInputEnvelope = { data: AlertCreateManySubscriptionInput | AlertCreateManySubscriptionInput[] skipDuplicates?: boolean } export type UserUpsertWithoutSubscriptionsInput = { update: XOR create: XOR where?: UserWhereInput } export type UserUpdateToOneWithWhereWithoutSubscriptionsInput = { where?: UserWhereInput data: XOR } export type UserUpdateWithoutSubscriptionsInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string emailVerified?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null name?: NullableStringFieldUpdateOperationsInput | string | null image?: NullableStringFieldUpdateOperationsInput | string | null role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string accounts?: AccountUpdateManyWithoutUserNestedInput sessions?: SessionUpdateManyWithoutUserNestedInput familyGroups?: FamilyGroupMemberUpdateManyWithoutUserNestedInput familyGroupOwned?: FamilyGroupUpdateManyWithoutOwnerNestedInput alerts?: AlertUpdateManyWithoutUserNestedInput voiceEnrollments?: VoiceEnrollmentUpdateManyWithoutUserNestedInput voiceAnalyses?: VoiceAnalysisUpdateManyWithoutUserNestedInput spamFeedback?: SpamFeedbackUpdateManyWithoutUserNestedInput spamRules?: SpamRuleUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutSubscriptionsInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string emailVerified?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null name?: NullableStringFieldUpdateOperationsInput | string | null image?: NullableStringFieldUpdateOperationsInput | string | null role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string accounts?: AccountUncheckedUpdateManyWithoutUserNestedInput sessions?: SessionUncheckedUpdateManyWithoutUserNestedInput familyGroups?: FamilyGroupMemberUncheckedUpdateManyWithoutUserNestedInput familyGroupOwned?: FamilyGroupUncheckedUpdateManyWithoutOwnerNestedInput alerts?: AlertUncheckedUpdateManyWithoutUserNestedInput voiceEnrollments?: VoiceEnrollmentUncheckedUpdateManyWithoutUserNestedInput voiceAnalyses?: VoiceAnalysisUncheckedUpdateManyWithoutUserNestedInput spamFeedback?: SpamFeedbackUncheckedUpdateManyWithoutUserNestedInput spamRules?: SpamRuleUncheckedUpdateManyWithoutUserNestedInput } export type FamilyGroupUpsertWithoutSubscriptionsInput = { update: XOR create: XOR where?: FamilyGroupWhereInput } export type FamilyGroupUpdateToOneWithWhereWithoutSubscriptionsInput = { where?: FamilyGroupWhereInput data: XOR } export type FamilyGroupUpdateWithoutSubscriptionsInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string owner?: UserUpdateOneRequiredWithoutFamilyGroupOwnedNestedInput members?: FamilyGroupMemberUpdateManyWithoutGroupNestedInput } export type FamilyGroupUncheckedUpdateWithoutSubscriptionsInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string ownerId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string members?: FamilyGroupMemberUncheckedUpdateManyWithoutGroupNestedInput } export type WatchlistItemUpsertWithWhereUniqueWithoutSubscriptionInput = { where: WatchlistItemWhereUniqueInput update: XOR create: XOR } export type WatchlistItemUpdateWithWhereUniqueWithoutSubscriptionInput = { where: WatchlistItemWhereUniqueInput data: XOR } export type WatchlistItemUpdateManyWithWhereWithoutSubscriptionInput = { where: WatchlistItemScalarWhereInput data: XOR } export type WatchlistItemScalarWhereInput = { AND?: WatchlistItemScalarWhereInput | WatchlistItemScalarWhereInput[] OR?: WatchlistItemScalarWhereInput[] NOT?: WatchlistItemScalarWhereInput | WatchlistItemScalarWhereInput[] id?: StringFilter<"WatchlistItem"> | string subscriptionId?: StringFilter<"WatchlistItem"> | string type?: EnumWatchlistTypeFilter<"WatchlistItem"> | $Enums.WatchlistType value?: StringFilter<"WatchlistItem"> | string hash?: StringFilter<"WatchlistItem"> | string isActive?: BoolFilter<"WatchlistItem"> | boolean createdAt?: DateTimeFilter<"WatchlistItem"> | Date | string updatedAt?: DateTimeFilter<"WatchlistItem"> | Date | string } export type ExposureUpsertWithWhereUniqueWithoutSubscriptionInput = { where: ExposureWhereUniqueInput update: XOR create: XOR } export type ExposureUpdateWithWhereUniqueWithoutSubscriptionInput = { where: ExposureWhereUniqueInput data: XOR } export type ExposureUpdateManyWithWhereWithoutSubscriptionInput = { where: ExposureScalarWhereInput data: XOR } export type ExposureScalarWhereInput = { AND?: ExposureScalarWhereInput | ExposureScalarWhereInput[] OR?: ExposureScalarWhereInput[] NOT?: ExposureScalarWhereInput | ExposureScalarWhereInput[] id?: StringFilter<"Exposure"> | string subscriptionId?: StringFilter<"Exposure"> | string watchlistItemId?: StringNullableFilter<"Exposure"> | string | null source?: EnumExposureSourceFilter<"Exposure"> | $Enums.ExposureSource dataType?: EnumWatchlistTypeFilter<"Exposure"> | $Enums.WatchlistType identifier?: StringFilter<"Exposure"> | string identifierHash?: StringFilter<"Exposure"> | string severity?: EnumExposureSeverityFilter<"Exposure"> | $Enums.ExposureSeverity metadata?: JsonNullableFilter<"Exposure"> isFirstTime?: BoolFilter<"Exposure"> | boolean detectedAt?: DateTimeFilter<"Exposure"> | Date | string createdAt?: DateTimeFilter<"Exposure"> | Date | string updatedAt?: DateTimeFilter<"Exposure"> | Date | string } export type AlertUpsertWithWhereUniqueWithoutSubscriptionInput = { where: AlertWhereUniqueInput update: XOR create: XOR } export type AlertUpdateWithWhereUniqueWithoutSubscriptionInput = { where: AlertWhereUniqueInput data: XOR } export type AlertUpdateManyWithWhereWithoutSubscriptionInput = { where: AlertScalarWhereInput data: XOR } export type SubscriptionCreateWithoutWatchlistItemsInput = { id?: string stripeId?: string | null tier?: $Enums.SubscriptionTier status?: $Enums.SubscriptionStatus currentPeriodStart: Date | string currentPeriodEnd: Date | string cancelAtPeriodEnd?: boolean createdAt?: Date | string updatedAt?: Date | string user: UserCreateNestedOneWithoutSubscriptionsInput familyGroup?: FamilyGroupCreateNestedOneWithoutSubscriptionsInput exposures?: ExposureCreateNestedManyWithoutSubscriptionInput alerts?: AlertCreateNestedManyWithoutSubscriptionInput } export type SubscriptionUncheckedCreateWithoutWatchlistItemsInput = { id?: string userId: string familyGroupId?: string | null stripeId?: string | null tier?: $Enums.SubscriptionTier status?: $Enums.SubscriptionStatus currentPeriodStart: Date | string currentPeriodEnd: Date | string cancelAtPeriodEnd?: boolean createdAt?: Date | string updatedAt?: Date | string exposures?: ExposureUncheckedCreateNestedManyWithoutSubscriptionInput alerts?: AlertUncheckedCreateNestedManyWithoutSubscriptionInput } export type SubscriptionCreateOrConnectWithoutWatchlistItemsInput = { where: SubscriptionWhereUniqueInput create: XOR } export type ExposureCreateWithoutWatchlistItemInput = { id?: string source: $Enums.ExposureSource dataType: $Enums.WatchlistType identifier: string identifierHash: string severity?: $Enums.ExposureSeverity metadata?: NullableJsonNullValueInput | InputJsonValue isFirstTime?: boolean detectedAt: Date | string createdAt?: Date | string updatedAt?: Date | string subscription: SubscriptionCreateNestedOneWithoutExposuresInput alerts?: AlertCreateNestedManyWithoutExposureInput } export type ExposureUncheckedCreateWithoutWatchlistItemInput = { id?: string subscriptionId: string source: $Enums.ExposureSource dataType: $Enums.WatchlistType identifier: string identifierHash: string severity?: $Enums.ExposureSeverity metadata?: NullableJsonNullValueInput | InputJsonValue isFirstTime?: boolean detectedAt: Date | string createdAt?: Date | string updatedAt?: Date | string alerts?: AlertUncheckedCreateNestedManyWithoutExposureInput } export type ExposureCreateOrConnectWithoutWatchlistItemInput = { where: ExposureWhereUniqueInput create: XOR } export type ExposureCreateManyWatchlistItemInputEnvelope = { data: ExposureCreateManyWatchlistItemInput | ExposureCreateManyWatchlistItemInput[] skipDuplicates?: boolean } export type SubscriptionUpsertWithoutWatchlistItemsInput = { update: XOR create: XOR where?: SubscriptionWhereInput } export type SubscriptionUpdateToOneWithWhereWithoutWatchlistItemsInput = { where?: SubscriptionWhereInput data: XOR } export type SubscriptionUpdateWithoutWatchlistItemsInput = { id?: StringFieldUpdateOperationsInput | string stripeId?: NullableStringFieldUpdateOperationsInput | string | null tier?: EnumSubscriptionTierFieldUpdateOperationsInput | $Enums.SubscriptionTier status?: EnumSubscriptionStatusFieldUpdateOperationsInput | $Enums.SubscriptionStatus currentPeriodStart?: DateTimeFieldUpdateOperationsInput | Date | string currentPeriodEnd?: DateTimeFieldUpdateOperationsInput | Date | string cancelAtPeriodEnd?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string user?: UserUpdateOneRequiredWithoutSubscriptionsNestedInput familyGroup?: FamilyGroupUpdateOneWithoutSubscriptionsNestedInput exposures?: ExposureUpdateManyWithoutSubscriptionNestedInput alerts?: AlertUpdateManyWithoutSubscriptionNestedInput } export type SubscriptionUncheckedUpdateWithoutWatchlistItemsInput = { id?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string familyGroupId?: NullableStringFieldUpdateOperationsInput | string | null stripeId?: NullableStringFieldUpdateOperationsInput | string | null tier?: EnumSubscriptionTierFieldUpdateOperationsInput | $Enums.SubscriptionTier status?: EnumSubscriptionStatusFieldUpdateOperationsInput | $Enums.SubscriptionStatus currentPeriodStart?: DateTimeFieldUpdateOperationsInput | Date | string currentPeriodEnd?: DateTimeFieldUpdateOperationsInput | Date | string cancelAtPeriodEnd?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string exposures?: ExposureUncheckedUpdateManyWithoutSubscriptionNestedInput alerts?: AlertUncheckedUpdateManyWithoutSubscriptionNestedInput } export type ExposureUpsertWithWhereUniqueWithoutWatchlistItemInput = { where: ExposureWhereUniqueInput update: XOR create: XOR } export type ExposureUpdateWithWhereUniqueWithoutWatchlistItemInput = { where: ExposureWhereUniqueInput data: XOR } export type ExposureUpdateManyWithWhereWithoutWatchlistItemInput = { where: ExposureScalarWhereInput data: XOR } export type SubscriptionCreateWithoutExposuresInput = { id?: string stripeId?: string | null tier?: $Enums.SubscriptionTier status?: $Enums.SubscriptionStatus currentPeriodStart: Date | string currentPeriodEnd: Date | string cancelAtPeriodEnd?: boolean createdAt?: Date | string updatedAt?: Date | string user: UserCreateNestedOneWithoutSubscriptionsInput familyGroup?: FamilyGroupCreateNestedOneWithoutSubscriptionsInput watchlistItems?: WatchlistItemCreateNestedManyWithoutSubscriptionInput alerts?: AlertCreateNestedManyWithoutSubscriptionInput } export type SubscriptionUncheckedCreateWithoutExposuresInput = { id?: string userId: string familyGroupId?: string | null stripeId?: string | null tier?: $Enums.SubscriptionTier status?: $Enums.SubscriptionStatus currentPeriodStart: Date | string currentPeriodEnd: Date | string cancelAtPeriodEnd?: boolean createdAt?: Date | string updatedAt?: Date | string watchlistItems?: WatchlistItemUncheckedCreateNestedManyWithoutSubscriptionInput alerts?: AlertUncheckedCreateNestedManyWithoutSubscriptionInput } export type SubscriptionCreateOrConnectWithoutExposuresInput = { where: SubscriptionWhereUniqueInput create: XOR } export type WatchlistItemCreateWithoutExposuresInput = { id?: string type: $Enums.WatchlistType value: string hash: string isActive?: boolean createdAt?: Date | string updatedAt?: Date | string subscription: SubscriptionCreateNestedOneWithoutWatchlistItemsInput } export type WatchlistItemUncheckedCreateWithoutExposuresInput = { id?: string subscriptionId: string type: $Enums.WatchlistType value: string hash: string isActive?: boolean createdAt?: Date | string updatedAt?: Date | string } export type WatchlistItemCreateOrConnectWithoutExposuresInput = { where: WatchlistItemWhereUniqueInput create: XOR } export type AlertCreateWithoutExposureInput = { id?: string type: $Enums.AlertType title: string message: string severity?: $Enums.AlertSeverity isRead?: boolean readAt?: Date | string | null channel?: AlertCreatechannelInput | $Enums.AlertChannel[] createdAt?: Date | string updatedAt?: Date | string subscription: SubscriptionCreateNestedOneWithoutAlertsInput user: UserCreateNestedOneWithoutAlertsInput } export type AlertUncheckedCreateWithoutExposureInput = { id?: string subscriptionId: string userId: string type: $Enums.AlertType title: string message: string severity?: $Enums.AlertSeverity isRead?: boolean readAt?: Date | string | null channel?: AlertCreatechannelInput | $Enums.AlertChannel[] createdAt?: Date | string updatedAt?: Date | string } export type AlertCreateOrConnectWithoutExposureInput = { where: AlertWhereUniqueInput create: XOR } export type AlertCreateManyExposureInputEnvelope = { data: AlertCreateManyExposureInput | AlertCreateManyExposureInput[] skipDuplicates?: boolean } export type SubscriptionUpsertWithoutExposuresInput = { update: XOR create: XOR where?: SubscriptionWhereInput } export type SubscriptionUpdateToOneWithWhereWithoutExposuresInput = { where?: SubscriptionWhereInput data: XOR } export type SubscriptionUpdateWithoutExposuresInput = { id?: StringFieldUpdateOperationsInput | string stripeId?: NullableStringFieldUpdateOperationsInput | string | null tier?: EnumSubscriptionTierFieldUpdateOperationsInput | $Enums.SubscriptionTier status?: EnumSubscriptionStatusFieldUpdateOperationsInput | $Enums.SubscriptionStatus currentPeriodStart?: DateTimeFieldUpdateOperationsInput | Date | string currentPeriodEnd?: DateTimeFieldUpdateOperationsInput | Date | string cancelAtPeriodEnd?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string user?: UserUpdateOneRequiredWithoutSubscriptionsNestedInput familyGroup?: FamilyGroupUpdateOneWithoutSubscriptionsNestedInput watchlistItems?: WatchlistItemUpdateManyWithoutSubscriptionNestedInput alerts?: AlertUpdateManyWithoutSubscriptionNestedInput } export type SubscriptionUncheckedUpdateWithoutExposuresInput = { id?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string familyGroupId?: NullableStringFieldUpdateOperationsInput | string | null stripeId?: NullableStringFieldUpdateOperationsInput | string | null tier?: EnumSubscriptionTierFieldUpdateOperationsInput | $Enums.SubscriptionTier status?: EnumSubscriptionStatusFieldUpdateOperationsInput | $Enums.SubscriptionStatus currentPeriodStart?: DateTimeFieldUpdateOperationsInput | Date | string currentPeriodEnd?: DateTimeFieldUpdateOperationsInput | Date | string cancelAtPeriodEnd?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string watchlistItems?: WatchlistItemUncheckedUpdateManyWithoutSubscriptionNestedInput alerts?: AlertUncheckedUpdateManyWithoutSubscriptionNestedInput } export type WatchlistItemUpsertWithoutExposuresInput = { update: XOR create: XOR where?: WatchlistItemWhereInput } export type WatchlistItemUpdateToOneWithWhereWithoutExposuresInput = { where?: WatchlistItemWhereInput data: XOR } export type WatchlistItemUpdateWithoutExposuresInput = { id?: StringFieldUpdateOperationsInput | string type?: EnumWatchlistTypeFieldUpdateOperationsInput | $Enums.WatchlistType value?: StringFieldUpdateOperationsInput | string hash?: StringFieldUpdateOperationsInput | string isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string subscription?: SubscriptionUpdateOneRequiredWithoutWatchlistItemsNestedInput } export type WatchlistItemUncheckedUpdateWithoutExposuresInput = { id?: StringFieldUpdateOperationsInput | string subscriptionId?: StringFieldUpdateOperationsInput | string type?: EnumWatchlistTypeFieldUpdateOperationsInput | $Enums.WatchlistType value?: StringFieldUpdateOperationsInput | string hash?: StringFieldUpdateOperationsInput | string isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AlertUpsertWithWhereUniqueWithoutExposureInput = { where: AlertWhereUniqueInput update: XOR create: XOR } export type AlertUpdateWithWhereUniqueWithoutExposureInput = { where: AlertWhereUniqueInput data: XOR } export type AlertUpdateManyWithWhereWithoutExposureInput = { where: AlertScalarWhereInput data: XOR } export type SubscriptionCreateWithoutAlertsInput = { id?: string stripeId?: string | null tier?: $Enums.SubscriptionTier status?: $Enums.SubscriptionStatus currentPeriodStart: Date | string currentPeriodEnd: Date | string cancelAtPeriodEnd?: boolean createdAt?: Date | string updatedAt?: Date | string user: UserCreateNestedOneWithoutSubscriptionsInput familyGroup?: FamilyGroupCreateNestedOneWithoutSubscriptionsInput watchlistItems?: WatchlistItemCreateNestedManyWithoutSubscriptionInput exposures?: ExposureCreateNestedManyWithoutSubscriptionInput } export type SubscriptionUncheckedCreateWithoutAlertsInput = { id?: string userId: string familyGroupId?: string | null stripeId?: string | null tier?: $Enums.SubscriptionTier status?: $Enums.SubscriptionStatus currentPeriodStart: Date | string currentPeriodEnd: Date | string cancelAtPeriodEnd?: boolean createdAt?: Date | string updatedAt?: Date | string watchlistItems?: WatchlistItemUncheckedCreateNestedManyWithoutSubscriptionInput exposures?: ExposureUncheckedCreateNestedManyWithoutSubscriptionInput } export type SubscriptionCreateOrConnectWithoutAlertsInput = { where: SubscriptionWhereUniqueInput create: XOR } export type UserCreateWithoutAlertsInput = { id?: string email: string emailVerified?: Date | string | null name?: string | null image?: string | null role?: $Enums.UserRole createdAt?: Date | string updatedAt?: Date | string accounts?: AccountCreateNestedManyWithoutUserInput sessions?: SessionCreateNestedManyWithoutUserInput familyGroups?: FamilyGroupMemberCreateNestedManyWithoutUserInput familyGroupOwned?: FamilyGroupCreateNestedManyWithoutOwnerInput subscriptions?: SubscriptionCreateNestedManyWithoutUserInput voiceEnrollments?: VoiceEnrollmentCreateNestedManyWithoutUserInput voiceAnalyses?: VoiceAnalysisCreateNestedManyWithoutUserInput spamFeedback?: SpamFeedbackCreateNestedManyWithoutUserInput spamRules?: SpamRuleCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutAlertsInput = { id?: string email: string emailVerified?: Date | string | null name?: string | null image?: string | null role?: $Enums.UserRole createdAt?: Date | string updatedAt?: Date | string accounts?: AccountUncheckedCreateNestedManyWithoutUserInput sessions?: SessionUncheckedCreateNestedManyWithoutUserInput familyGroups?: FamilyGroupMemberUncheckedCreateNestedManyWithoutUserInput familyGroupOwned?: FamilyGroupUncheckedCreateNestedManyWithoutOwnerInput subscriptions?: SubscriptionUncheckedCreateNestedManyWithoutUserInput voiceEnrollments?: VoiceEnrollmentUncheckedCreateNestedManyWithoutUserInput voiceAnalyses?: VoiceAnalysisUncheckedCreateNestedManyWithoutUserInput spamFeedback?: SpamFeedbackUncheckedCreateNestedManyWithoutUserInput spamRules?: SpamRuleUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutAlertsInput = { where: UserWhereUniqueInput create: XOR } export type ExposureCreateWithoutAlertsInput = { id?: string source: $Enums.ExposureSource dataType: $Enums.WatchlistType identifier: string identifierHash: string severity?: $Enums.ExposureSeverity metadata?: NullableJsonNullValueInput | InputJsonValue isFirstTime?: boolean detectedAt: Date | string createdAt?: Date | string updatedAt?: Date | string subscription: SubscriptionCreateNestedOneWithoutExposuresInput watchlistItem?: WatchlistItemCreateNestedOneWithoutExposuresInput } export type ExposureUncheckedCreateWithoutAlertsInput = { id?: string subscriptionId: string watchlistItemId?: string | null source: $Enums.ExposureSource dataType: $Enums.WatchlistType identifier: string identifierHash: string severity?: $Enums.ExposureSeverity metadata?: NullableJsonNullValueInput | InputJsonValue isFirstTime?: boolean detectedAt: Date | string createdAt?: Date | string updatedAt?: Date | string } export type ExposureCreateOrConnectWithoutAlertsInput = { where: ExposureWhereUniqueInput create: XOR } export type SubscriptionUpsertWithoutAlertsInput = { update: XOR create: XOR where?: SubscriptionWhereInput } export type SubscriptionUpdateToOneWithWhereWithoutAlertsInput = { where?: SubscriptionWhereInput data: XOR } export type SubscriptionUpdateWithoutAlertsInput = { id?: StringFieldUpdateOperationsInput | string stripeId?: NullableStringFieldUpdateOperationsInput | string | null tier?: EnumSubscriptionTierFieldUpdateOperationsInput | $Enums.SubscriptionTier status?: EnumSubscriptionStatusFieldUpdateOperationsInput | $Enums.SubscriptionStatus currentPeriodStart?: DateTimeFieldUpdateOperationsInput | Date | string currentPeriodEnd?: DateTimeFieldUpdateOperationsInput | Date | string cancelAtPeriodEnd?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string user?: UserUpdateOneRequiredWithoutSubscriptionsNestedInput familyGroup?: FamilyGroupUpdateOneWithoutSubscriptionsNestedInput watchlistItems?: WatchlistItemUpdateManyWithoutSubscriptionNestedInput exposures?: ExposureUpdateManyWithoutSubscriptionNestedInput } export type SubscriptionUncheckedUpdateWithoutAlertsInput = { id?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string familyGroupId?: NullableStringFieldUpdateOperationsInput | string | null stripeId?: NullableStringFieldUpdateOperationsInput | string | null tier?: EnumSubscriptionTierFieldUpdateOperationsInput | $Enums.SubscriptionTier status?: EnumSubscriptionStatusFieldUpdateOperationsInput | $Enums.SubscriptionStatus currentPeriodStart?: DateTimeFieldUpdateOperationsInput | Date | string currentPeriodEnd?: DateTimeFieldUpdateOperationsInput | Date | string cancelAtPeriodEnd?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string watchlistItems?: WatchlistItemUncheckedUpdateManyWithoutSubscriptionNestedInput exposures?: ExposureUncheckedUpdateManyWithoutSubscriptionNestedInput } export type UserUpsertWithoutAlertsInput = { update: XOR create: XOR where?: UserWhereInput } export type UserUpdateToOneWithWhereWithoutAlertsInput = { where?: UserWhereInput data: XOR } export type UserUpdateWithoutAlertsInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string emailVerified?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null name?: NullableStringFieldUpdateOperationsInput | string | null image?: NullableStringFieldUpdateOperationsInput | string | null role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string accounts?: AccountUpdateManyWithoutUserNestedInput sessions?: SessionUpdateManyWithoutUserNestedInput familyGroups?: FamilyGroupMemberUpdateManyWithoutUserNestedInput familyGroupOwned?: FamilyGroupUpdateManyWithoutOwnerNestedInput subscriptions?: SubscriptionUpdateManyWithoutUserNestedInput voiceEnrollments?: VoiceEnrollmentUpdateManyWithoutUserNestedInput voiceAnalyses?: VoiceAnalysisUpdateManyWithoutUserNestedInput spamFeedback?: SpamFeedbackUpdateManyWithoutUserNestedInput spamRules?: SpamRuleUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutAlertsInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string emailVerified?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null name?: NullableStringFieldUpdateOperationsInput | string | null image?: NullableStringFieldUpdateOperationsInput | string | null role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string accounts?: AccountUncheckedUpdateManyWithoutUserNestedInput sessions?: SessionUncheckedUpdateManyWithoutUserNestedInput familyGroups?: FamilyGroupMemberUncheckedUpdateManyWithoutUserNestedInput familyGroupOwned?: FamilyGroupUncheckedUpdateManyWithoutOwnerNestedInput subscriptions?: SubscriptionUncheckedUpdateManyWithoutUserNestedInput voiceEnrollments?: VoiceEnrollmentUncheckedUpdateManyWithoutUserNestedInput voiceAnalyses?: VoiceAnalysisUncheckedUpdateManyWithoutUserNestedInput spamFeedback?: SpamFeedbackUncheckedUpdateManyWithoutUserNestedInput spamRules?: SpamRuleUncheckedUpdateManyWithoutUserNestedInput } export type ExposureUpsertWithoutAlertsInput = { update: XOR create: XOR where?: ExposureWhereInput } export type ExposureUpdateToOneWithWhereWithoutAlertsInput = { where?: ExposureWhereInput data: XOR } export type ExposureUpdateWithoutAlertsInput = { id?: StringFieldUpdateOperationsInput | string source?: EnumExposureSourceFieldUpdateOperationsInput | $Enums.ExposureSource dataType?: EnumWatchlistTypeFieldUpdateOperationsInput | $Enums.WatchlistType identifier?: StringFieldUpdateOperationsInput | string identifierHash?: StringFieldUpdateOperationsInput | string severity?: EnumExposureSeverityFieldUpdateOperationsInput | $Enums.ExposureSeverity metadata?: NullableJsonNullValueInput | InputJsonValue isFirstTime?: BoolFieldUpdateOperationsInput | boolean detectedAt?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string subscription?: SubscriptionUpdateOneRequiredWithoutExposuresNestedInput watchlistItem?: WatchlistItemUpdateOneWithoutExposuresNestedInput } export type ExposureUncheckedUpdateWithoutAlertsInput = { id?: StringFieldUpdateOperationsInput | string subscriptionId?: StringFieldUpdateOperationsInput | string watchlistItemId?: NullableStringFieldUpdateOperationsInput | string | null source?: EnumExposureSourceFieldUpdateOperationsInput | $Enums.ExposureSource dataType?: EnumWatchlistTypeFieldUpdateOperationsInput | $Enums.WatchlistType identifier?: StringFieldUpdateOperationsInput | string identifierHash?: StringFieldUpdateOperationsInput | string severity?: EnumExposureSeverityFieldUpdateOperationsInput | $Enums.ExposureSeverity metadata?: NullableJsonNullValueInput | InputJsonValue isFirstTime?: BoolFieldUpdateOperationsInput | boolean detectedAt?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UserCreateWithoutVoiceEnrollmentsInput = { id?: string email: string emailVerified?: Date | string | null name?: string | null image?: string | null role?: $Enums.UserRole createdAt?: Date | string updatedAt?: Date | string accounts?: AccountCreateNestedManyWithoutUserInput sessions?: SessionCreateNestedManyWithoutUserInput familyGroups?: FamilyGroupMemberCreateNestedManyWithoutUserInput familyGroupOwned?: FamilyGroupCreateNestedManyWithoutOwnerInput subscriptions?: SubscriptionCreateNestedManyWithoutUserInput alerts?: AlertCreateNestedManyWithoutUserInput voiceAnalyses?: VoiceAnalysisCreateNestedManyWithoutUserInput spamFeedback?: SpamFeedbackCreateNestedManyWithoutUserInput spamRules?: SpamRuleCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutVoiceEnrollmentsInput = { id?: string email: string emailVerified?: Date | string | null name?: string | null image?: string | null role?: $Enums.UserRole createdAt?: Date | string updatedAt?: Date | string accounts?: AccountUncheckedCreateNestedManyWithoutUserInput sessions?: SessionUncheckedCreateNestedManyWithoutUserInput familyGroups?: FamilyGroupMemberUncheckedCreateNestedManyWithoutUserInput familyGroupOwned?: FamilyGroupUncheckedCreateNestedManyWithoutOwnerInput subscriptions?: SubscriptionUncheckedCreateNestedManyWithoutUserInput alerts?: AlertUncheckedCreateNestedManyWithoutUserInput voiceAnalyses?: VoiceAnalysisUncheckedCreateNestedManyWithoutUserInput spamFeedback?: SpamFeedbackUncheckedCreateNestedManyWithoutUserInput spamRules?: SpamRuleUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutVoiceEnrollmentsInput = { where: UserWhereUniqueInput create: XOR } export type VoiceAnalysisCreateWithoutEnrollmentInput = { id?: string audioHash: string isSynthetic: boolean confidence: number analysisResult: JsonNullValueInput | InputJsonValue audioUrl: string createdAt?: Date | string user: UserCreateNestedOneWithoutVoiceAnalysesInput } export type VoiceAnalysisUncheckedCreateWithoutEnrollmentInput = { id?: string userId: string audioHash: string isSynthetic: boolean confidence: number analysisResult: JsonNullValueInput | InputJsonValue audioUrl: string createdAt?: Date | string } export type VoiceAnalysisCreateOrConnectWithoutEnrollmentInput = { where: VoiceAnalysisWhereUniqueInput create: XOR } export type VoiceAnalysisCreateManyEnrollmentInputEnvelope = { data: VoiceAnalysisCreateManyEnrollmentInput | VoiceAnalysisCreateManyEnrollmentInput[] skipDuplicates?: boolean } export type UserUpsertWithoutVoiceEnrollmentsInput = { update: XOR create: XOR where?: UserWhereInput } export type UserUpdateToOneWithWhereWithoutVoiceEnrollmentsInput = { where?: UserWhereInput data: XOR } export type UserUpdateWithoutVoiceEnrollmentsInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string emailVerified?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null name?: NullableStringFieldUpdateOperationsInput | string | null image?: NullableStringFieldUpdateOperationsInput | string | null role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string accounts?: AccountUpdateManyWithoutUserNestedInput sessions?: SessionUpdateManyWithoutUserNestedInput familyGroups?: FamilyGroupMemberUpdateManyWithoutUserNestedInput familyGroupOwned?: FamilyGroupUpdateManyWithoutOwnerNestedInput subscriptions?: SubscriptionUpdateManyWithoutUserNestedInput alerts?: AlertUpdateManyWithoutUserNestedInput voiceAnalyses?: VoiceAnalysisUpdateManyWithoutUserNestedInput spamFeedback?: SpamFeedbackUpdateManyWithoutUserNestedInput spamRules?: SpamRuleUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutVoiceEnrollmentsInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string emailVerified?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null name?: NullableStringFieldUpdateOperationsInput | string | null image?: NullableStringFieldUpdateOperationsInput | string | null role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string accounts?: AccountUncheckedUpdateManyWithoutUserNestedInput sessions?: SessionUncheckedUpdateManyWithoutUserNestedInput familyGroups?: FamilyGroupMemberUncheckedUpdateManyWithoutUserNestedInput familyGroupOwned?: FamilyGroupUncheckedUpdateManyWithoutOwnerNestedInput subscriptions?: SubscriptionUncheckedUpdateManyWithoutUserNestedInput alerts?: AlertUncheckedUpdateManyWithoutUserNestedInput voiceAnalyses?: VoiceAnalysisUncheckedUpdateManyWithoutUserNestedInput spamFeedback?: SpamFeedbackUncheckedUpdateManyWithoutUserNestedInput spamRules?: SpamRuleUncheckedUpdateManyWithoutUserNestedInput } export type VoiceAnalysisUpsertWithWhereUniqueWithoutEnrollmentInput = { where: VoiceAnalysisWhereUniqueInput update: XOR create: XOR } export type VoiceAnalysisUpdateWithWhereUniqueWithoutEnrollmentInput = { where: VoiceAnalysisWhereUniqueInput data: XOR } export type VoiceAnalysisUpdateManyWithWhereWithoutEnrollmentInput = { where: VoiceAnalysisScalarWhereInput data: XOR } export type VoiceEnrollmentCreateWithoutAnalysesInput = { id?: string name: string voiceHash: string audioMetadata?: NullableJsonNullValueInput | InputJsonValue isActive?: boolean createdAt?: Date | string updatedAt?: Date | string user: UserCreateNestedOneWithoutVoiceEnrollmentsInput } export type VoiceEnrollmentUncheckedCreateWithoutAnalysesInput = { id?: string userId: string name: string voiceHash: string audioMetadata?: NullableJsonNullValueInput | InputJsonValue isActive?: boolean createdAt?: Date | string updatedAt?: Date | string } export type VoiceEnrollmentCreateOrConnectWithoutAnalysesInput = { where: VoiceEnrollmentWhereUniqueInput create: XOR } export type UserCreateWithoutVoiceAnalysesInput = { id?: string email: string emailVerified?: Date | string | null name?: string | null image?: string | null role?: $Enums.UserRole createdAt?: Date | string updatedAt?: Date | string accounts?: AccountCreateNestedManyWithoutUserInput sessions?: SessionCreateNestedManyWithoutUserInput familyGroups?: FamilyGroupMemberCreateNestedManyWithoutUserInput familyGroupOwned?: FamilyGroupCreateNestedManyWithoutOwnerInput subscriptions?: SubscriptionCreateNestedManyWithoutUserInput alerts?: AlertCreateNestedManyWithoutUserInput voiceEnrollments?: VoiceEnrollmentCreateNestedManyWithoutUserInput spamFeedback?: SpamFeedbackCreateNestedManyWithoutUserInput spamRules?: SpamRuleCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutVoiceAnalysesInput = { id?: string email: string emailVerified?: Date | string | null name?: string | null image?: string | null role?: $Enums.UserRole createdAt?: Date | string updatedAt?: Date | string accounts?: AccountUncheckedCreateNestedManyWithoutUserInput sessions?: SessionUncheckedCreateNestedManyWithoutUserInput familyGroups?: FamilyGroupMemberUncheckedCreateNestedManyWithoutUserInput familyGroupOwned?: FamilyGroupUncheckedCreateNestedManyWithoutOwnerInput subscriptions?: SubscriptionUncheckedCreateNestedManyWithoutUserInput alerts?: AlertUncheckedCreateNestedManyWithoutUserInput voiceEnrollments?: VoiceEnrollmentUncheckedCreateNestedManyWithoutUserInput spamFeedback?: SpamFeedbackUncheckedCreateNestedManyWithoutUserInput spamRules?: SpamRuleUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutVoiceAnalysesInput = { where: UserWhereUniqueInput create: XOR } export type VoiceEnrollmentUpsertWithoutAnalysesInput = { update: XOR create: XOR where?: VoiceEnrollmentWhereInput } export type VoiceEnrollmentUpdateToOneWithWhereWithoutAnalysesInput = { where?: VoiceEnrollmentWhereInput data: XOR } export type VoiceEnrollmentUpdateWithoutAnalysesInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string voiceHash?: StringFieldUpdateOperationsInput | string audioMetadata?: NullableJsonNullValueInput | InputJsonValue isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string user?: UserUpdateOneRequiredWithoutVoiceEnrollmentsNestedInput } export type VoiceEnrollmentUncheckedUpdateWithoutAnalysesInput = { id?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string voiceHash?: StringFieldUpdateOperationsInput | string audioMetadata?: NullableJsonNullValueInput | InputJsonValue isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UserUpsertWithoutVoiceAnalysesInput = { update: XOR create: XOR where?: UserWhereInput } export type UserUpdateToOneWithWhereWithoutVoiceAnalysesInput = { where?: UserWhereInput data: XOR } export type UserUpdateWithoutVoiceAnalysesInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string emailVerified?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null name?: NullableStringFieldUpdateOperationsInput | string | null image?: NullableStringFieldUpdateOperationsInput | string | null role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string accounts?: AccountUpdateManyWithoutUserNestedInput sessions?: SessionUpdateManyWithoutUserNestedInput familyGroups?: FamilyGroupMemberUpdateManyWithoutUserNestedInput familyGroupOwned?: FamilyGroupUpdateManyWithoutOwnerNestedInput subscriptions?: SubscriptionUpdateManyWithoutUserNestedInput alerts?: AlertUpdateManyWithoutUserNestedInput voiceEnrollments?: VoiceEnrollmentUpdateManyWithoutUserNestedInput spamFeedback?: SpamFeedbackUpdateManyWithoutUserNestedInput spamRules?: SpamRuleUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutVoiceAnalysesInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string emailVerified?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null name?: NullableStringFieldUpdateOperationsInput | string | null image?: NullableStringFieldUpdateOperationsInput | string | null role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string accounts?: AccountUncheckedUpdateManyWithoutUserNestedInput sessions?: SessionUncheckedUpdateManyWithoutUserNestedInput familyGroups?: FamilyGroupMemberUncheckedUpdateManyWithoutUserNestedInput familyGroupOwned?: FamilyGroupUncheckedUpdateManyWithoutOwnerNestedInput subscriptions?: SubscriptionUncheckedUpdateManyWithoutUserNestedInput alerts?: AlertUncheckedUpdateManyWithoutUserNestedInput voiceEnrollments?: VoiceEnrollmentUncheckedUpdateManyWithoutUserNestedInput spamFeedback?: SpamFeedbackUncheckedUpdateManyWithoutUserNestedInput spamRules?: SpamRuleUncheckedUpdateManyWithoutUserNestedInput } export type UserCreateWithoutSpamFeedbackInput = { id?: string email: string emailVerified?: Date | string | null name?: string | null image?: string | null role?: $Enums.UserRole createdAt?: Date | string updatedAt?: Date | string accounts?: AccountCreateNestedManyWithoutUserInput sessions?: SessionCreateNestedManyWithoutUserInput familyGroups?: FamilyGroupMemberCreateNestedManyWithoutUserInput familyGroupOwned?: FamilyGroupCreateNestedManyWithoutOwnerInput subscriptions?: SubscriptionCreateNestedManyWithoutUserInput alerts?: AlertCreateNestedManyWithoutUserInput voiceEnrollments?: VoiceEnrollmentCreateNestedManyWithoutUserInput voiceAnalyses?: VoiceAnalysisCreateNestedManyWithoutUserInput spamRules?: SpamRuleCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutSpamFeedbackInput = { id?: string email: string emailVerified?: Date | string | null name?: string | null image?: string | null role?: $Enums.UserRole createdAt?: Date | string updatedAt?: Date | string accounts?: AccountUncheckedCreateNestedManyWithoutUserInput sessions?: SessionUncheckedCreateNestedManyWithoutUserInput familyGroups?: FamilyGroupMemberUncheckedCreateNestedManyWithoutUserInput familyGroupOwned?: FamilyGroupUncheckedCreateNestedManyWithoutOwnerInput subscriptions?: SubscriptionUncheckedCreateNestedManyWithoutUserInput alerts?: AlertUncheckedCreateNestedManyWithoutUserInput voiceEnrollments?: VoiceEnrollmentUncheckedCreateNestedManyWithoutUserInput voiceAnalyses?: VoiceAnalysisUncheckedCreateNestedManyWithoutUserInput spamRules?: SpamRuleUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutSpamFeedbackInput = { where: UserWhereUniqueInput create: XOR } export type UserUpsertWithoutSpamFeedbackInput = { update: XOR create: XOR where?: UserWhereInput } export type UserUpdateToOneWithWhereWithoutSpamFeedbackInput = { where?: UserWhereInput data: XOR } export type UserUpdateWithoutSpamFeedbackInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string emailVerified?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null name?: NullableStringFieldUpdateOperationsInput | string | null image?: NullableStringFieldUpdateOperationsInput | string | null role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string accounts?: AccountUpdateManyWithoutUserNestedInput sessions?: SessionUpdateManyWithoutUserNestedInput familyGroups?: FamilyGroupMemberUpdateManyWithoutUserNestedInput familyGroupOwned?: FamilyGroupUpdateManyWithoutOwnerNestedInput subscriptions?: SubscriptionUpdateManyWithoutUserNestedInput alerts?: AlertUpdateManyWithoutUserNestedInput voiceEnrollments?: VoiceEnrollmentUpdateManyWithoutUserNestedInput voiceAnalyses?: VoiceAnalysisUpdateManyWithoutUserNestedInput spamRules?: SpamRuleUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutSpamFeedbackInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string emailVerified?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null name?: NullableStringFieldUpdateOperationsInput | string | null image?: NullableStringFieldUpdateOperationsInput | string | null role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string accounts?: AccountUncheckedUpdateManyWithoutUserNestedInput sessions?: SessionUncheckedUpdateManyWithoutUserNestedInput familyGroups?: FamilyGroupMemberUncheckedUpdateManyWithoutUserNestedInput familyGroupOwned?: FamilyGroupUncheckedUpdateManyWithoutOwnerNestedInput subscriptions?: SubscriptionUncheckedUpdateManyWithoutUserNestedInput alerts?: AlertUncheckedUpdateManyWithoutUserNestedInput voiceEnrollments?: VoiceEnrollmentUncheckedUpdateManyWithoutUserNestedInput voiceAnalyses?: VoiceAnalysisUncheckedUpdateManyWithoutUserNestedInput spamRules?: SpamRuleUncheckedUpdateManyWithoutUserNestedInput } export type UserCreateWithoutSpamRulesInput = { id?: string email: string emailVerified?: Date | string | null name?: string | null image?: string | null role?: $Enums.UserRole createdAt?: Date | string updatedAt?: Date | string accounts?: AccountCreateNestedManyWithoutUserInput sessions?: SessionCreateNestedManyWithoutUserInput familyGroups?: FamilyGroupMemberCreateNestedManyWithoutUserInput familyGroupOwned?: FamilyGroupCreateNestedManyWithoutOwnerInput subscriptions?: SubscriptionCreateNestedManyWithoutUserInput alerts?: AlertCreateNestedManyWithoutUserInput voiceEnrollments?: VoiceEnrollmentCreateNestedManyWithoutUserInput voiceAnalyses?: VoiceAnalysisCreateNestedManyWithoutUserInput spamFeedback?: SpamFeedbackCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutSpamRulesInput = { id?: string email: string emailVerified?: Date | string | null name?: string | null image?: string | null role?: $Enums.UserRole createdAt?: Date | string updatedAt?: Date | string accounts?: AccountUncheckedCreateNestedManyWithoutUserInput sessions?: SessionUncheckedCreateNestedManyWithoutUserInput familyGroups?: FamilyGroupMemberUncheckedCreateNestedManyWithoutUserInput familyGroupOwned?: FamilyGroupUncheckedCreateNestedManyWithoutOwnerInput subscriptions?: SubscriptionUncheckedCreateNestedManyWithoutUserInput alerts?: AlertUncheckedCreateNestedManyWithoutUserInput voiceEnrollments?: VoiceEnrollmentUncheckedCreateNestedManyWithoutUserInput voiceAnalyses?: VoiceAnalysisUncheckedCreateNestedManyWithoutUserInput spamFeedback?: SpamFeedbackUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutSpamRulesInput = { where: UserWhereUniqueInput create: XOR } export type UserUpsertWithoutSpamRulesInput = { update: XOR create: XOR where?: UserWhereInput } export type UserUpdateToOneWithWhereWithoutSpamRulesInput = { where?: UserWhereInput data: XOR } export type UserUpdateWithoutSpamRulesInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string emailVerified?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null name?: NullableStringFieldUpdateOperationsInput | string | null image?: NullableStringFieldUpdateOperationsInput | string | null role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string accounts?: AccountUpdateManyWithoutUserNestedInput sessions?: SessionUpdateManyWithoutUserNestedInput familyGroups?: FamilyGroupMemberUpdateManyWithoutUserNestedInput familyGroupOwned?: FamilyGroupUpdateManyWithoutOwnerNestedInput subscriptions?: SubscriptionUpdateManyWithoutUserNestedInput alerts?: AlertUpdateManyWithoutUserNestedInput voiceEnrollments?: VoiceEnrollmentUpdateManyWithoutUserNestedInput voiceAnalyses?: VoiceAnalysisUpdateManyWithoutUserNestedInput spamFeedback?: SpamFeedbackUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutSpamRulesInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string emailVerified?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null name?: NullableStringFieldUpdateOperationsInput | string | null image?: NullableStringFieldUpdateOperationsInput | string | null role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string accounts?: AccountUncheckedUpdateManyWithoutUserNestedInput sessions?: SessionUncheckedUpdateManyWithoutUserNestedInput familyGroups?: FamilyGroupMemberUncheckedUpdateManyWithoutUserNestedInput familyGroupOwned?: FamilyGroupUncheckedUpdateManyWithoutOwnerNestedInput subscriptions?: SubscriptionUncheckedUpdateManyWithoutUserNestedInput alerts?: AlertUncheckedUpdateManyWithoutUserNestedInput voiceEnrollments?: VoiceEnrollmentUncheckedUpdateManyWithoutUserNestedInput voiceAnalyses?: VoiceAnalysisUncheckedUpdateManyWithoutUserNestedInput spamFeedback?: SpamFeedbackUncheckedUpdateManyWithoutUserNestedInput } export type AccountCreateManyUserInput = { id?: string provider: string providerAccountId: string access_token?: string | null refresh_token?: string | null expires_at?: number | null token_type?: string | null scope?: string | null createdAt?: Date | string updatedAt?: Date | string } export type SessionCreateManyUserInput = { id?: string sessionToken: string expires: Date | string createdAt?: Date | string updatedAt?: Date | string } export type FamilyGroupMemberCreateManyUserInput = { id?: string groupId: string role?: $Enums.FamilyMemberRole joinedAt?: Date | string createdAt?: Date | string updatedAt?: Date | string } export type FamilyGroupCreateManyOwnerInput = { id?: string name: string createdAt?: Date | string updatedAt?: Date | string } export type SubscriptionCreateManyUserInput = { id?: string familyGroupId?: string | null stripeId?: string | null tier?: $Enums.SubscriptionTier status?: $Enums.SubscriptionStatus currentPeriodStart: Date | string currentPeriodEnd: Date | string cancelAtPeriodEnd?: boolean createdAt?: Date | string updatedAt?: Date | string } export type AlertCreateManyUserInput = { id?: string subscriptionId: string exposureId?: string | null type: $Enums.AlertType title: string message: string severity?: $Enums.AlertSeverity isRead?: boolean readAt?: Date | string | null channel?: AlertCreatechannelInput | $Enums.AlertChannel[] createdAt?: Date | string updatedAt?: Date | string } export type VoiceEnrollmentCreateManyUserInput = { id?: string name: string voiceHash: string audioMetadata?: NullableJsonNullValueInput | InputJsonValue isActive?: boolean createdAt?: Date | string updatedAt?: Date | string } export type VoiceAnalysisCreateManyUserInput = { id?: string enrollmentId?: string | null audioHash: string isSynthetic: boolean confidence: number analysisResult: JsonNullValueInput | InputJsonValue audioUrl: string createdAt?: Date | string } export type SpamFeedbackCreateManyUserInput = { id?: string phoneNumber: string phoneNumberHash: string isSpam: boolean confidence?: number | null feedbackType: $Enums.FeedbackType metadata?: NullableJsonNullValueInput | InputJsonValue createdAt?: Date | string updatedAt?: Date | string } export type SpamRuleCreateManyUserInput = { id?: string isGlobal?: boolean ruleType: $Enums.RuleType pattern: string action: $Enums.RuleAction priority?: number isActive?: boolean createdAt?: Date | string updatedAt?: Date | string } export type AccountUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string provider?: StringFieldUpdateOperationsInput | string providerAccountId?: StringFieldUpdateOperationsInput | string access_token?: NullableStringFieldUpdateOperationsInput | string | null refresh_token?: NullableStringFieldUpdateOperationsInput | string | null expires_at?: NullableIntFieldUpdateOperationsInput | number | null token_type?: NullableStringFieldUpdateOperationsInput | string | null scope?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AccountUncheckedUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string provider?: StringFieldUpdateOperationsInput | string providerAccountId?: StringFieldUpdateOperationsInput | string access_token?: NullableStringFieldUpdateOperationsInput | string | null refresh_token?: NullableStringFieldUpdateOperationsInput | string | null expires_at?: NullableIntFieldUpdateOperationsInput | number | null token_type?: NullableStringFieldUpdateOperationsInput | string | null scope?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AccountUncheckedUpdateManyWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string provider?: StringFieldUpdateOperationsInput | string providerAccountId?: StringFieldUpdateOperationsInput | string access_token?: NullableStringFieldUpdateOperationsInput | string | null refresh_token?: NullableStringFieldUpdateOperationsInput | string | null expires_at?: NullableIntFieldUpdateOperationsInput | number | null token_type?: NullableStringFieldUpdateOperationsInput | string | null scope?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SessionUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string sessionToken?: StringFieldUpdateOperationsInput | string expires?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SessionUncheckedUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string sessionToken?: StringFieldUpdateOperationsInput | string expires?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SessionUncheckedUpdateManyWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string sessionToken?: StringFieldUpdateOperationsInput | string expires?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type FamilyGroupMemberUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string role?: EnumFamilyMemberRoleFieldUpdateOperationsInput | $Enums.FamilyMemberRole joinedAt?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string group?: FamilyGroupUpdateOneRequiredWithoutMembersNestedInput } export type FamilyGroupMemberUncheckedUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string groupId?: StringFieldUpdateOperationsInput | string role?: EnumFamilyMemberRoleFieldUpdateOperationsInput | $Enums.FamilyMemberRole joinedAt?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type FamilyGroupMemberUncheckedUpdateManyWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string groupId?: StringFieldUpdateOperationsInput | string role?: EnumFamilyMemberRoleFieldUpdateOperationsInput | $Enums.FamilyMemberRole joinedAt?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type FamilyGroupUpdateWithoutOwnerInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string members?: FamilyGroupMemberUpdateManyWithoutGroupNestedInput subscriptions?: SubscriptionUpdateManyWithoutFamilyGroupNestedInput } export type FamilyGroupUncheckedUpdateWithoutOwnerInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string members?: FamilyGroupMemberUncheckedUpdateManyWithoutGroupNestedInput subscriptions?: SubscriptionUncheckedUpdateManyWithoutFamilyGroupNestedInput } export type FamilyGroupUncheckedUpdateManyWithoutOwnerInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SubscriptionUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string stripeId?: NullableStringFieldUpdateOperationsInput | string | null tier?: EnumSubscriptionTierFieldUpdateOperationsInput | $Enums.SubscriptionTier status?: EnumSubscriptionStatusFieldUpdateOperationsInput | $Enums.SubscriptionStatus currentPeriodStart?: DateTimeFieldUpdateOperationsInput | Date | string currentPeriodEnd?: DateTimeFieldUpdateOperationsInput | Date | string cancelAtPeriodEnd?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string familyGroup?: FamilyGroupUpdateOneWithoutSubscriptionsNestedInput watchlistItems?: WatchlistItemUpdateManyWithoutSubscriptionNestedInput exposures?: ExposureUpdateManyWithoutSubscriptionNestedInput alerts?: AlertUpdateManyWithoutSubscriptionNestedInput } export type SubscriptionUncheckedUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string familyGroupId?: NullableStringFieldUpdateOperationsInput | string | null stripeId?: NullableStringFieldUpdateOperationsInput | string | null tier?: EnumSubscriptionTierFieldUpdateOperationsInput | $Enums.SubscriptionTier status?: EnumSubscriptionStatusFieldUpdateOperationsInput | $Enums.SubscriptionStatus currentPeriodStart?: DateTimeFieldUpdateOperationsInput | Date | string currentPeriodEnd?: DateTimeFieldUpdateOperationsInput | Date | string cancelAtPeriodEnd?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string watchlistItems?: WatchlistItemUncheckedUpdateManyWithoutSubscriptionNestedInput exposures?: ExposureUncheckedUpdateManyWithoutSubscriptionNestedInput alerts?: AlertUncheckedUpdateManyWithoutSubscriptionNestedInput } export type SubscriptionUncheckedUpdateManyWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string familyGroupId?: NullableStringFieldUpdateOperationsInput | string | null stripeId?: NullableStringFieldUpdateOperationsInput | string | null tier?: EnumSubscriptionTierFieldUpdateOperationsInput | $Enums.SubscriptionTier status?: EnumSubscriptionStatusFieldUpdateOperationsInput | $Enums.SubscriptionStatus currentPeriodStart?: DateTimeFieldUpdateOperationsInput | Date | string currentPeriodEnd?: DateTimeFieldUpdateOperationsInput | Date | string cancelAtPeriodEnd?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AlertUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string type?: EnumAlertTypeFieldUpdateOperationsInput | $Enums.AlertType title?: StringFieldUpdateOperationsInput | string message?: StringFieldUpdateOperationsInput | string severity?: EnumAlertSeverityFieldUpdateOperationsInput | $Enums.AlertSeverity isRead?: BoolFieldUpdateOperationsInput | boolean readAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null channel?: AlertUpdatechannelInput | $Enums.AlertChannel[] createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string subscription?: SubscriptionUpdateOneRequiredWithoutAlertsNestedInput exposure?: ExposureUpdateOneWithoutAlertsNestedInput } export type AlertUncheckedUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string subscriptionId?: StringFieldUpdateOperationsInput | string exposureId?: NullableStringFieldUpdateOperationsInput | string | null type?: EnumAlertTypeFieldUpdateOperationsInput | $Enums.AlertType title?: StringFieldUpdateOperationsInput | string message?: StringFieldUpdateOperationsInput | string severity?: EnumAlertSeverityFieldUpdateOperationsInput | $Enums.AlertSeverity isRead?: BoolFieldUpdateOperationsInput | boolean readAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null channel?: AlertUpdatechannelInput | $Enums.AlertChannel[] createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AlertUncheckedUpdateManyWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string subscriptionId?: StringFieldUpdateOperationsInput | string exposureId?: NullableStringFieldUpdateOperationsInput | string | null type?: EnumAlertTypeFieldUpdateOperationsInput | $Enums.AlertType title?: StringFieldUpdateOperationsInput | string message?: StringFieldUpdateOperationsInput | string severity?: EnumAlertSeverityFieldUpdateOperationsInput | $Enums.AlertSeverity isRead?: BoolFieldUpdateOperationsInput | boolean readAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null channel?: AlertUpdatechannelInput | $Enums.AlertChannel[] createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type VoiceEnrollmentUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string voiceHash?: StringFieldUpdateOperationsInput | string audioMetadata?: NullableJsonNullValueInput | InputJsonValue isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string analyses?: VoiceAnalysisUpdateManyWithoutEnrollmentNestedInput } export type VoiceEnrollmentUncheckedUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string voiceHash?: StringFieldUpdateOperationsInput | string audioMetadata?: NullableJsonNullValueInput | InputJsonValue isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string analyses?: VoiceAnalysisUncheckedUpdateManyWithoutEnrollmentNestedInput } export type VoiceEnrollmentUncheckedUpdateManyWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string voiceHash?: StringFieldUpdateOperationsInput | string audioMetadata?: NullableJsonNullValueInput | InputJsonValue isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type VoiceAnalysisUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string audioHash?: StringFieldUpdateOperationsInput | string isSynthetic?: BoolFieldUpdateOperationsInput | boolean confidence?: FloatFieldUpdateOperationsInput | number analysisResult?: JsonNullValueInput | InputJsonValue audioUrl?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string enrollment?: VoiceEnrollmentUpdateOneWithoutAnalysesNestedInput } export type VoiceAnalysisUncheckedUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string enrollmentId?: NullableStringFieldUpdateOperationsInput | string | null audioHash?: StringFieldUpdateOperationsInput | string isSynthetic?: BoolFieldUpdateOperationsInput | boolean confidence?: FloatFieldUpdateOperationsInput | number analysisResult?: JsonNullValueInput | InputJsonValue audioUrl?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type VoiceAnalysisUncheckedUpdateManyWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string enrollmentId?: NullableStringFieldUpdateOperationsInput | string | null audioHash?: StringFieldUpdateOperationsInput | string isSynthetic?: BoolFieldUpdateOperationsInput | boolean confidence?: FloatFieldUpdateOperationsInput | number analysisResult?: JsonNullValueInput | InputJsonValue audioUrl?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SpamFeedbackUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string phoneNumber?: StringFieldUpdateOperationsInput | string phoneNumberHash?: StringFieldUpdateOperationsInput | string isSpam?: BoolFieldUpdateOperationsInput | boolean confidence?: NullableFloatFieldUpdateOperationsInput | number | null feedbackType?: EnumFeedbackTypeFieldUpdateOperationsInput | $Enums.FeedbackType metadata?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SpamFeedbackUncheckedUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string phoneNumber?: StringFieldUpdateOperationsInput | string phoneNumberHash?: StringFieldUpdateOperationsInput | string isSpam?: BoolFieldUpdateOperationsInput | boolean confidence?: NullableFloatFieldUpdateOperationsInput | number | null feedbackType?: EnumFeedbackTypeFieldUpdateOperationsInput | $Enums.FeedbackType metadata?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SpamFeedbackUncheckedUpdateManyWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string phoneNumber?: StringFieldUpdateOperationsInput | string phoneNumberHash?: StringFieldUpdateOperationsInput | string isSpam?: BoolFieldUpdateOperationsInput | boolean confidence?: NullableFloatFieldUpdateOperationsInput | number | null feedbackType?: EnumFeedbackTypeFieldUpdateOperationsInput | $Enums.FeedbackType metadata?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SpamRuleUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string isGlobal?: BoolFieldUpdateOperationsInput | boolean ruleType?: EnumRuleTypeFieldUpdateOperationsInput | $Enums.RuleType pattern?: StringFieldUpdateOperationsInput | string action?: EnumRuleActionFieldUpdateOperationsInput | $Enums.RuleAction priority?: IntFieldUpdateOperationsInput | number isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SpamRuleUncheckedUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string isGlobal?: BoolFieldUpdateOperationsInput | boolean ruleType?: EnumRuleTypeFieldUpdateOperationsInput | $Enums.RuleType pattern?: StringFieldUpdateOperationsInput | string action?: EnumRuleActionFieldUpdateOperationsInput | $Enums.RuleAction priority?: IntFieldUpdateOperationsInput | number isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SpamRuleUncheckedUpdateManyWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string isGlobal?: BoolFieldUpdateOperationsInput | boolean ruleType?: EnumRuleTypeFieldUpdateOperationsInput | $Enums.RuleType pattern?: StringFieldUpdateOperationsInput | string action?: EnumRuleActionFieldUpdateOperationsInput | $Enums.RuleAction priority?: IntFieldUpdateOperationsInput | number isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type FamilyGroupMemberCreateManyGroupInput = { id?: string userId: string role?: $Enums.FamilyMemberRole joinedAt?: Date | string createdAt?: Date | string updatedAt?: Date | string } export type SubscriptionCreateManyFamilyGroupInput = { id?: string userId: string stripeId?: string | null tier?: $Enums.SubscriptionTier status?: $Enums.SubscriptionStatus currentPeriodStart: Date | string currentPeriodEnd: Date | string cancelAtPeriodEnd?: boolean createdAt?: Date | string updatedAt?: Date | string } export type FamilyGroupMemberUpdateWithoutGroupInput = { id?: StringFieldUpdateOperationsInput | string role?: EnumFamilyMemberRoleFieldUpdateOperationsInput | $Enums.FamilyMemberRole joinedAt?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string user?: UserUpdateOneRequiredWithoutFamilyGroupsNestedInput } export type FamilyGroupMemberUncheckedUpdateWithoutGroupInput = { id?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string role?: EnumFamilyMemberRoleFieldUpdateOperationsInput | $Enums.FamilyMemberRole joinedAt?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type FamilyGroupMemberUncheckedUpdateManyWithoutGroupInput = { id?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string role?: EnumFamilyMemberRoleFieldUpdateOperationsInput | $Enums.FamilyMemberRole joinedAt?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SubscriptionUpdateWithoutFamilyGroupInput = { id?: StringFieldUpdateOperationsInput | string stripeId?: NullableStringFieldUpdateOperationsInput | string | null tier?: EnumSubscriptionTierFieldUpdateOperationsInput | $Enums.SubscriptionTier status?: EnumSubscriptionStatusFieldUpdateOperationsInput | $Enums.SubscriptionStatus currentPeriodStart?: DateTimeFieldUpdateOperationsInput | Date | string currentPeriodEnd?: DateTimeFieldUpdateOperationsInput | Date | string cancelAtPeriodEnd?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string user?: UserUpdateOneRequiredWithoutSubscriptionsNestedInput watchlistItems?: WatchlistItemUpdateManyWithoutSubscriptionNestedInput exposures?: ExposureUpdateManyWithoutSubscriptionNestedInput alerts?: AlertUpdateManyWithoutSubscriptionNestedInput } export type SubscriptionUncheckedUpdateWithoutFamilyGroupInput = { id?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string stripeId?: NullableStringFieldUpdateOperationsInput | string | null tier?: EnumSubscriptionTierFieldUpdateOperationsInput | $Enums.SubscriptionTier status?: EnumSubscriptionStatusFieldUpdateOperationsInput | $Enums.SubscriptionStatus currentPeriodStart?: DateTimeFieldUpdateOperationsInput | Date | string currentPeriodEnd?: DateTimeFieldUpdateOperationsInput | Date | string cancelAtPeriodEnd?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string watchlistItems?: WatchlistItemUncheckedUpdateManyWithoutSubscriptionNestedInput exposures?: ExposureUncheckedUpdateManyWithoutSubscriptionNestedInput alerts?: AlertUncheckedUpdateManyWithoutSubscriptionNestedInput } export type SubscriptionUncheckedUpdateManyWithoutFamilyGroupInput = { id?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string stripeId?: NullableStringFieldUpdateOperationsInput | string | null tier?: EnumSubscriptionTierFieldUpdateOperationsInput | $Enums.SubscriptionTier status?: EnumSubscriptionStatusFieldUpdateOperationsInput | $Enums.SubscriptionStatus currentPeriodStart?: DateTimeFieldUpdateOperationsInput | Date | string currentPeriodEnd?: DateTimeFieldUpdateOperationsInput | Date | string cancelAtPeriodEnd?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type WatchlistItemCreateManySubscriptionInput = { id?: string type: $Enums.WatchlistType value: string hash: string isActive?: boolean createdAt?: Date | string updatedAt?: Date | string } export type ExposureCreateManySubscriptionInput = { id?: string watchlistItemId?: string | null source: $Enums.ExposureSource dataType: $Enums.WatchlistType identifier: string identifierHash: string severity?: $Enums.ExposureSeverity metadata?: NullableJsonNullValueInput | InputJsonValue isFirstTime?: boolean detectedAt: Date | string createdAt?: Date | string updatedAt?: Date | string } export type AlertCreateManySubscriptionInput = { id?: string userId: string exposureId?: string | null type: $Enums.AlertType title: string message: string severity?: $Enums.AlertSeverity isRead?: boolean readAt?: Date | string | null channel?: AlertCreatechannelInput | $Enums.AlertChannel[] createdAt?: Date | string updatedAt?: Date | string } export type WatchlistItemUpdateWithoutSubscriptionInput = { id?: StringFieldUpdateOperationsInput | string type?: EnumWatchlistTypeFieldUpdateOperationsInput | $Enums.WatchlistType value?: StringFieldUpdateOperationsInput | string hash?: StringFieldUpdateOperationsInput | string isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string exposures?: ExposureUpdateManyWithoutWatchlistItemNestedInput } export type WatchlistItemUncheckedUpdateWithoutSubscriptionInput = { id?: StringFieldUpdateOperationsInput | string type?: EnumWatchlistTypeFieldUpdateOperationsInput | $Enums.WatchlistType value?: StringFieldUpdateOperationsInput | string hash?: StringFieldUpdateOperationsInput | string isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string exposures?: ExposureUncheckedUpdateManyWithoutWatchlistItemNestedInput } export type WatchlistItemUncheckedUpdateManyWithoutSubscriptionInput = { id?: StringFieldUpdateOperationsInput | string type?: EnumWatchlistTypeFieldUpdateOperationsInput | $Enums.WatchlistType value?: StringFieldUpdateOperationsInput | string hash?: StringFieldUpdateOperationsInput | string isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type ExposureUpdateWithoutSubscriptionInput = { id?: StringFieldUpdateOperationsInput | string source?: EnumExposureSourceFieldUpdateOperationsInput | $Enums.ExposureSource dataType?: EnumWatchlistTypeFieldUpdateOperationsInput | $Enums.WatchlistType identifier?: StringFieldUpdateOperationsInput | string identifierHash?: StringFieldUpdateOperationsInput | string severity?: EnumExposureSeverityFieldUpdateOperationsInput | $Enums.ExposureSeverity metadata?: NullableJsonNullValueInput | InputJsonValue isFirstTime?: BoolFieldUpdateOperationsInput | boolean detectedAt?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string watchlistItem?: WatchlistItemUpdateOneWithoutExposuresNestedInput alerts?: AlertUpdateManyWithoutExposureNestedInput } export type ExposureUncheckedUpdateWithoutSubscriptionInput = { id?: StringFieldUpdateOperationsInput | string watchlistItemId?: NullableStringFieldUpdateOperationsInput | string | null source?: EnumExposureSourceFieldUpdateOperationsInput | $Enums.ExposureSource dataType?: EnumWatchlistTypeFieldUpdateOperationsInput | $Enums.WatchlistType identifier?: StringFieldUpdateOperationsInput | string identifierHash?: StringFieldUpdateOperationsInput | string severity?: EnumExposureSeverityFieldUpdateOperationsInput | $Enums.ExposureSeverity metadata?: NullableJsonNullValueInput | InputJsonValue isFirstTime?: BoolFieldUpdateOperationsInput | boolean detectedAt?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string alerts?: AlertUncheckedUpdateManyWithoutExposureNestedInput } export type ExposureUncheckedUpdateManyWithoutSubscriptionInput = { id?: StringFieldUpdateOperationsInput | string watchlistItemId?: NullableStringFieldUpdateOperationsInput | string | null source?: EnumExposureSourceFieldUpdateOperationsInput | $Enums.ExposureSource dataType?: EnumWatchlistTypeFieldUpdateOperationsInput | $Enums.WatchlistType identifier?: StringFieldUpdateOperationsInput | string identifierHash?: StringFieldUpdateOperationsInput | string severity?: EnumExposureSeverityFieldUpdateOperationsInput | $Enums.ExposureSeverity metadata?: NullableJsonNullValueInput | InputJsonValue isFirstTime?: BoolFieldUpdateOperationsInput | boolean detectedAt?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AlertUpdateWithoutSubscriptionInput = { id?: StringFieldUpdateOperationsInput | string type?: EnumAlertTypeFieldUpdateOperationsInput | $Enums.AlertType title?: StringFieldUpdateOperationsInput | string message?: StringFieldUpdateOperationsInput | string severity?: EnumAlertSeverityFieldUpdateOperationsInput | $Enums.AlertSeverity isRead?: BoolFieldUpdateOperationsInput | boolean readAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null channel?: AlertUpdatechannelInput | $Enums.AlertChannel[] createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string user?: UserUpdateOneRequiredWithoutAlertsNestedInput exposure?: ExposureUpdateOneWithoutAlertsNestedInput } export type AlertUncheckedUpdateWithoutSubscriptionInput = { id?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string exposureId?: NullableStringFieldUpdateOperationsInput | string | null type?: EnumAlertTypeFieldUpdateOperationsInput | $Enums.AlertType title?: StringFieldUpdateOperationsInput | string message?: StringFieldUpdateOperationsInput | string severity?: EnumAlertSeverityFieldUpdateOperationsInput | $Enums.AlertSeverity isRead?: BoolFieldUpdateOperationsInput | boolean readAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null channel?: AlertUpdatechannelInput | $Enums.AlertChannel[] createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AlertUncheckedUpdateManyWithoutSubscriptionInput = { id?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string exposureId?: NullableStringFieldUpdateOperationsInput | string | null type?: EnumAlertTypeFieldUpdateOperationsInput | $Enums.AlertType title?: StringFieldUpdateOperationsInput | string message?: StringFieldUpdateOperationsInput | string severity?: EnumAlertSeverityFieldUpdateOperationsInput | $Enums.AlertSeverity isRead?: BoolFieldUpdateOperationsInput | boolean readAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null channel?: AlertUpdatechannelInput | $Enums.AlertChannel[] createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type ExposureCreateManyWatchlistItemInput = { id?: string subscriptionId: string source: $Enums.ExposureSource dataType: $Enums.WatchlistType identifier: string identifierHash: string severity?: $Enums.ExposureSeverity metadata?: NullableJsonNullValueInput | InputJsonValue isFirstTime?: boolean detectedAt: Date | string createdAt?: Date | string updatedAt?: Date | string } export type ExposureUpdateWithoutWatchlistItemInput = { id?: StringFieldUpdateOperationsInput | string source?: EnumExposureSourceFieldUpdateOperationsInput | $Enums.ExposureSource dataType?: EnumWatchlistTypeFieldUpdateOperationsInput | $Enums.WatchlistType identifier?: StringFieldUpdateOperationsInput | string identifierHash?: StringFieldUpdateOperationsInput | string severity?: EnumExposureSeverityFieldUpdateOperationsInput | $Enums.ExposureSeverity metadata?: NullableJsonNullValueInput | InputJsonValue isFirstTime?: BoolFieldUpdateOperationsInput | boolean detectedAt?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string subscription?: SubscriptionUpdateOneRequiredWithoutExposuresNestedInput alerts?: AlertUpdateManyWithoutExposureNestedInput } export type ExposureUncheckedUpdateWithoutWatchlistItemInput = { id?: StringFieldUpdateOperationsInput | string subscriptionId?: StringFieldUpdateOperationsInput | string source?: EnumExposureSourceFieldUpdateOperationsInput | $Enums.ExposureSource dataType?: EnumWatchlistTypeFieldUpdateOperationsInput | $Enums.WatchlistType identifier?: StringFieldUpdateOperationsInput | string identifierHash?: StringFieldUpdateOperationsInput | string severity?: EnumExposureSeverityFieldUpdateOperationsInput | $Enums.ExposureSeverity metadata?: NullableJsonNullValueInput | InputJsonValue isFirstTime?: BoolFieldUpdateOperationsInput | boolean detectedAt?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string alerts?: AlertUncheckedUpdateManyWithoutExposureNestedInput } export type ExposureUncheckedUpdateManyWithoutWatchlistItemInput = { id?: StringFieldUpdateOperationsInput | string subscriptionId?: StringFieldUpdateOperationsInput | string source?: EnumExposureSourceFieldUpdateOperationsInput | $Enums.ExposureSource dataType?: EnumWatchlistTypeFieldUpdateOperationsInput | $Enums.WatchlistType identifier?: StringFieldUpdateOperationsInput | string identifierHash?: StringFieldUpdateOperationsInput | string severity?: EnumExposureSeverityFieldUpdateOperationsInput | $Enums.ExposureSeverity metadata?: NullableJsonNullValueInput | InputJsonValue isFirstTime?: BoolFieldUpdateOperationsInput | boolean detectedAt?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AlertCreateManyExposureInput = { id?: string subscriptionId: string userId: string type: $Enums.AlertType title: string message: string severity?: $Enums.AlertSeverity isRead?: boolean readAt?: Date | string | null channel?: AlertCreatechannelInput | $Enums.AlertChannel[] createdAt?: Date | string updatedAt?: Date | string } export type AlertUpdateWithoutExposureInput = { id?: StringFieldUpdateOperationsInput | string type?: EnumAlertTypeFieldUpdateOperationsInput | $Enums.AlertType title?: StringFieldUpdateOperationsInput | string message?: StringFieldUpdateOperationsInput | string severity?: EnumAlertSeverityFieldUpdateOperationsInput | $Enums.AlertSeverity isRead?: BoolFieldUpdateOperationsInput | boolean readAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null channel?: AlertUpdatechannelInput | $Enums.AlertChannel[] createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string subscription?: SubscriptionUpdateOneRequiredWithoutAlertsNestedInput user?: UserUpdateOneRequiredWithoutAlertsNestedInput } export type AlertUncheckedUpdateWithoutExposureInput = { id?: StringFieldUpdateOperationsInput | string subscriptionId?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string type?: EnumAlertTypeFieldUpdateOperationsInput | $Enums.AlertType title?: StringFieldUpdateOperationsInput | string message?: StringFieldUpdateOperationsInput | string severity?: EnumAlertSeverityFieldUpdateOperationsInput | $Enums.AlertSeverity isRead?: BoolFieldUpdateOperationsInput | boolean readAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null channel?: AlertUpdatechannelInput | $Enums.AlertChannel[] createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AlertUncheckedUpdateManyWithoutExposureInput = { id?: StringFieldUpdateOperationsInput | string subscriptionId?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string type?: EnumAlertTypeFieldUpdateOperationsInput | $Enums.AlertType title?: StringFieldUpdateOperationsInput | string message?: StringFieldUpdateOperationsInput | string severity?: EnumAlertSeverityFieldUpdateOperationsInput | $Enums.AlertSeverity isRead?: BoolFieldUpdateOperationsInput | boolean readAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null channel?: AlertUpdatechannelInput | $Enums.AlertChannel[] createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type VoiceAnalysisCreateManyEnrollmentInput = { id?: string userId: string audioHash: string isSynthetic: boolean confidence: number analysisResult: JsonNullValueInput | InputJsonValue audioUrl: string createdAt?: Date | string } export type VoiceAnalysisUpdateWithoutEnrollmentInput = { id?: StringFieldUpdateOperationsInput | string audioHash?: StringFieldUpdateOperationsInput | string isSynthetic?: BoolFieldUpdateOperationsInput | boolean confidence?: FloatFieldUpdateOperationsInput | number analysisResult?: JsonNullValueInput | InputJsonValue audioUrl?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string user?: UserUpdateOneRequiredWithoutVoiceAnalysesNestedInput } export type VoiceAnalysisUncheckedUpdateWithoutEnrollmentInput = { id?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string audioHash?: StringFieldUpdateOperationsInput | string isSynthetic?: BoolFieldUpdateOperationsInput | boolean confidence?: FloatFieldUpdateOperationsInput | number analysisResult?: JsonNullValueInput | InputJsonValue audioUrl?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type VoiceAnalysisUncheckedUpdateManyWithoutEnrollmentInput = { id?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string audioHash?: StringFieldUpdateOperationsInput | string isSynthetic?: BoolFieldUpdateOperationsInput | boolean confidence?: FloatFieldUpdateOperationsInput | number analysisResult?: JsonNullValueInput | InputJsonValue audioUrl?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } /** * Aliases for legacy arg types */ /** * @deprecated Use UserCountOutputTypeDefaultArgs instead */ export type UserCountOutputTypeArgs = UserCountOutputTypeDefaultArgs /** * @deprecated Use FamilyGroupCountOutputTypeDefaultArgs instead */ export type FamilyGroupCountOutputTypeArgs = FamilyGroupCountOutputTypeDefaultArgs /** * @deprecated Use SubscriptionCountOutputTypeDefaultArgs instead */ export type SubscriptionCountOutputTypeArgs = SubscriptionCountOutputTypeDefaultArgs /** * @deprecated Use WatchlistItemCountOutputTypeDefaultArgs instead */ export type WatchlistItemCountOutputTypeArgs = WatchlistItemCountOutputTypeDefaultArgs /** * @deprecated Use ExposureCountOutputTypeDefaultArgs instead */ export type ExposureCountOutputTypeArgs = ExposureCountOutputTypeDefaultArgs /** * @deprecated Use VoiceEnrollmentCountOutputTypeDefaultArgs instead */ export type VoiceEnrollmentCountOutputTypeArgs = VoiceEnrollmentCountOutputTypeDefaultArgs /** * @deprecated Use UserDefaultArgs instead */ export type UserArgs = UserDefaultArgs /** * @deprecated Use AccountDefaultArgs instead */ export type AccountArgs = AccountDefaultArgs /** * @deprecated Use SessionDefaultArgs instead */ export type SessionArgs = SessionDefaultArgs /** * @deprecated Use FamilyGroupDefaultArgs instead */ export type FamilyGroupArgs = FamilyGroupDefaultArgs /** * @deprecated Use FamilyGroupMemberDefaultArgs instead */ export type FamilyGroupMemberArgs = FamilyGroupMemberDefaultArgs /** * @deprecated Use SubscriptionDefaultArgs instead */ export type SubscriptionArgs = SubscriptionDefaultArgs /** * @deprecated Use WatchlistItemDefaultArgs instead */ export type WatchlistItemArgs = WatchlistItemDefaultArgs /** * @deprecated Use ExposureDefaultArgs instead */ export type ExposureArgs = ExposureDefaultArgs /** * @deprecated Use AlertDefaultArgs instead */ export type AlertArgs = AlertDefaultArgs /** * @deprecated Use VoiceEnrollmentDefaultArgs instead */ export type VoiceEnrollmentArgs = VoiceEnrollmentDefaultArgs /** * @deprecated Use VoiceAnalysisDefaultArgs instead */ export type VoiceAnalysisArgs = VoiceAnalysisDefaultArgs /** * @deprecated Use SpamFeedbackDefaultArgs instead */ export type SpamFeedbackArgs = SpamFeedbackDefaultArgs /** * @deprecated Use SpamRuleDefaultArgs instead */ export type SpamRuleArgs = SpamRuleDefaultArgs /** * @deprecated Use AuditLogDefaultArgs instead */ export type AuditLogArgs = AuditLogDefaultArgs /** * @deprecated Use KPISnapshotDefaultArgs instead */ export type KPISnapshotArgs = KPISnapshotDefaultArgs /** * Batch Payload for updateMany & deleteMany & createMany */ export type BatchPayload = { count: number } /** * DMMF */ export const dmmf: runtime.BaseDMMF }