ÿØÿà JFIF  ` ` ÿþš 403 WEBHELL REBORN
403 WEBHELL REBORN
Server : Apache
System : Linux cloud.heroica.com.br 4.18.0-553.36.1.el8_10.x86_64 #1 SMP Wed Jan 22 03:07:54 EST 2025 x86_64
User : farolpborg ( 1053)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /var/www/node_services/sebraevisitas/src/generated/prisma/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

Buat Folder Baru:
Buat File Baru:

Current File : //var/www/node_services/sebraevisitas/src/generated/prisma/index.d.ts
/**
 * Client
**/

import * as runtime from './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<T> = $Public.PrismaPromise<T>


/**
 * Model user
 * 
 */
export type user = $Result.DefaultSelection<Prisma.$userPayload>
/**
 * Model forgetpassword
 * 
 */
export type forgetpassword = $Result.DefaultSelection<Prisma.$forgetpasswordPayload>
/**
 * Model profile
 * 
 */
export type profile = $Result.DefaultSelection<Prisma.$profilePayload>
/**
 * Model visita
 * 
 */
export type visita = $Result.DefaultSelection<Prisma.$visitaPayload>
/**
 * Model checkinvisita
 * 
 */
export type checkinvisita = $Result.DefaultSelection<Prisma.$checkinvisitaPayload>
/**
 * Model cadastropf
 * 
 */
export type cadastropf = $Result.DefaultSelection<Prisma.$cadastropfPayload>
/**
 * Model cadastropj
 * 
 */
export type cadastropj = $Result.DefaultSelection<Prisma.$cadastropjPayload>
/**
 * Model planoacao
 * 
 */
export type planoacao = $Result.DefaultSelection<Prisma.$planoacaoPayload>
/**
 * Model entrevistaDiagnostico
 * 
 */
export type entrevistaDiagnostico = $Result.DefaultSelection<Prisma.$entrevistaDiagnosticoPayload>
/**
 * Model assinaturadigital
 * 
 */
export type assinaturadigital = $Result.DefaultSelection<Prisma.$assinaturadigitalPayload>
/**
 * Model checkout
 * 
 */
export type checkout = $Result.DefaultSelection<Prisma.$checkoutPayload>
/**
 * Model recordings
 * 
 */
export type recordings = $Result.DefaultSelection<Prisma.$recordingsPayload>
/**
 * Model cnae
 * 
 */
export type cnae = $Result.DefaultSelection<Prisma.$cnaePayload>
/**
 * Model visitasreceived
 * 
 */
export type visitasreceived = $Result.DefaultSelection<Prisma.$visitasreceivedPayload>

/**
 * Enums
 */
export namespace $Enums {
  export const UserSexo: {
  masculino: 'masculino',
  feminino: 'feminino',
  outro: 'outro'
};

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


export const envolvimentoGestao: {
  SIM: 'SIM',
  NAO: 'NAO'
};

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


export const TipoCadastro: {
  PJ: 'PJ',
  PF: 'PF'
};

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

}

export type UserSexo = $Enums.UserSexo

export const UserSexo: typeof $Enums.UserSexo

export type envolvimentoGestao = $Enums.envolvimentoGestao

export const envolvimentoGestao: typeof $Enums.envolvimentoGestao

export type TipoCadastro = $Enums.TipoCadastro

export const TipoCadastro: typeof $Enums.TipoCadastro

/**
 * ##  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,
  const U = 'log' extends keyof ClientOptions ? ClientOptions['log'] extends Array<Prisma.LogLevel | Prisma.LogDefinition> ? Prisma.GetEvents<ClientOptions['log']> : never : never,
  ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs
> {
  [K: symbol]: { types: Prisma.TypeMap<ExtArgs>['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<ClientOptions, Prisma.PrismaClientOptions>);
  $on<V extends U>(eventType: V, callback: (event: V extends 'query' ? Prisma.QueryEvent : Prisma.LogEvent) => void): PrismaClient;

  /**
   * Connect with the database
   */
  $connect(): $Utils.JsPromise<void>;

  /**
   * Disconnect from the database
   */
  $disconnect(): $Utils.JsPromise<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<T = unknown>(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise<number>;

  /**
   * 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<T = unknown>(query: string, ...values: any[]): Prisma.PrismaPromise<number>;

  /**
   * 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<T = unknown>(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise<T>;

  /**
   * 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<T = unknown>(query: string, ...values: any[]): Prisma.PrismaPromise<T>;


  /**
   * 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<P extends Prisma.PrismaPromise<any>[]>(arg: [...P], options?: { isolationLevel?: Prisma.TransactionIsolationLevel }): $Utils.JsPromise<runtime.Types.Utils.UnwrapTuple<P>>

  $transaction<R>(fn: (prisma: Omit<PrismaClient, runtime.ITXClientDenyList>) => $Utils.JsPromise<R>, options?: { maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel }): $Utils.JsPromise<R>


  $extends: $Extensions.ExtendsHook<"extends", Prisma.TypeMapCb<ClientOptions>, ExtArgs, $Utils.Call<Prisma.TypeMapCb<ClientOptions>, {
    extArgs: 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<ExtArgs, ClientOptions>;

  /**
   * `prisma.forgetpassword`: Exposes CRUD operations for the **forgetpassword** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more Forgetpasswords
    * const forgetpasswords = await prisma.forgetpassword.findMany()
    * ```
    */
  get forgetpassword(): Prisma.forgetpasswordDelegate<ExtArgs, ClientOptions>;

  /**
   * `prisma.profile`: Exposes CRUD operations for the **profile** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more Profiles
    * const profiles = await prisma.profile.findMany()
    * ```
    */
  get profile(): Prisma.profileDelegate<ExtArgs, ClientOptions>;

  /**
   * `prisma.visita`: Exposes CRUD operations for the **visita** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more Visitas
    * const visitas = await prisma.visita.findMany()
    * ```
    */
  get visita(): Prisma.visitaDelegate<ExtArgs, ClientOptions>;

  /**
   * `prisma.checkinvisita`: Exposes CRUD operations for the **checkinvisita** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more Checkinvisitas
    * const checkinvisitas = await prisma.checkinvisita.findMany()
    * ```
    */
  get checkinvisita(): Prisma.checkinvisitaDelegate<ExtArgs, ClientOptions>;

  /**
   * `prisma.cadastropf`: Exposes CRUD operations for the **cadastropf** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more Cadastropfs
    * const cadastropfs = await prisma.cadastropf.findMany()
    * ```
    */
  get cadastropf(): Prisma.cadastropfDelegate<ExtArgs, ClientOptions>;

  /**
   * `prisma.cadastropj`: Exposes CRUD operations for the **cadastropj** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more Cadastropjs
    * const cadastropjs = await prisma.cadastropj.findMany()
    * ```
    */
  get cadastropj(): Prisma.cadastropjDelegate<ExtArgs, ClientOptions>;

  /**
   * `prisma.planoacao`: Exposes CRUD operations for the **planoacao** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more Planoacaos
    * const planoacaos = await prisma.planoacao.findMany()
    * ```
    */
  get planoacao(): Prisma.planoacaoDelegate<ExtArgs, ClientOptions>;

  /**
   * `prisma.entrevistaDiagnostico`: Exposes CRUD operations for the **entrevistaDiagnostico** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more EntrevistaDiagnosticos
    * const entrevistaDiagnosticos = await prisma.entrevistaDiagnostico.findMany()
    * ```
    */
  get entrevistaDiagnostico(): Prisma.entrevistaDiagnosticoDelegate<ExtArgs, ClientOptions>;

  /**
   * `prisma.assinaturadigital`: Exposes CRUD operations for the **assinaturadigital** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more Assinaturadigitals
    * const assinaturadigitals = await prisma.assinaturadigital.findMany()
    * ```
    */
  get assinaturadigital(): Prisma.assinaturadigitalDelegate<ExtArgs, ClientOptions>;

  /**
   * `prisma.checkout`: Exposes CRUD operations for the **checkout** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more Checkouts
    * const checkouts = await prisma.checkout.findMany()
    * ```
    */
  get checkout(): Prisma.checkoutDelegate<ExtArgs, ClientOptions>;

  /**
   * `prisma.recordings`: Exposes CRUD operations for the **recordings** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more Recordings
    * const recordings = await prisma.recordings.findMany()
    * ```
    */
  get recordings(): Prisma.recordingsDelegate<ExtArgs, ClientOptions>;

  /**
   * `prisma.cnae`: Exposes CRUD operations for the **cnae** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more Cnaes
    * const cnaes = await prisma.cnae.findMany()
    * ```
    */
  get cnae(): Prisma.cnaeDelegate<ExtArgs, ClientOptions>;

  /**
   * `prisma.visitasreceived`: Exposes CRUD operations for the **visitasreceived** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more Visitasreceiveds
    * const visitasreceiveds = await prisma.visitasreceived.findMany()
    * ```
    */
  get visitasreceived(): Prisma.visitasreceivedDelegate<ExtArgs, ClientOptions>;
}

export namespace Prisma {
  export import DMMF = runtime.DMMF

  export type PrismaPromise<T> = $Public.PrismaPromise<T>

  /**
   * 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

  /**
   * 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<T> = runtime.Metric<T>
  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: 6.14.0
   * Query Engine version: 717184b7b35ea05dfa71a3236b7af656013e1e49
   */
  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<any>> = T extends PromiseLike<infer U> ? U : T;

  /**
   * Get the return type of a function which returns a Promise.
   */
  export type PromiseReturnType<T extends (...args: any) => $Utils.JsPromise<any>> = PromiseType<ReturnType<T>>

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


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

  export type RequiredKeys<T> = {
    [K in keyof T]-?: {} extends Prisma__Pick<T, K> ? never : K
  }[keyof T]

  export type TruthyKeys<T> = keyof {
    [K in keyof T as T[K] extends false | undefined | null ? never : K]: K
  }

  export type TrueKeys<T> = TruthyKeys<Prisma__Pick<T, RequiredKeys<T>>>

  /**
   * Subset
   * @desc From `T` pick properties that exist in `U`. Simple version of Intersection
   */
  export type Subset<T, U> = {
    [key in keyof T]: key extends keyof U ? T[key] : never;
  };

  /**
   * SelectSubset
   * @desc From `T` pick properties that exist in `U`. Simple version of Intersection.
   * Additionally, it validates, if both select and include are present. If the case, it errors.
   */
  export type SelectSubset<T, U> = {
    [key in keyof T]: key extends keyof U ? T[key] : never
  } &
    (T extends SelectAndInclude
      ? 'Please either choose `select` or `include`.'
      : T extends SelectAndOmit
        ? 'Please either choose `select` or `omit`.'
        : {})

  /**
   * Subset + Intersection
   * @desc From `T` pick properties that exist in `U` and intersect `K`
   */
  export type SubsetIntersection<T, U, K> = {
    [key in keyof T]: key extends keyof U ? T[key] : never
  } &
    K

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

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


  /**
   * Is T a Record?
   */
  type IsObject<T extends any> = T extends Array<any>
  ? False
  : T extends Date
  ? False
  : T extends Uint8Array
  ? False
  : T extends BigInt
  ? False
  : T extends object
  ? True
  : False


  /**
   * If it's T[], return T
   */
  export type UnEnumerate<T extends unknown> = T extends Array<infer U> ? U : T

  /**
   * From ts-toolbelt
   */

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

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

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

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

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

  export type Union = any

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

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

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

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

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

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

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

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

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

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

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

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

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

  /**
  A [[Boolean]]
  */
  export type Boolean = True | False

  // /**
  // 1
  // */
  export type True = 1

  /**
  0
  */
  export type False = 0

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

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

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

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

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

  type Cast<A, B> = A extends B ? A : B;

  export const type: unique symbol;



  /**
   * Used by group by
   */

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

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

  type GetHavingFields<T> = {
    [K in keyof T]: Or<
      Or<Extends<'OR', K>, Extends<'AND', K>>,
      Extends<'NOT', K>
    > extends True
      ? // infer is only needed to not hit TS limit
        // based on the brilliant idea of Pierre-Antoine Mills
        // https://github.com/microsoft/TypeScript/issues/30188#issuecomment-478938437
        T[K] extends infer TK
        ? GetHavingFields<UnEnumerate<TK> extends object ? Merge<UnEnumerate<TK>> : never>
        : never
      : {} extends FieldPaths<T[K]>
      ? never
      : K
  }[keyof T]

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

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

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


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

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


  export const ModelName: {
    user: 'user',
    forgetpassword: 'forgetpassword',
    profile: 'profile',
    visita: 'visita',
    checkinvisita: 'checkinvisita',
    cadastropf: 'cadastropf',
    cadastropj: 'cadastropj',
    planoacao: 'planoacao',
    entrevistaDiagnostico: 'entrevistaDiagnostico',
    assinaturadigital: 'assinaturadigital',
    checkout: 'checkout',
    recordings: 'recordings',
    cnae: 'cnae',
    visitasreceived: 'visitasreceived'
  };

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


  export type Datasources = {
    db?: Datasource
  }

  interface TypeMapCb<ClientOptions = {}> extends $Utils.Fn<{extArgs: $Extensions.InternalArgs }, $Utils.Record<string, any>> {
    returns: Prisma.TypeMap<this['params']['extArgs'], ClientOptions extends { omit: infer OmitOptions } ? OmitOptions : {}>
  }

  export type TypeMap<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> = {
    globalOmitOptions: {
      omit: GlobalOmitOptions
    }
    meta: {
      modelProps: "user" | "forgetpassword" | "profile" | "visita" | "checkinvisita" | "cadastropf" | "cadastropj" | "planoacao" | "entrevistaDiagnostico" | "assinaturadigital" | "checkout" | "recordings" | "cnae" | "visitasreceived"
      txIsolationLevel: Prisma.TransactionIsolationLevel
    }
    model: {
      user: {
        payload: Prisma.$userPayload<ExtArgs>
        fields: Prisma.userFieldRefs
        operations: {
          findUnique: {
            args: Prisma.userFindUniqueArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$userPayload> | null
          }
          findUniqueOrThrow: {
            args: Prisma.userFindUniqueOrThrowArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$userPayload>
          }
          findFirst: {
            args: Prisma.userFindFirstArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$userPayload> | null
          }
          findFirstOrThrow: {
            args: Prisma.userFindFirstOrThrowArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$userPayload>
          }
          findMany: {
            args: Prisma.userFindManyArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$userPayload>[]
          }
          create: {
            args: Prisma.userCreateArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$userPayload>
          }
          createMany: {
            args: Prisma.userCreateManyArgs<ExtArgs>
            result: BatchPayload
          }
          delete: {
            args: Prisma.userDeleteArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$userPayload>
          }
          update: {
            args: Prisma.userUpdateArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$userPayload>
          }
          deleteMany: {
            args: Prisma.userDeleteManyArgs<ExtArgs>
            result: BatchPayload
          }
          updateMany: {
            args: Prisma.userUpdateManyArgs<ExtArgs>
            result: BatchPayload
          }
          upsert: {
            args: Prisma.userUpsertArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$userPayload>
          }
          aggregate: {
            args: Prisma.UserAggregateArgs<ExtArgs>
            result: $Utils.Optional<AggregateUser>
          }
          groupBy: {
            args: Prisma.userGroupByArgs<ExtArgs>
            result: $Utils.Optional<UserGroupByOutputType>[]
          }
          count: {
            args: Prisma.userCountArgs<ExtArgs>
            result: $Utils.Optional<UserCountAggregateOutputType> | number
          }
        }
      }
      forgetpassword: {
        payload: Prisma.$forgetpasswordPayload<ExtArgs>
        fields: Prisma.forgetpasswordFieldRefs
        operations: {
          findUnique: {
            args: Prisma.forgetpasswordFindUniqueArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$forgetpasswordPayload> | null
          }
          findUniqueOrThrow: {
            args: Prisma.forgetpasswordFindUniqueOrThrowArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$forgetpasswordPayload>
          }
          findFirst: {
            args: Prisma.forgetpasswordFindFirstArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$forgetpasswordPayload> | null
          }
          findFirstOrThrow: {
            args: Prisma.forgetpasswordFindFirstOrThrowArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$forgetpasswordPayload>
          }
          findMany: {
            args: Prisma.forgetpasswordFindManyArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$forgetpasswordPayload>[]
          }
          create: {
            args: Prisma.forgetpasswordCreateArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$forgetpasswordPayload>
          }
          createMany: {
            args: Prisma.forgetpasswordCreateManyArgs<ExtArgs>
            result: BatchPayload
          }
          delete: {
            args: Prisma.forgetpasswordDeleteArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$forgetpasswordPayload>
          }
          update: {
            args: Prisma.forgetpasswordUpdateArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$forgetpasswordPayload>
          }
          deleteMany: {
            args: Prisma.forgetpasswordDeleteManyArgs<ExtArgs>
            result: BatchPayload
          }
          updateMany: {
            args: Prisma.forgetpasswordUpdateManyArgs<ExtArgs>
            result: BatchPayload
          }
          upsert: {
            args: Prisma.forgetpasswordUpsertArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$forgetpasswordPayload>
          }
          aggregate: {
            args: Prisma.ForgetpasswordAggregateArgs<ExtArgs>
            result: $Utils.Optional<AggregateForgetpassword>
          }
          groupBy: {
            args: Prisma.forgetpasswordGroupByArgs<ExtArgs>
            result: $Utils.Optional<ForgetpasswordGroupByOutputType>[]
          }
          count: {
            args: Prisma.forgetpasswordCountArgs<ExtArgs>
            result: $Utils.Optional<ForgetpasswordCountAggregateOutputType> | number
          }
        }
      }
      profile: {
        payload: Prisma.$profilePayload<ExtArgs>
        fields: Prisma.profileFieldRefs
        operations: {
          findUnique: {
            args: Prisma.profileFindUniqueArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$profilePayload> | null
          }
          findUniqueOrThrow: {
            args: Prisma.profileFindUniqueOrThrowArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$profilePayload>
          }
          findFirst: {
            args: Prisma.profileFindFirstArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$profilePayload> | null
          }
          findFirstOrThrow: {
            args: Prisma.profileFindFirstOrThrowArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$profilePayload>
          }
          findMany: {
            args: Prisma.profileFindManyArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$profilePayload>[]
          }
          create: {
            args: Prisma.profileCreateArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$profilePayload>
          }
          createMany: {
            args: Prisma.profileCreateManyArgs<ExtArgs>
            result: BatchPayload
          }
          delete: {
            args: Prisma.profileDeleteArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$profilePayload>
          }
          update: {
            args: Prisma.profileUpdateArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$profilePayload>
          }
          deleteMany: {
            args: Prisma.profileDeleteManyArgs<ExtArgs>
            result: BatchPayload
          }
          updateMany: {
            args: Prisma.profileUpdateManyArgs<ExtArgs>
            result: BatchPayload
          }
          upsert: {
            args: Prisma.profileUpsertArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$profilePayload>
          }
          aggregate: {
            args: Prisma.ProfileAggregateArgs<ExtArgs>
            result: $Utils.Optional<AggregateProfile>
          }
          groupBy: {
            args: Prisma.profileGroupByArgs<ExtArgs>
            result: $Utils.Optional<ProfileGroupByOutputType>[]
          }
          count: {
            args: Prisma.profileCountArgs<ExtArgs>
            result: $Utils.Optional<ProfileCountAggregateOutputType> | number
          }
        }
      }
      visita: {
        payload: Prisma.$visitaPayload<ExtArgs>
        fields: Prisma.visitaFieldRefs
        operations: {
          findUnique: {
            args: Prisma.visitaFindUniqueArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$visitaPayload> | null
          }
          findUniqueOrThrow: {
            args: Prisma.visitaFindUniqueOrThrowArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$visitaPayload>
          }
          findFirst: {
            args: Prisma.visitaFindFirstArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$visitaPayload> | null
          }
          findFirstOrThrow: {
            args: Prisma.visitaFindFirstOrThrowArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$visitaPayload>
          }
          findMany: {
            args: Prisma.visitaFindManyArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$visitaPayload>[]
          }
          create: {
            args: Prisma.visitaCreateArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$visitaPayload>
          }
          createMany: {
            args: Prisma.visitaCreateManyArgs<ExtArgs>
            result: BatchPayload
          }
          delete: {
            args: Prisma.visitaDeleteArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$visitaPayload>
          }
          update: {
            args: Prisma.visitaUpdateArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$visitaPayload>
          }
          deleteMany: {
            args: Prisma.visitaDeleteManyArgs<ExtArgs>
            result: BatchPayload
          }
          updateMany: {
            args: Prisma.visitaUpdateManyArgs<ExtArgs>
            result: BatchPayload
          }
          upsert: {
            args: Prisma.visitaUpsertArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$visitaPayload>
          }
          aggregate: {
            args: Prisma.VisitaAggregateArgs<ExtArgs>
            result: $Utils.Optional<AggregateVisita>
          }
          groupBy: {
            args: Prisma.visitaGroupByArgs<ExtArgs>
            result: $Utils.Optional<VisitaGroupByOutputType>[]
          }
          count: {
            args: Prisma.visitaCountArgs<ExtArgs>
            result: $Utils.Optional<VisitaCountAggregateOutputType> | number
          }
        }
      }
      checkinvisita: {
        payload: Prisma.$checkinvisitaPayload<ExtArgs>
        fields: Prisma.checkinvisitaFieldRefs
        operations: {
          findUnique: {
            args: Prisma.checkinvisitaFindUniqueArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$checkinvisitaPayload> | null
          }
          findUniqueOrThrow: {
            args: Prisma.checkinvisitaFindUniqueOrThrowArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$checkinvisitaPayload>
          }
          findFirst: {
            args: Prisma.checkinvisitaFindFirstArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$checkinvisitaPayload> | null
          }
          findFirstOrThrow: {
            args: Prisma.checkinvisitaFindFirstOrThrowArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$checkinvisitaPayload>
          }
          findMany: {
            args: Prisma.checkinvisitaFindManyArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$checkinvisitaPayload>[]
          }
          create: {
            args: Prisma.checkinvisitaCreateArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$checkinvisitaPayload>
          }
          createMany: {
            args: Prisma.checkinvisitaCreateManyArgs<ExtArgs>
            result: BatchPayload
          }
          delete: {
            args: Prisma.checkinvisitaDeleteArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$checkinvisitaPayload>
          }
          update: {
            args: Prisma.checkinvisitaUpdateArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$checkinvisitaPayload>
          }
          deleteMany: {
            args: Prisma.checkinvisitaDeleteManyArgs<ExtArgs>
            result: BatchPayload
          }
          updateMany: {
            args: Prisma.checkinvisitaUpdateManyArgs<ExtArgs>
            result: BatchPayload
          }
          upsert: {
            args: Prisma.checkinvisitaUpsertArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$checkinvisitaPayload>
          }
          aggregate: {
            args: Prisma.CheckinvisitaAggregateArgs<ExtArgs>
            result: $Utils.Optional<AggregateCheckinvisita>
          }
          groupBy: {
            args: Prisma.checkinvisitaGroupByArgs<ExtArgs>
            result: $Utils.Optional<CheckinvisitaGroupByOutputType>[]
          }
          count: {
            args: Prisma.checkinvisitaCountArgs<ExtArgs>
            result: $Utils.Optional<CheckinvisitaCountAggregateOutputType> | number
          }
        }
      }
      cadastropf: {
        payload: Prisma.$cadastropfPayload<ExtArgs>
        fields: Prisma.cadastropfFieldRefs
        operations: {
          findUnique: {
            args: Prisma.cadastropfFindUniqueArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$cadastropfPayload> | null
          }
          findUniqueOrThrow: {
            args: Prisma.cadastropfFindUniqueOrThrowArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$cadastropfPayload>
          }
          findFirst: {
            args: Prisma.cadastropfFindFirstArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$cadastropfPayload> | null
          }
          findFirstOrThrow: {
            args: Prisma.cadastropfFindFirstOrThrowArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$cadastropfPayload>
          }
          findMany: {
            args: Prisma.cadastropfFindManyArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$cadastropfPayload>[]
          }
          create: {
            args: Prisma.cadastropfCreateArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$cadastropfPayload>
          }
          createMany: {
            args: Prisma.cadastropfCreateManyArgs<ExtArgs>
            result: BatchPayload
          }
          delete: {
            args: Prisma.cadastropfDeleteArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$cadastropfPayload>
          }
          update: {
            args: Prisma.cadastropfUpdateArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$cadastropfPayload>
          }
          deleteMany: {
            args: Prisma.cadastropfDeleteManyArgs<ExtArgs>
            result: BatchPayload
          }
          updateMany: {
            args: Prisma.cadastropfUpdateManyArgs<ExtArgs>
            result: BatchPayload
          }
          upsert: {
            args: Prisma.cadastropfUpsertArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$cadastropfPayload>
          }
          aggregate: {
            args: Prisma.CadastropfAggregateArgs<ExtArgs>
            result: $Utils.Optional<AggregateCadastropf>
          }
          groupBy: {
            args: Prisma.cadastropfGroupByArgs<ExtArgs>
            result: $Utils.Optional<CadastropfGroupByOutputType>[]
          }
          count: {
            args: Prisma.cadastropfCountArgs<ExtArgs>
            result: $Utils.Optional<CadastropfCountAggregateOutputType> | number
          }
        }
      }
      cadastropj: {
        payload: Prisma.$cadastropjPayload<ExtArgs>
        fields: Prisma.cadastropjFieldRefs
        operations: {
          findUnique: {
            args: Prisma.cadastropjFindUniqueArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$cadastropjPayload> | null
          }
          findUniqueOrThrow: {
            args: Prisma.cadastropjFindUniqueOrThrowArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$cadastropjPayload>
          }
          findFirst: {
            args: Prisma.cadastropjFindFirstArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$cadastropjPayload> | null
          }
          findFirstOrThrow: {
            args: Prisma.cadastropjFindFirstOrThrowArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$cadastropjPayload>
          }
          findMany: {
            args: Prisma.cadastropjFindManyArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$cadastropjPayload>[]
          }
          create: {
            args: Prisma.cadastropjCreateArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$cadastropjPayload>
          }
          createMany: {
            args: Prisma.cadastropjCreateManyArgs<ExtArgs>
            result: BatchPayload
          }
          delete: {
            args: Prisma.cadastropjDeleteArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$cadastropjPayload>
          }
          update: {
            args: Prisma.cadastropjUpdateArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$cadastropjPayload>
          }
          deleteMany: {
            args: Prisma.cadastropjDeleteManyArgs<ExtArgs>
            result: BatchPayload
          }
          updateMany: {
            args: Prisma.cadastropjUpdateManyArgs<ExtArgs>
            result: BatchPayload
          }
          upsert: {
            args: Prisma.cadastropjUpsertArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$cadastropjPayload>
          }
          aggregate: {
            args: Prisma.CadastropjAggregateArgs<ExtArgs>
            result: $Utils.Optional<AggregateCadastropj>
          }
          groupBy: {
            args: Prisma.cadastropjGroupByArgs<ExtArgs>
            result: $Utils.Optional<CadastropjGroupByOutputType>[]
          }
          count: {
            args: Prisma.cadastropjCountArgs<ExtArgs>
            result: $Utils.Optional<CadastropjCountAggregateOutputType> | number
          }
        }
      }
      planoacao: {
        payload: Prisma.$planoacaoPayload<ExtArgs>
        fields: Prisma.planoacaoFieldRefs
        operations: {
          findUnique: {
            args: Prisma.planoacaoFindUniqueArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$planoacaoPayload> | null
          }
          findUniqueOrThrow: {
            args: Prisma.planoacaoFindUniqueOrThrowArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$planoacaoPayload>
          }
          findFirst: {
            args: Prisma.planoacaoFindFirstArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$planoacaoPayload> | null
          }
          findFirstOrThrow: {
            args: Prisma.planoacaoFindFirstOrThrowArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$planoacaoPayload>
          }
          findMany: {
            args: Prisma.planoacaoFindManyArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$planoacaoPayload>[]
          }
          create: {
            args: Prisma.planoacaoCreateArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$planoacaoPayload>
          }
          createMany: {
            args: Prisma.planoacaoCreateManyArgs<ExtArgs>
            result: BatchPayload
          }
          delete: {
            args: Prisma.planoacaoDeleteArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$planoacaoPayload>
          }
          update: {
            args: Prisma.planoacaoUpdateArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$planoacaoPayload>
          }
          deleteMany: {
            args: Prisma.planoacaoDeleteManyArgs<ExtArgs>
            result: BatchPayload
          }
          updateMany: {
            args: Prisma.planoacaoUpdateManyArgs<ExtArgs>
            result: BatchPayload
          }
          upsert: {
            args: Prisma.planoacaoUpsertArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$planoacaoPayload>
          }
          aggregate: {
            args: Prisma.PlanoacaoAggregateArgs<ExtArgs>
            result: $Utils.Optional<AggregatePlanoacao>
          }
          groupBy: {
            args: Prisma.planoacaoGroupByArgs<ExtArgs>
            result: $Utils.Optional<PlanoacaoGroupByOutputType>[]
          }
          count: {
            args: Prisma.planoacaoCountArgs<ExtArgs>
            result: $Utils.Optional<PlanoacaoCountAggregateOutputType> | number
          }
        }
      }
      entrevistaDiagnostico: {
        payload: Prisma.$entrevistaDiagnosticoPayload<ExtArgs>
        fields: Prisma.entrevistaDiagnosticoFieldRefs
        operations: {
          findUnique: {
            args: Prisma.entrevistaDiagnosticoFindUniqueArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$entrevistaDiagnosticoPayload> | null
          }
          findUniqueOrThrow: {
            args: Prisma.entrevistaDiagnosticoFindUniqueOrThrowArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$entrevistaDiagnosticoPayload>
          }
          findFirst: {
            args: Prisma.entrevistaDiagnosticoFindFirstArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$entrevistaDiagnosticoPayload> | null
          }
          findFirstOrThrow: {
            args: Prisma.entrevistaDiagnosticoFindFirstOrThrowArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$entrevistaDiagnosticoPayload>
          }
          findMany: {
            args: Prisma.entrevistaDiagnosticoFindManyArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$entrevistaDiagnosticoPayload>[]
          }
          create: {
            args: Prisma.entrevistaDiagnosticoCreateArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$entrevistaDiagnosticoPayload>
          }
          createMany: {
            args: Prisma.entrevistaDiagnosticoCreateManyArgs<ExtArgs>
            result: BatchPayload
          }
          delete: {
            args: Prisma.entrevistaDiagnosticoDeleteArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$entrevistaDiagnosticoPayload>
          }
          update: {
            args: Prisma.entrevistaDiagnosticoUpdateArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$entrevistaDiagnosticoPayload>
          }
          deleteMany: {
            args: Prisma.entrevistaDiagnosticoDeleteManyArgs<ExtArgs>
            result: BatchPayload
          }
          updateMany: {
            args: Prisma.entrevistaDiagnosticoUpdateManyArgs<ExtArgs>
            result: BatchPayload
          }
          upsert: {
            args: Prisma.entrevistaDiagnosticoUpsertArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$entrevistaDiagnosticoPayload>
          }
          aggregate: {
            args: Prisma.EntrevistaDiagnosticoAggregateArgs<ExtArgs>
            result: $Utils.Optional<AggregateEntrevistaDiagnostico>
          }
          groupBy: {
            args: Prisma.entrevistaDiagnosticoGroupByArgs<ExtArgs>
            result: $Utils.Optional<EntrevistaDiagnosticoGroupByOutputType>[]
          }
          count: {
            args: Prisma.entrevistaDiagnosticoCountArgs<ExtArgs>
            result: $Utils.Optional<EntrevistaDiagnosticoCountAggregateOutputType> | number
          }
        }
      }
      assinaturadigital: {
        payload: Prisma.$assinaturadigitalPayload<ExtArgs>
        fields: Prisma.assinaturadigitalFieldRefs
        operations: {
          findUnique: {
            args: Prisma.assinaturadigitalFindUniqueArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$assinaturadigitalPayload> | null
          }
          findUniqueOrThrow: {
            args: Prisma.assinaturadigitalFindUniqueOrThrowArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$assinaturadigitalPayload>
          }
          findFirst: {
            args: Prisma.assinaturadigitalFindFirstArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$assinaturadigitalPayload> | null
          }
          findFirstOrThrow: {
            args: Prisma.assinaturadigitalFindFirstOrThrowArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$assinaturadigitalPayload>
          }
          findMany: {
            args: Prisma.assinaturadigitalFindManyArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$assinaturadigitalPayload>[]
          }
          create: {
            args: Prisma.assinaturadigitalCreateArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$assinaturadigitalPayload>
          }
          createMany: {
            args: Prisma.assinaturadigitalCreateManyArgs<ExtArgs>
            result: BatchPayload
          }
          delete: {
            args: Prisma.assinaturadigitalDeleteArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$assinaturadigitalPayload>
          }
          update: {
            args: Prisma.assinaturadigitalUpdateArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$assinaturadigitalPayload>
          }
          deleteMany: {
            args: Prisma.assinaturadigitalDeleteManyArgs<ExtArgs>
            result: BatchPayload
          }
          updateMany: {
            args: Prisma.assinaturadigitalUpdateManyArgs<ExtArgs>
            result: BatchPayload
          }
          upsert: {
            args: Prisma.assinaturadigitalUpsertArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$assinaturadigitalPayload>
          }
          aggregate: {
            args: Prisma.AssinaturadigitalAggregateArgs<ExtArgs>
            result: $Utils.Optional<AggregateAssinaturadigital>
          }
          groupBy: {
            args: Prisma.assinaturadigitalGroupByArgs<ExtArgs>
            result: $Utils.Optional<AssinaturadigitalGroupByOutputType>[]
          }
          count: {
            args: Prisma.assinaturadigitalCountArgs<ExtArgs>
            result: $Utils.Optional<AssinaturadigitalCountAggregateOutputType> | number
          }
        }
      }
      checkout: {
        payload: Prisma.$checkoutPayload<ExtArgs>
        fields: Prisma.checkoutFieldRefs
        operations: {
          findUnique: {
            args: Prisma.checkoutFindUniqueArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$checkoutPayload> | null
          }
          findUniqueOrThrow: {
            args: Prisma.checkoutFindUniqueOrThrowArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$checkoutPayload>
          }
          findFirst: {
            args: Prisma.checkoutFindFirstArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$checkoutPayload> | null
          }
          findFirstOrThrow: {
            args: Prisma.checkoutFindFirstOrThrowArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$checkoutPayload>
          }
          findMany: {
            args: Prisma.checkoutFindManyArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$checkoutPayload>[]
          }
          create: {
            args: Prisma.checkoutCreateArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$checkoutPayload>
          }
          createMany: {
            args: Prisma.checkoutCreateManyArgs<ExtArgs>
            result: BatchPayload
          }
          delete: {
            args: Prisma.checkoutDeleteArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$checkoutPayload>
          }
          update: {
            args: Prisma.checkoutUpdateArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$checkoutPayload>
          }
          deleteMany: {
            args: Prisma.checkoutDeleteManyArgs<ExtArgs>
            result: BatchPayload
          }
          updateMany: {
            args: Prisma.checkoutUpdateManyArgs<ExtArgs>
            result: BatchPayload
          }
          upsert: {
            args: Prisma.checkoutUpsertArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$checkoutPayload>
          }
          aggregate: {
            args: Prisma.CheckoutAggregateArgs<ExtArgs>
            result: $Utils.Optional<AggregateCheckout>
          }
          groupBy: {
            args: Prisma.checkoutGroupByArgs<ExtArgs>
            result: $Utils.Optional<CheckoutGroupByOutputType>[]
          }
          count: {
            args: Prisma.checkoutCountArgs<ExtArgs>
            result: $Utils.Optional<CheckoutCountAggregateOutputType> | number
          }
        }
      }
      recordings: {
        payload: Prisma.$recordingsPayload<ExtArgs>
        fields: Prisma.recordingsFieldRefs
        operations: {
          findUnique: {
            args: Prisma.recordingsFindUniqueArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$recordingsPayload> | null
          }
          findUniqueOrThrow: {
            args: Prisma.recordingsFindUniqueOrThrowArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$recordingsPayload>
          }
          findFirst: {
            args: Prisma.recordingsFindFirstArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$recordingsPayload> | null
          }
          findFirstOrThrow: {
            args: Prisma.recordingsFindFirstOrThrowArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$recordingsPayload>
          }
          findMany: {
            args: Prisma.recordingsFindManyArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$recordingsPayload>[]
          }
          create: {
            args: Prisma.recordingsCreateArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$recordingsPayload>
          }
          createMany: {
            args: Prisma.recordingsCreateManyArgs<ExtArgs>
            result: BatchPayload
          }
          delete: {
            args: Prisma.recordingsDeleteArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$recordingsPayload>
          }
          update: {
            args: Prisma.recordingsUpdateArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$recordingsPayload>
          }
          deleteMany: {
            args: Prisma.recordingsDeleteManyArgs<ExtArgs>
            result: BatchPayload
          }
          updateMany: {
            args: Prisma.recordingsUpdateManyArgs<ExtArgs>
            result: BatchPayload
          }
          upsert: {
            args: Prisma.recordingsUpsertArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$recordingsPayload>
          }
          aggregate: {
            args: Prisma.RecordingsAggregateArgs<ExtArgs>
            result: $Utils.Optional<AggregateRecordings>
          }
          groupBy: {
            args: Prisma.recordingsGroupByArgs<ExtArgs>
            result: $Utils.Optional<RecordingsGroupByOutputType>[]
          }
          count: {
            args: Prisma.recordingsCountArgs<ExtArgs>
            result: $Utils.Optional<RecordingsCountAggregateOutputType> | number
          }
        }
      }
      cnae: {
        payload: Prisma.$cnaePayload<ExtArgs>
        fields: Prisma.cnaeFieldRefs
        operations: {
          findUnique: {
            args: Prisma.cnaeFindUniqueArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$cnaePayload> | null
          }
          findUniqueOrThrow: {
            args: Prisma.cnaeFindUniqueOrThrowArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$cnaePayload>
          }
          findFirst: {
            args: Prisma.cnaeFindFirstArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$cnaePayload> | null
          }
          findFirstOrThrow: {
            args: Prisma.cnaeFindFirstOrThrowArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$cnaePayload>
          }
          findMany: {
            args: Prisma.cnaeFindManyArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$cnaePayload>[]
          }
          create: {
            args: Prisma.cnaeCreateArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$cnaePayload>
          }
          createMany: {
            args: Prisma.cnaeCreateManyArgs<ExtArgs>
            result: BatchPayload
          }
          delete: {
            args: Prisma.cnaeDeleteArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$cnaePayload>
          }
          update: {
            args: Prisma.cnaeUpdateArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$cnaePayload>
          }
          deleteMany: {
            args: Prisma.cnaeDeleteManyArgs<ExtArgs>
            result: BatchPayload
          }
          updateMany: {
            args: Prisma.cnaeUpdateManyArgs<ExtArgs>
            result: BatchPayload
          }
          upsert: {
            args: Prisma.cnaeUpsertArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$cnaePayload>
          }
          aggregate: {
            args: Prisma.CnaeAggregateArgs<ExtArgs>
            result: $Utils.Optional<AggregateCnae>
          }
          groupBy: {
            args: Prisma.cnaeGroupByArgs<ExtArgs>
            result: $Utils.Optional<CnaeGroupByOutputType>[]
          }
          count: {
            args: Prisma.cnaeCountArgs<ExtArgs>
            result: $Utils.Optional<CnaeCountAggregateOutputType> | number
          }
        }
      }
      visitasreceived: {
        payload: Prisma.$visitasreceivedPayload<ExtArgs>
        fields: Prisma.visitasreceivedFieldRefs
        operations: {
          findUnique: {
            args: Prisma.visitasreceivedFindUniqueArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$visitasreceivedPayload> | null
          }
          findUniqueOrThrow: {
            args: Prisma.visitasreceivedFindUniqueOrThrowArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$visitasreceivedPayload>
          }
          findFirst: {
            args: Prisma.visitasreceivedFindFirstArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$visitasreceivedPayload> | null
          }
          findFirstOrThrow: {
            args: Prisma.visitasreceivedFindFirstOrThrowArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$visitasreceivedPayload>
          }
          findMany: {
            args: Prisma.visitasreceivedFindManyArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$visitasreceivedPayload>[]
          }
          create: {
            args: Prisma.visitasreceivedCreateArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$visitasreceivedPayload>
          }
          createMany: {
            args: Prisma.visitasreceivedCreateManyArgs<ExtArgs>
            result: BatchPayload
          }
          delete: {
            args: Prisma.visitasreceivedDeleteArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$visitasreceivedPayload>
          }
          update: {
            args: Prisma.visitasreceivedUpdateArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$visitasreceivedPayload>
          }
          deleteMany: {
            args: Prisma.visitasreceivedDeleteManyArgs<ExtArgs>
            result: BatchPayload
          }
          updateMany: {
            args: Prisma.visitasreceivedUpdateManyArgs<ExtArgs>
            result: BatchPayload
          }
          upsert: {
            args: Prisma.visitasreceivedUpsertArgs<ExtArgs>
            result: $Utils.PayloadToResult<Prisma.$visitasreceivedPayload>
          }
          aggregate: {
            args: Prisma.VisitasreceivedAggregateArgs<ExtArgs>
            result: $Utils.Optional<AggregateVisitasreceived>
          }
          groupBy: {
            args: Prisma.visitasreceivedGroupByArgs<ExtArgs>
            result: $Utils.Optional<VisitasreceivedGroupByOutputType>[]
          }
          count: {
            args: Prisma.visitasreceivedCountArgs<ExtArgs>
            result: $Utils.Optional<VisitasreceivedCountAggregateOutputType> | 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
     * ```
     * // Shorthand for `emit: 'stdout'`
     * log: ['query', 'info', 'warn', 'error']
     * 
     * // Emit as events only
     * log: [
     *   { emit: 'event', level: 'query' },
     *   { emit: 'event', level: 'info' },
     *   { emit: 'event', level: 'warn' }
     *   { emit: 'event', level: 'error' }
     * ]
     * 
     * / Emit as events and log to stdout
     * og: [
     *  { emit: 'stdout', level: 'query' },
     *  { emit: 'stdout', level: 'info' },
     *  { emit: 'stdout', level: 'warn' }
     *  { emit: 'stdout', level: 'error' }
     * 
     * ```
     * Read more in our [docs](https://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
    }
    /**
     * Global configuration for omitting model fields by default.
     * 
     * @example
     * ```
     * const prisma = new PrismaClient({
     *   omit: {
     *     user: {
     *       password: true
     *     }
     *   }
     * })
     * ```
     */
    omit?: Prisma.GlobalOmitConfig
  }
  export type GlobalOmitConfig = {
    user?: userOmit
    forgetpassword?: forgetpasswordOmit
    profile?: profileOmit
    visita?: visitaOmit
    checkinvisita?: checkinvisitaOmit
    cadastropf?: cadastropfOmit
    cadastropj?: cadastropjOmit
    planoacao?: planoacaoOmit
    entrevistaDiagnostico?: entrevistaDiagnosticoOmit
    assinaturadigital?: assinaturadigitalOmit
    checkout?: checkoutOmit
    recordings?: recordingsOmit
    cnae?: cnaeOmit
    visitasreceived?: visitasreceivedOmit
  }

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

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

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

  export type GetEvents<T extends any[]> = T extends Array<LogLevel | LogDefinition>
    ? GetLogType<T[number]>
    : never;

  export type QueryEvent = {
    timestamp: Date
    query: string
    params: string
    duration: number
    target: string
  }

  export type LogEvent = {
    timestamp: Date
    message: string
    target: string
  }
  /* End Types for Logging */


  export type PrismaAction =
    | 'findUnique'
    | 'findUniqueOrThrow'
    | 'findMany'
    | 'findFirst'
    | 'findFirstOrThrow'
    | 'create'
    | 'createMany'
    | 'createManyAndReturn'
    | 'update'
    | 'updateMany'
    | 'updateManyAndReturn'
    | 'upsert'
    | 'delete'
    | 'deleteMany'
    | 'executeRaw'
    | 'queryRaw'
    | 'aggregate'
    | 'count'
    | 'runCommandRaw'
    | 'findRaw'
    | 'groupBy'

  // tested in getLogLevel.test.ts
  export function getLogLevel(log: Array<LogLevel | LogDefinition>): LogLevel | undefined;

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

  export type Datasource = {
    url?: string
  }

  /**
   * Count Types
   */


  /**
   * Count Type UserCountOutputType
   */

  export type UserCountOutputType = {
    forgetpassword: number
  }

  export type UserCountOutputTypeSelect<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    forgetpassword?: boolean | UserCountOutputTypeCountForgetpasswordArgs
  }

  // Custom InputTypes
  /**
   * UserCountOutputType without action
   */
  export type UserCountOutputTypeDefaultArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the UserCountOutputType
     */
    select?: UserCountOutputTypeSelect<ExtArgs> | null
  }

  /**
   * UserCountOutputType without action
   */
  export type UserCountOutputTypeCountForgetpasswordArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    where?: forgetpasswordWhereInput
  }


  /**
   * Count Type ProfileCountOutputType
   */

  export type ProfileCountOutputType = {
    user: number
  }

  export type ProfileCountOutputTypeSelect<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    user?: boolean | ProfileCountOutputTypeCountUserArgs
  }

  // Custom InputTypes
  /**
   * ProfileCountOutputType without action
   */
  export type ProfileCountOutputTypeDefaultArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the ProfileCountOutputType
     */
    select?: ProfileCountOutputTypeSelect<ExtArgs> | null
  }

  /**
   * ProfileCountOutputType without action
   */
  export type ProfileCountOutputTypeCountUserArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    where?: userWhereInput
  }


  /**
   * Count Type CheckinvisitaCountOutputType
   */

  export type CheckinvisitaCountOutputType = {
    entrevistaDiagnostico: number
    cadastropf: number
    cadastropj: number
    planoacao: number
    assinaturadigital: number
    checkout: number
    recordings: number
  }

  export type CheckinvisitaCountOutputTypeSelect<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    entrevistaDiagnostico?: boolean | CheckinvisitaCountOutputTypeCountEntrevistaDiagnosticoArgs
    cadastropf?: boolean | CheckinvisitaCountOutputTypeCountCadastropfArgs
    cadastropj?: boolean | CheckinvisitaCountOutputTypeCountCadastropjArgs
    planoacao?: boolean | CheckinvisitaCountOutputTypeCountPlanoacaoArgs
    assinaturadigital?: boolean | CheckinvisitaCountOutputTypeCountAssinaturadigitalArgs
    checkout?: boolean | CheckinvisitaCountOutputTypeCountCheckoutArgs
    recordings?: boolean | CheckinvisitaCountOutputTypeCountRecordingsArgs
  }

  // Custom InputTypes
  /**
   * CheckinvisitaCountOutputType without action
   */
  export type CheckinvisitaCountOutputTypeDefaultArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the CheckinvisitaCountOutputType
     */
    select?: CheckinvisitaCountOutputTypeSelect<ExtArgs> | null
  }

  /**
   * CheckinvisitaCountOutputType without action
   */
  export type CheckinvisitaCountOutputTypeCountEntrevistaDiagnosticoArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    where?: entrevistaDiagnosticoWhereInput
  }

  /**
   * CheckinvisitaCountOutputType without action
   */
  export type CheckinvisitaCountOutputTypeCountCadastropfArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    where?: cadastropfWhereInput
  }

  /**
   * CheckinvisitaCountOutputType without action
   */
  export type CheckinvisitaCountOutputTypeCountCadastropjArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    where?: cadastropjWhereInput
  }

  /**
   * CheckinvisitaCountOutputType without action
   */
  export type CheckinvisitaCountOutputTypeCountPlanoacaoArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    where?: planoacaoWhereInput
  }

  /**
   * CheckinvisitaCountOutputType without action
   */
  export type CheckinvisitaCountOutputTypeCountAssinaturadigitalArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    where?: assinaturadigitalWhereInput
  }

  /**
   * CheckinvisitaCountOutputType without action
   */
  export type CheckinvisitaCountOutputTypeCountCheckoutArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    where?: checkoutWhereInput
  }

  /**
   * CheckinvisitaCountOutputType without action
   */
  export type CheckinvisitaCountOutputTypeCountRecordingsArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    where?: recordingsWhereInput
  }


  /**
   * Models
   */

  /**
   * Model user
   */

  export type AggregateUser = {
    _count: UserCountAggregateOutputType | null
    _min: UserMinAggregateOutputType | null
    _max: UserMaxAggregateOutputType | null
  }

  export type UserMinAggregateOutputType = {
    id: string | null
    name: string | null
    login: string | null
    password: string | null
    email: string | null
    cpf: string | null
    sexo: $Enums.UserSexo | null
    datanasc: string | null
    escolaridade: string | null
    possuinomesocial: boolean | null
    nomesocial: string | null
    empresa: string | null
    profileImage: string | null
    profileId: string | null
    active: boolean | null
    createdBy: string | null
    createdAt: Date | null
    updatedAt: Date | null
  }

  export type UserMaxAggregateOutputType = {
    id: string | null
    name: string | null
    login: string | null
    password: string | null
    email: string | null
    cpf: string | null
    sexo: $Enums.UserSexo | null
    datanasc: string | null
    escolaridade: string | null
    possuinomesocial: boolean | null
    nomesocial: string | null
    empresa: string | null
    profileImage: string | null
    profileId: string | null
    active: boolean | null
    createdBy: string | null
    createdAt: Date | null
    updatedAt: Date | null
  }

  export type UserCountAggregateOutputType = {
    id: number
    name: number
    login: number
    password: number
    email: number
    cpf: number
    sexo: number
    datanasc: number
    escolaridade: number
    possuinomesocial: number
    nomesocial: number
    empresa: number
    profileImage: number
    profileId: number
    active: number
    createdBy: number
    createdAt: number
    updatedAt: number
    _all: number
  }


  export type UserMinAggregateInputType = {
    id?: true
    name?: true
    login?: true
    password?: true
    email?: true
    cpf?: true
    sexo?: true
    datanasc?: true
    escolaridade?: true
    possuinomesocial?: true
    nomesocial?: true
    empresa?: true
    profileImage?: true
    profileId?: true
    active?: true
    createdBy?: true
    createdAt?: true
    updatedAt?: true
  }

  export type UserMaxAggregateInputType = {
    id?: true
    name?: true
    login?: true
    password?: true
    email?: true
    cpf?: true
    sexo?: true
    datanasc?: true
    escolaridade?: true
    possuinomesocial?: true
    nomesocial?: true
    empresa?: true
    profileImage?: true
    profileId?: true
    active?: true
    createdBy?: true
    createdAt?: true
    updatedAt?: true
  }

  export type UserCountAggregateInputType = {
    id?: true
    name?: true
    login?: true
    password?: true
    email?: true
    cpf?: true
    sexo?: true
    datanasc?: true
    escolaridade?: true
    possuinomesocial?: true
    nomesocial?: true
    empresa?: true
    profileImage?: true
    profileId?: true
    active?: true
    createdBy?: true
    createdAt?: true
    updatedAt?: true
    _all?: true
  }

  export type UserAggregateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * 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<T extends UserAggregateArgs> = {
        [P in keyof T & keyof AggregateUser]: P extends '_count' | 'count'
      ? T[P] extends true
        ? number
        : GetScalarType<T[P], AggregateUser[P]>
      : GetScalarType<T[P], AggregateUser[P]>
  }




  export type userGroupByArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    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
    name: string
    login: string
    password: string
    email: string
    cpf: string
    sexo: $Enums.UserSexo
    datanasc: string | null
    escolaridade: string | null
    possuinomesocial: boolean
    nomesocial: string | null
    empresa: string | null
    profileImage: string
    profileId: string
    active: boolean
    createdBy: string | null
    createdAt: Date
    updatedAt: Date
    _count: UserCountAggregateOutputType | null
    _min: UserMinAggregateOutputType | null
    _max: UserMaxAggregateOutputType | null
  }

  type GetUserGroupByPayload<T extends userGroupByArgs> = Prisma.PrismaPromise<
    Array<
      PickEnumerable<UserGroupByOutputType, T['by']> &
        {
          [P in ((keyof T) & (keyof UserGroupByOutputType))]: P extends '_count'
            ? T[P] extends boolean
              ? number
              : GetScalarType<T[P], UserGroupByOutputType[P]>
            : GetScalarType<T[P], UserGroupByOutputType[P]>
        }
      >
    >


  export type userSelect<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetSelect<{
    id?: boolean
    name?: boolean
    login?: boolean
    password?: boolean
    email?: boolean
    cpf?: boolean
    sexo?: boolean
    datanasc?: boolean
    escolaridade?: boolean
    possuinomesocial?: boolean
    nomesocial?: boolean
    empresa?: boolean
    profileImage?: boolean
    profileId?: boolean
    active?: boolean
    createdBy?: boolean
    createdAt?: boolean
    updatedAt?: boolean
    profile?: boolean | profileDefaultArgs<ExtArgs>
    forgetpassword?: boolean | user$forgetpasswordArgs<ExtArgs>
    _count?: boolean | UserCountOutputTypeDefaultArgs<ExtArgs>
  }, ExtArgs["result"]["user"]>



  export type userSelectScalar = {
    id?: boolean
    name?: boolean
    login?: boolean
    password?: boolean
    email?: boolean
    cpf?: boolean
    sexo?: boolean
    datanasc?: boolean
    escolaridade?: boolean
    possuinomesocial?: boolean
    nomesocial?: boolean
    empresa?: boolean
    profileImage?: boolean
    profileId?: boolean
    active?: boolean
    createdBy?: boolean
    createdAt?: boolean
    updatedAt?: boolean
  }

  export type userOmit<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetOmit<"id" | "name" | "login" | "password" | "email" | "cpf" | "sexo" | "datanasc" | "escolaridade" | "possuinomesocial" | "nomesocial" | "empresa" | "profileImage" | "profileId" | "active" | "createdBy" | "createdAt" | "updatedAt", ExtArgs["result"]["user"]>
  export type userInclude<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    profile?: boolean | profileDefaultArgs<ExtArgs>
    forgetpassword?: boolean | user$forgetpasswordArgs<ExtArgs>
    _count?: boolean | UserCountOutputTypeDefaultArgs<ExtArgs>
  }

  export type $userPayload<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    name: "user"
    objects: {
      profile: Prisma.$profilePayload<ExtArgs>
      forgetpassword: Prisma.$forgetpasswordPayload<ExtArgs>[]
    }
    scalars: $Extensions.GetPayloadResult<{
      id: string
      name: string
      login: string
      password: string
      email: string
      cpf: string
      sexo: $Enums.UserSexo
      datanasc: string | null
      escolaridade: string | null
      possuinomesocial: boolean
      nomesocial: string | null
      empresa: string | null
      profileImage: string
      profileId: string
      active: boolean
      createdBy: string | null
      createdAt: Date
      updatedAt: Date
    }, ExtArgs["result"]["user"]>
    composites: {}
  }

  type userGetPayload<S extends boolean | null | undefined | userDefaultArgs> = $Result.GetResult<Prisma.$userPayload, S>

  type userCountArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> =
    Omit<userFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
      select?: UserCountAggregateInputType | true
    }

  export interface userDelegate<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> {
    [K: symbol]: { types: Prisma.TypeMap<ExtArgs>['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<T extends userFindUniqueArgs>(args: SelectSubset<T, userFindUniqueArgs<ExtArgs>>): Prisma__userClient<$Result.GetResult<Prisma.$userPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>

    /**
     * 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<T extends userFindUniqueOrThrowArgs>(args: SelectSubset<T, userFindUniqueOrThrowArgs<ExtArgs>>): Prisma__userClient<$Result.GetResult<Prisma.$userPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * 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<T extends userFindFirstArgs>(args?: SelectSubset<T, userFindFirstArgs<ExtArgs>>): Prisma__userClient<$Result.GetResult<Prisma.$userPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>

    /**
     * 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<T extends userFindFirstOrThrowArgs>(args?: SelectSubset<T, userFindFirstOrThrowArgs<ExtArgs>>): Prisma__userClient<$Result.GetResult<Prisma.$userPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * 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<T extends userFindManyArgs>(args?: SelectSubset<T, userFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$userPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>

    /**
     * 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<T extends userCreateArgs>(args: SelectSubset<T, userCreateArgs<ExtArgs>>): Prisma__userClient<$Result.GetResult<Prisma.$userPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * 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<T extends userCreateManyArgs>(args?: SelectSubset<T, userCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * 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<T extends userDeleteArgs>(args: SelectSubset<T, userDeleteArgs<ExtArgs>>): Prisma__userClient<$Result.GetResult<Prisma.$userPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * 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<T extends userUpdateArgs>(args: SelectSubset<T, userUpdateArgs<ExtArgs>>): Prisma__userClient<$Result.GetResult<Prisma.$userPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * 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<T extends userDeleteManyArgs>(args?: SelectSubset<T, userDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * 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<T extends userUpdateManyArgs>(args: SelectSubset<T, userUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * 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<T extends userUpsertArgs>(args: SelectSubset<T, userUpsertArgs<ExtArgs>>): Prisma__userClient<$Result.GetResult<Prisma.$userPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>


    /**
     * 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<T extends userCountArgs>(
      args?: Subset<T, userCountArgs>,
    ): Prisma.PrismaPromise<
      T extends $Utils.Record<'select', any>
        ? T['select'] extends true
          ? number
          : GetScalarType<T['select'], UserCountAggregateOutputType>
        : 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<T extends UserAggregateArgs>(args: Subset<T, UserAggregateArgs>): Prisma.PrismaPromise<GetUserAggregateType<T>>

    /**
     * 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<T>>,
        Extends<'take', Keys<T>>
      >,
      OrderByArg extends True extends HasSelectOrTake
        ? { orderBy: userGroupByArgs['orderBy'] }
        : { orderBy?: userGroupByArgs['orderBy'] },
      OrderFields extends ExcludeUnderscoreKeys<Keys<MaybeTupleToUnion<T['orderBy']>>>,
      ByFields extends MaybeTupleToUnion<T['by']>,
      ByValid extends Has<ByFields, OrderFields>,
      HavingFields extends GetHavingFields<T['having']>,
      HavingValid extends Has<ByFields, HavingFields>,
      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<T>
      ? 'orderBy' extends Keys<T>
        ? 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<T>
      ? 'orderBy' extends Keys<T>
        ? 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<T, userGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetUserGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>
  /**
   * 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<T, Null = never, ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
    readonly [Symbol.toStringTag]: "PrismaPromise"
    profile<T extends profileDefaultArgs<ExtArgs> = {}>(args?: Subset<T, profileDefaultArgs<ExtArgs>>): Prisma__profileClient<$Result.GetResult<Prisma.$profilePayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions>
    forgetpassword<T extends user$forgetpasswordArgs<ExtArgs> = {}>(args?: Subset<T, user$forgetpasswordArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$forgetpasswordPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | 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<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): $Utils.JsPromise<TResult1 | TResult2>
    /**
     * 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<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): $Utils.JsPromise<T | TResult>
    /**
     * 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<T>
  }




  /**
   * Fields of the user model
   */
  interface userFieldRefs {
    readonly id: FieldRef<"user", 'String'>
    readonly name: FieldRef<"user", 'String'>
    readonly login: FieldRef<"user", 'String'>
    readonly password: FieldRef<"user", 'String'>
    readonly email: FieldRef<"user", 'String'>
    readonly cpf: FieldRef<"user", 'String'>
    readonly sexo: FieldRef<"user", 'UserSexo'>
    readonly datanasc: FieldRef<"user", 'String'>
    readonly escolaridade: FieldRef<"user", 'String'>
    readonly possuinomesocial: FieldRef<"user", 'Boolean'>
    readonly nomesocial: FieldRef<"user", 'String'>
    readonly empresa: FieldRef<"user", 'String'>
    readonly profileImage: FieldRef<"user", 'String'>
    readonly profileId: FieldRef<"user", 'String'>
    readonly active: FieldRef<"user", 'Boolean'>
    readonly createdBy: FieldRef<"user", 'String'>
    readonly createdAt: FieldRef<"user", 'DateTime'>
    readonly updatedAt: FieldRef<"user", 'DateTime'>
  }
    

  // Custom InputTypes
  /**
   * user findUnique
   */
  export type userFindUniqueArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the user
     */
    select?: userSelect<ExtArgs> | null
    /**
     * Omit specific fields from the user
     */
    omit?: userOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: userInclude<ExtArgs> | null
    /**
     * Filter, which user to fetch.
     */
    where: userWhereUniqueInput
  }

  /**
   * user findUniqueOrThrow
   */
  export type userFindUniqueOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the user
     */
    select?: userSelect<ExtArgs> | null
    /**
     * Omit specific fields from the user
     */
    omit?: userOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: userInclude<ExtArgs> | null
    /**
     * Filter, which user to fetch.
     */
    where: userWhereUniqueInput
  }

  /**
   * user findFirst
   */
  export type userFindFirstArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the user
     */
    select?: userSelect<ExtArgs> | null
    /**
     * Omit specific fields from the user
     */
    omit?: userOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: userInclude<ExtArgs> | 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<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the user
     */
    select?: userSelect<ExtArgs> | null
    /**
     * Omit specific fields from the user
     */
    omit?: userOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: userInclude<ExtArgs> | 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<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the user
     */
    select?: userSelect<ExtArgs> | null
    /**
     * Omit specific fields from the user
     */
    omit?: userOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: userInclude<ExtArgs> | 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<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the user
     */
    select?: userSelect<ExtArgs> | null
    /**
     * Omit specific fields from the user
     */
    omit?: userOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: userInclude<ExtArgs> | null
    /**
     * The data needed to create a user.
     */
    data: XOR<userCreateInput, userUncheckedCreateInput>
  }

  /**
   * user createMany
   */
  export type userCreateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * The data used to create many users.
     */
    data: userCreateManyInput | userCreateManyInput[]
    skipDuplicates?: boolean
  }

  /**
   * user update
   */
  export type userUpdateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the user
     */
    select?: userSelect<ExtArgs> | null
    /**
     * Omit specific fields from the user
     */
    omit?: userOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: userInclude<ExtArgs> | null
    /**
     * The data needed to update a user.
     */
    data: XOR<userUpdateInput, userUncheckedUpdateInput>
    /**
     * Choose, which user to update.
     */
    where: userWhereUniqueInput
  }

  /**
   * user updateMany
   */
  export type userUpdateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * The data used to update users.
     */
    data: XOR<userUpdateManyMutationInput, userUncheckedUpdateManyInput>
    /**
     * Filter which users to update
     */
    where?: userWhereInput
    /**
     * Limit how many users to update.
     */
    limit?: number
  }

  /**
   * user upsert
   */
  export type userUpsertArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the user
     */
    select?: userSelect<ExtArgs> | null
    /**
     * Omit specific fields from the user
     */
    omit?: userOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: userInclude<ExtArgs> | 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<userCreateInput, userUncheckedCreateInput>
    /**
     * In case the user was found with the provided `where` argument, update it with this data.
     */
    update: XOR<userUpdateInput, userUncheckedUpdateInput>
  }

  /**
   * user delete
   */
  export type userDeleteArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the user
     */
    select?: userSelect<ExtArgs> | null
    /**
     * Omit specific fields from the user
     */
    omit?: userOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: userInclude<ExtArgs> | null
    /**
     * Filter which user to delete.
     */
    where: userWhereUniqueInput
  }

  /**
   * user deleteMany
   */
  export type userDeleteManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Filter which users to delete
     */
    where?: userWhereInput
    /**
     * Limit how many users to delete.
     */
    limit?: number
  }

  /**
   * user.forgetpassword
   */
  export type user$forgetpasswordArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the forgetpassword
     */
    select?: forgetpasswordSelect<ExtArgs> | null
    /**
     * Omit specific fields from the forgetpassword
     */
    omit?: forgetpasswordOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: forgetpasswordInclude<ExtArgs> | null
    where?: forgetpasswordWhereInput
    orderBy?: forgetpasswordOrderByWithRelationInput | forgetpasswordOrderByWithRelationInput[]
    cursor?: forgetpasswordWhereUniqueInput
    take?: number
    skip?: number
    distinct?: ForgetpasswordScalarFieldEnum | ForgetpasswordScalarFieldEnum[]
  }

  /**
   * user without action
   */
  export type userDefaultArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the user
     */
    select?: userSelect<ExtArgs> | null
    /**
     * Omit specific fields from the user
     */
    omit?: userOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: userInclude<ExtArgs> | null
  }


  /**
   * Model forgetpassword
   */

  export type AggregateForgetpassword = {
    _count: ForgetpasswordCountAggregateOutputType | null
    _min: ForgetpasswordMinAggregateOutputType | null
    _max: ForgetpasswordMaxAggregateOutputType | null
  }

  export type ForgetpasswordMinAggregateOutputType = {
    id: string | null
    userId: string | null
    token: string | null
    expiration: Date | null
    active: boolean | null
    createdAt: Date | null
    updatedAt: Date | null
  }

  export type ForgetpasswordMaxAggregateOutputType = {
    id: string | null
    userId: string | null
    token: string | null
    expiration: Date | null
    active: boolean | null
    createdAt: Date | null
    updatedAt: Date | null
  }

  export type ForgetpasswordCountAggregateOutputType = {
    id: number
    userId: number
    token: number
    expiration: number
    active: number
    createdAt: number
    updatedAt: number
    _all: number
  }


  export type ForgetpasswordMinAggregateInputType = {
    id?: true
    userId?: true
    token?: true
    expiration?: true
    active?: true
    createdAt?: true
    updatedAt?: true
  }

  export type ForgetpasswordMaxAggregateInputType = {
    id?: true
    userId?: true
    token?: true
    expiration?: true
    active?: true
    createdAt?: true
    updatedAt?: true
  }

  export type ForgetpasswordCountAggregateInputType = {
    id?: true
    userId?: true
    token?: true
    expiration?: true
    active?: true
    createdAt?: true
    updatedAt?: true
    _all?: true
  }

  export type ForgetpasswordAggregateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Filter which forgetpassword to aggregate.
     */
    where?: forgetpasswordWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of forgetpasswords to fetch.
     */
    orderBy?: forgetpasswordOrderByWithRelationInput | forgetpasswordOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the start position
     */
    cursor?: forgetpasswordWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` forgetpasswords 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` forgetpasswords.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Count returned forgetpasswords
    **/
    _count?: true | ForgetpasswordCountAggregateInputType
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Select which fields to find the minimum value
    **/
    _min?: ForgetpasswordMinAggregateInputType
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Select which fields to find the maximum value
    **/
    _max?: ForgetpasswordMaxAggregateInputType
  }

  export type GetForgetpasswordAggregateType<T extends ForgetpasswordAggregateArgs> = {
        [P in keyof T & keyof AggregateForgetpassword]: P extends '_count' | 'count'
      ? T[P] extends true
        ? number
        : GetScalarType<T[P], AggregateForgetpassword[P]>
      : GetScalarType<T[P], AggregateForgetpassword[P]>
  }




  export type forgetpasswordGroupByArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    where?: forgetpasswordWhereInput
    orderBy?: forgetpasswordOrderByWithAggregationInput | forgetpasswordOrderByWithAggregationInput[]
    by: ForgetpasswordScalarFieldEnum[] | ForgetpasswordScalarFieldEnum
    having?: forgetpasswordScalarWhereWithAggregatesInput
    take?: number
    skip?: number
    _count?: ForgetpasswordCountAggregateInputType | true
    _min?: ForgetpasswordMinAggregateInputType
    _max?: ForgetpasswordMaxAggregateInputType
  }

  export type ForgetpasswordGroupByOutputType = {
    id: string
    userId: string
    token: string
    expiration: Date
    active: boolean
    createdAt: Date
    updatedAt: Date
    _count: ForgetpasswordCountAggregateOutputType | null
    _min: ForgetpasswordMinAggregateOutputType | null
    _max: ForgetpasswordMaxAggregateOutputType | null
  }

  type GetForgetpasswordGroupByPayload<T extends forgetpasswordGroupByArgs> = Prisma.PrismaPromise<
    Array<
      PickEnumerable<ForgetpasswordGroupByOutputType, T['by']> &
        {
          [P in ((keyof T) & (keyof ForgetpasswordGroupByOutputType))]: P extends '_count'
            ? T[P] extends boolean
              ? number
              : GetScalarType<T[P], ForgetpasswordGroupByOutputType[P]>
            : GetScalarType<T[P], ForgetpasswordGroupByOutputType[P]>
        }
      >
    >


  export type forgetpasswordSelect<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetSelect<{
    id?: boolean
    userId?: boolean
    token?: boolean
    expiration?: boolean
    active?: boolean
    createdAt?: boolean
    updatedAt?: boolean
    user?: boolean | userDefaultArgs<ExtArgs>
  }, ExtArgs["result"]["forgetpassword"]>



  export type forgetpasswordSelectScalar = {
    id?: boolean
    userId?: boolean
    token?: boolean
    expiration?: boolean
    active?: boolean
    createdAt?: boolean
    updatedAt?: boolean
  }

  export type forgetpasswordOmit<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetOmit<"id" | "userId" | "token" | "expiration" | "active" | "createdAt" | "updatedAt", ExtArgs["result"]["forgetpassword"]>
  export type forgetpasswordInclude<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    user?: boolean | userDefaultArgs<ExtArgs>
  }

  export type $forgetpasswordPayload<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    name: "forgetpassword"
    objects: {
      user: Prisma.$userPayload<ExtArgs>
    }
    scalars: $Extensions.GetPayloadResult<{
      id: string
      userId: string
      token: string
      expiration: Date
      active: boolean
      createdAt: Date
      updatedAt: Date
    }, ExtArgs["result"]["forgetpassword"]>
    composites: {}
  }

  type forgetpasswordGetPayload<S extends boolean | null | undefined | forgetpasswordDefaultArgs> = $Result.GetResult<Prisma.$forgetpasswordPayload, S>

  type forgetpasswordCountArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> =
    Omit<forgetpasswordFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
      select?: ForgetpasswordCountAggregateInputType | true
    }

  export interface forgetpasswordDelegate<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> {
    [K: symbol]: { types: Prisma.TypeMap<ExtArgs>['model']['forgetpassword'], meta: { name: 'forgetpassword' } }
    /**
     * Find zero or one Forgetpassword that matches the filter.
     * @param {forgetpasswordFindUniqueArgs} args - Arguments to find a Forgetpassword
     * @example
     * // Get one Forgetpassword
     * const forgetpassword = await prisma.forgetpassword.findUnique({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUnique<T extends forgetpasswordFindUniqueArgs>(args: SelectSubset<T, forgetpasswordFindUniqueArgs<ExtArgs>>): Prisma__forgetpasswordClient<$Result.GetResult<Prisma.$forgetpasswordPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>

    /**
     * Find one Forgetpassword that matches the filter or throw an error with `error.code='P2025'`
     * if no matches were found.
     * @param {forgetpasswordFindUniqueOrThrowArgs} args - Arguments to find a Forgetpassword
     * @example
     * // Get one Forgetpassword
     * const forgetpassword = await prisma.forgetpassword.findUniqueOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUniqueOrThrow<T extends forgetpasswordFindUniqueOrThrowArgs>(args: SelectSubset<T, forgetpasswordFindUniqueOrThrowArgs<ExtArgs>>): Prisma__forgetpasswordClient<$Result.GetResult<Prisma.$forgetpasswordPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Find the first Forgetpassword 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 {forgetpasswordFindFirstArgs} args - Arguments to find a Forgetpassword
     * @example
     * // Get one Forgetpassword
     * const forgetpassword = await prisma.forgetpassword.findFirst({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirst<T extends forgetpasswordFindFirstArgs>(args?: SelectSubset<T, forgetpasswordFindFirstArgs<ExtArgs>>): Prisma__forgetpasswordClient<$Result.GetResult<Prisma.$forgetpasswordPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>

    /**
     * Find the first Forgetpassword 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 {forgetpasswordFindFirstOrThrowArgs} args - Arguments to find a Forgetpassword
     * @example
     * // Get one Forgetpassword
     * const forgetpassword = await prisma.forgetpassword.findFirstOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirstOrThrow<T extends forgetpasswordFindFirstOrThrowArgs>(args?: SelectSubset<T, forgetpasswordFindFirstOrThrowArgs<ExtArgs>>): Prisma__forgetpasswordClient<$Result.GetResult<Prisma.$forgetpasswordPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Find zero or more Forgetpasswords 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 {forgetpasswordFindManyArgs} args - Arguments to filter and select certain fields only.
     * @example
     * // Get all Forgetpasswords
     * const forgetpasswords = await prisma.forgetpassword.findMany()
     * 
     * // Get first 10 Forgetpasswords
     * const forgetpasswords = await prisma.forgetpassword.findMany({ take: 10 })
     * 
     * // Only select the `id`
     * const forgetpasswordWithIdOnly = await prisma.forgetpassword.findMany({ select: { id: true } })
     * 
     */
    findMany<T extends forgetpasswordFindManyArgs>(args?: SelectSubset<T, forgetpasswordFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$forgetpasswordPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>

    /**
     * Create a Forgetpassword.
     * @param {forgetpasswordCreateArgs} args - Arguments to create a Forgetpassword.
     * @example
     * // Create one Forgetpassword
     * const Forgetpassword = await prisma.forgetpassword.create({
     *   data: {
     *     // ... data to create a Forgetpassword
     *   }
     * })
     * 
     */
    create<T extends forgetpasswordCreateArgs>(args: SelectSubset<T, forgetpasswordCreateArgs<ExtArgs>>): Prisma__forgetpasswordClient<$Result.GetResult<Prisma.$forgetpasswordPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Create many Forgetpasswords.
     * @param {forgetpasswordCreateManyArgs} args - Arguments to create many Forgetpasswords.
     * @example
     * // Create many Forgetpasswords
     * const forgetpassword = await prisma.forgetpassword.createMany({
     *   data: [
     *     // ... provide data here
     *   ]
     * })
     *     
     */
    createMany<T extends forgetpasswordCreateManyArgs>(args?: SelectSubset<T, forgetpasswordCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Delete a Forgetpassword.
     * @param {forgetpasswordDeleteArgs} args - Arguments to delete one Forgetpassword.
     * @example
     * // Delete one Forgetpassword
     * const Forgetpassword = await prisma.forgetpassword.delete({
     *   where: {
     *     // ... filter to delete one Forgetpassword
     *   }
     * })
     * 
     */
    delete<T extends forgetpasswordDeleteArgs>(args: SelectSubset<T, forgetpasswordDeleteArgs<ExtArgs>>): Prisma__forgetpasswordClient<$Result.GetResult<Prisma.$forgetpasswordPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Update one Forgetpassword.
     * @param {forgetpasswordUpdateArgs} args - Arguments to update one Forgetpassword.
     * @example
     * // Update one Forgetpassword
     * const forgetpassword = await prisma.forgetpassword.update({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     * 
     */
    update<T extends forgetpasswordUpdateArgs>(args: SelectSubset<T, forgetpasswordUpdateArgs<ExtArgs>>): Prisma__forgetpasswordClient<$Result.GetResult<Prisma.$forgetpasswordPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Delete zero or more Forgetpasswords.
     * @param {forgetpasswordDeleteManyArgs} args - Arguments to filter Forgetpasswords to delete.
     * @example
     * // Delete a few Forgetpasswords
     * const { count } = await prisma.forgetpassword.deleteMany({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     * 
     */
    deleteMany<T extends forgetpasswordDeleteManyArgs>(args?: SelectSubset<T, forgetpasswordDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Update zero or more Forgetpasswords.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {forgetpasswordUpdateManyArgs} args - Arguments to update one or more rows.
     * @example
     * // Update many Forgetpasswords
     * const forgetpassword = await prisma.forgetpassword.updateMany({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     * 
     */
    updateMany<T extends forgetpasswordUpdateManyArgs>(args: SelectSubset<T, forgetpasswordUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Create or update one Forgetpassword.
     * @param {forgetpasswordUpsertArgs} args - Arguments to update or create a Forgetpassword.
     * @example
     * // Update or create a Forgetpassword
     * const forgetpassword = await prisma.forgetpassword.upsert({
     *   create: {
     *     // ... data to create a Forgetpassword
     *   },
     *   update: {
     *     // ... in case it already exists, update
     *   },
     *   where: {
     *     // ... the filter for the Forgetpassword we want to update
     *   }
     * })
     */
    upsert<T extends forgetpasswordUpsertArgs>(args: SelectSubset<T, forgetpasswordUpsertArgs<ExtArgs>>): Prisma__forgetpasswordClient<$Result.GetResult<Prisma.$forgetpasswordPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>


    /**
     * Count the number of Forgetpasswords.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {forgetpasswordCountArgs} args - Arguments to filter Forgetpasswords to count.
     * @example
     * // Count the number of Forgetpasswords
     * const count = await prisma.forgetpassword.count({
     *   where: {
     *     // ... the filter for the Forgetpasswords we want to count
     *   }
     * })
    **/
    count<T extends forgetpasswordCountArgs>(
      args?: Subset<T, forgetpasswordCountArgs>,
    ): Prisma.PrismaPromise<
      T extends $Utils.Record<'select', any>
        ? T['select'] extends true
          ? number
          : GetScalarType<T['select'], ForgetpasswordCountAggregateOutputType>
        : number
    >

    /**
     * Allows you to perform aggregations operations on a Forgetpassword.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {ForgetpasswordAggregateArgs} 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<T extends ForgetpasswordAggregateArgs>(args: Subset<T, ForgetpasswordAggregateArgs>): Prisma.PrismaPromise<GetForgetpasswordAggregateType<T>>

    /**
     * Group by Forgetpassword.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {forgetpasswordGroupByArgs} 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 forgetpasswordGroupByArgs,
      HasSelectOrTake extends Or<
        Extends<'skip', Keys<T>>,
        Extends<'take', Keys<T>>
      >,
      OrderByArg extends True extends HasSelectOrTake
        ? { orderBy: forgetpasswordGroupByArgs['orderBy'] }
        : { orderBy?: forgetpasswordGroupByArgs['orderBy'] },
      OrderFields extends ExcludeUnderscoreKeys<Keys<MaybeTupleToUnion<T['orderBy']>>>,
      ByFields extends MaybeTupleToUnion<T['by']>,
      ByValid extends Has<ByFields, OrderFields>,
      HavingFields extends GetHavingFields<T['having']>,
      HavingValid extends Has<ByFields, HavingFields>,
      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<T>
      ? 'orderBy' extends Keys<T>
        ? 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<T>
      ? 'orderBy' extends Keys<T>
        ? 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<T, forgetpasswordGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetForgetpasswordGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>
  /**
   * Fields of the forgetpassword model
   */
  readonly fields: forgetpasswordFieldRefs;
  }

  /**
   * The delegate class that acts as a "Promise-like" for forgetpassword.
   * 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__forgetpasswordClient<T, Null = never, ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
    readonly [Symbol.toStringTag]: "PrismaPromise"
    user<T extends userDefaultArgs<ExtArgs> = {}>(args?: Subset<T, userDefaultArgs<ExtArgs>>): Prisma__userClient<$Result.GetResult<Prisma.$userPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions>
    /**
     * 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<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): $Utils.JsPromise<TResult1 | TResult2>
    /**
     * 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<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): $Utils.JsPromise<T | TResult>
    /**
     * 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<T>
  }




  /**
   * Fields of the forgetpassword model
   */
  interface forgetpasswordFieldRefs {
    readonly id: FieldRef<"forgetpassword", 'String'>
    readonly userId: FieldRef<"forgetpassword", 'String'>
    readonly token: FieldRef<"forgetpassword", 'String'>
    readonly expiration: FieldRef<"forgetpassword", 'DateTime'>
    readonly active: FieldRef<"forgetpassword", 'Boolean'>
    readonly createdAt: FieldRef<"forgetpassword", 'DateTime'>
    readonly updatedAt: FieldRef<"forgetpassword", 'DateTime'>
  }
    

  // Custom InputTypes
  /**
   * forgetpassword findUnique
   */
  export type forgetpasswordFindUniqueArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the forgetpassword
     */
    select?: forgetpasswordSelect<ExtArgs> | null
    /**
     * Omit specific fields from the forgetpassword
     */
    omit?: forgetpasswordOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: forgetpasswordInclude<ExtArgs> | null
    /**
     * Filter, which forgetpassword to fetch.
     */
    where: forgetpasswordWhereUniqueInput
  }

  /**
   * forgetpassword findUniqueOrThrow
   */
  export type forgetpasswordFindUniqueOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the forgetpassword
     */
    select?: forgetpasswordSelect<ExtArgs> | null
    /**
     * Omit specific fields from the forgetpassword
     */
    omit?: forgetpasswordOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: forgetpasswordInclude<ExtArgs> | null
    /**
     * Filter, which forgetpassword to fetch.
     */
    where: forgetpasswordWhereUniqueInput
  }

  /**
   * forgetpassword findFirst
   */
  export type forgetpasswordFindFirstArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the forgetpassword
     */
    select?: forgetpasswordSelect<ExtArgs> | null
    /**
     * Omit specific fields from the forgetpassword
     */
    omit?: forgetpasswordOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: forgetpasswordInclude<ExtArgs> | null
    /**
     * Filter, which forgetpassword to fetch.
     */
    where?: forgetpasswordWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of forgetpasswords to fetch.
     */
    orderBy?: forgetpasswordOrderByWithRelationInput | forgetpasswordOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for searching for forgetpasswords.
     */
    cursor?: forgetpasswordWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` forgetpasswords 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` forgetpasswords.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     * 
     * Filter by unique combinations of forgetpasswords.
     */
    distinct?: ForgetpasswordScalarFieldEnum | ForgetpasswordScalarFieldEnum[]
  }

  /**
   * forgetpassword findFirstOrThrow
   */
  export type forgetpasswordFindFirstOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the forgetpassword
     */
    select?: forgetpasswordSelect<ExtArgs> | null
    /**
     * Omit specific fields from the forgetpassword
     */
    omit?: forgetpasswordOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: forgetpasswordInclude<ExtArgs> | null
    /**
     * Filter, which forgetpassword to fetch.
     */
    where?: forgetpasswordWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of forgetpasswords to fetch.
     */
    orderBy?: forgetpasswordOrderByWithRelationInput | forgetpasswordOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for searching for forgetpasswords.
     */
    cursor?: forgetpasswordWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` forgetpasswords 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` forgetpasswords.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     * 
     * Filter by unique combinations of forgetpasswords.
     */
    distinct?: ForgetpasswordScalarFieldEnum | ForgetpasswordScalarFieldEnum[]
  }

  /**
   * forgetpassword findMany
   */
  export type forgetpasswordFindManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the forgetpassword
     */
    select?: forgetpasswordSelect<ExtArgs> | null
    /**
     * Omit specific fields from the forgetpassword
     */
    omit?: forgetpasswordOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: forgetpasswordInclude<ExtArgs> | null
    /**
     * Filter, which forgetpasswords to fetch.
     */
    where?: forgetpasswordWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of forgetpasswords to fetch.
     */
    orderBy?: forgetpasswordOrderByWithRelationInput | forgetpasswordOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for listing forgetpasswords.
     */
    cursor?: forgetpasswordWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` forgetpasswords 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` forgetpasswords.
     */
    skip?: number
    distinct?: ForgetpasswordScalarFieldEnum | ForgetpasswordScalarFieldEnum[]
  }

  /**
   * forgetpassword create
   */
  export type forgetpasswordCreateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the forgetpassword
     */
    select?: forgetpasswordSelect<ExtArgs> | null
    /**
     * Omit specific fields from the forgetpassword
     */
    omit?: forgetpasswordOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: forgetpasswordInclude<ExtArgs> | null
    /**
     * The data needed to create a forgetpassword.
     */
    data: XOR<forgetpasswordCreateInput, forgetpasswordUncheckedCreateInput>
  }

  /**
   * forgetpassword createMany
   */
  export type forgetpasswordCreateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * The data used to create many forgetpasswords.
     */
    data: forgetpasswordCreateManyInput | forgetpasswordCreateManyInput[]
    skipDuplicates?: boolean
  }

  /**
   * forgetpassword update
   */
  export type forgetpasswordUpdateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the forgetpassword
     */
    select?: forgetpasswordSelect<ExtArgs> | null
    /**
     * Omit specific fields from the forgetpassword
     */
    omit?: forgetpasswordOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: forgetpasswordInclude<ExtArgs> | null
    /**
     * The data needed to update a forgetpassword.
     */
    data: XOR<forgetpasswordUpdateInput, forgetpasswordUncheckedUpdateInput>
    /**
     * Choose, which forgetpassword to update.
     */
    where: forgetpasswordWhereUniqueInput
  }

  /**
   * forgetpassword updateMany
   */
  export type forgetpasswordUpdateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * The data used to update forgetpasswords.
     */
    data: XOR<forgetpasswordUpdateManyMutationInput, forgetpasswordUncheckedUpdateManyInput>
    /**
     * Filter which forgetpasswords to update
     */
    where?: forgetpasswordWhereInput
    /**
     * Limit how many forgetpasswords to update.
     */
    limit?: number
  }

  /**
   * forgetpassword upsert
   */
  export type forgetpasswordUpsertArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the forgetpassword
     */
    select?: forgetpasswordSelect<ExtArgs> | null
    /**
     * Omit specific fields from the forgetpassword
     */
    omit?: forgetpasswordOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: forgetpasswordInclude<ExtArgs> | null
    /**
     * The filter to search for the forgetpassword to update in case it exists.
     */
    where: forgetpasswordWhereUniqueInput
    /**
     * In case the forgetpassword found by the `where` argument doesn't exist, create a new forgetpassword with this data.
     */
    create: XOR<forgetpasswordCreateInput, forgetpasswordUncheckedCreateInput>
    /**
     * In case the forgetpassword was found with the provided `where` argument, update it with this data.
     */
    update: XOR<forgetpasswordUpdateInput, forgetpasswordUncheckedUpdateInput>
  }

  /**
   * forgetpassword delete
   */
  export type forgetpasswordDeleteArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the forgetpassword
     */
    select?: forgetpasswordSelect<ExtArgs> | null
    /**
     * Omit specific fields from the forgetpassword
     */
    omit?: forgetpasswordOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: forgetpasswordInclude<ExtArgs> | null
    /**
     * Filter which forgetpassword to delete.
     */
    where: forgetpasswordWhereUniqueInput
  }

  /**
   * forgetpassword deleteMany
   */
  export type forgetpasswordDeleteManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Filter which forgetpasswords to delete
     */
    where?: forgetpasswordWhereInput
    /**
     * Limit how many forgetpasswords to delete.
     */
    limit?: number
  }

  /**
   * forgetpassword without action
   */
  export type forgetpasswordDefaultArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the forgetpassword
     */
    select?: forgetpasswordSelect<ExtArgs> | null
    /**
     * Omit specific fields from the forgetpassword
     */
    omit?: forgetpasswordOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: forgetpasswordInclude<ExtArgs> | null
  }


  /**
   * Model profile
   */

  export type AggregateProfile = {
    _count: ProfileCountAggregateOutputType | null
    _min: ProfileMinAggregateOutputType | null
    _max: ProfileMaxAggregateOutputType | null
  }

  export type ProfileMinAggregateOutputType = {
    id: string | null
    name: string | null
    active: boolean | null
    createdAt: Date | null
    updatedAt: Date | null
  }

  export type ProfileMaxAggregateOutputType = {
    id: string | null
    name: string | null
    active: boolean | null
    createdAt: Date | null
    updatedAt: Date | null
  }

  export type ProfileCountAggregateOutputType = {
    id: number
    name: number
    active: number
    createdAt: number
    updatedAt: number
    _all: number
  }


  export type ProfileMinAggregateInputType = {
    id?: true
    name?: true
    active?: true
    createdAt?: true
    updatedAt?: true
  }

  export type ProfileMaxAggregateInputType = {
    id?: true
    name?: true
    active?: true
    createdAt?: true
    updatedAt?: true
  }

  export type ProfileCountAggregateInputType = {
    id?: true
    name?: true
    active?: true
    createdAt?: true
    updatedAt?: true
    _all?: true
  }

  export type ProfileAggregateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Filter which profile to aggregate.
     */
    where?: profileWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of profiles to fetch.
     */
    orderBy?: profileOrderByWithRelationInput | profileOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the start position
     */
    cursor?: profileWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` profiles 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` profiles.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Count returned profiles
    **/
    _count?: true | ProfileCountAggregateInputType
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Select which fields to find the minimum value
    **/
    _min?: ProfileMinAggregateInputType
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Select which fields to find the maximum value
    **/
    _max?: ProfileMaxAggregateInputType
  }

  export type GetProfileAggregateType<T extends ProfileAggregateArgs> = {
        [P in keyof T & keyof AggregateProfile]: P extends '_count' | 'count'
      ? T[P] extends true
        ? number
        : GetScalarType<T[P], AggregateProfile[P]>
      : GetScalarType<T[P], AggregateProfile[P]>
  }




  export type profileGroupByArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    where?: profileWhereInput
    orderBy?: profileOrderByWithAggregationInput | profileOrderByWithAggregationInput[]
    by: ProfileScalarFieldEnum[] | ProfileScalarFieldEnum
    having?: profileScalarWhereWithAggregatesInput
    take?: number
    skip?: number
    _count?: ProfileCountAggregateInputType | true
    _min?: ProfileMinAggregateInputType
    _max?: ProfileMaxAggregateInputType
  }

  export type ProfileGroupByOutputType = {
    id: string
    name: string
    active: boolean
    createdAt: Date
    updatedAt: Date
    _count: ProfileCountAggregateOutputType | null
    _min: ProfileMinAggregateOutputType | null
    _max: ProfileMaxAggregateOutputType | null
  }

  type GetProfileGroupByPayload<T extends profileGroupByArgs> = Prisma.PrismaPromise<
    Array<
      PickEnumerable<ProfileGroupByOutputType, T['by']> &
        {
          [P in ((keyof T) & (keyof ProfileGroupByOutputType))]: P extends '_count'
            ? T[P] extends boolean
              ? number
              : GetScalarType<T[P], ProfileGroupByOutputType[P]>
            : GetScalarType<T[P], ProfileGroupByOutputType[P]>
        }
      >
    >


  export type profileSelect<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetSelect<{
    id?: boolean
    name?: boolean
    active?: boolean
    createdAt?: boolean
    updatedAt?: boolean
    user?: boolean | profile$userArgs<ExtArgs>
    _count?: boolean | ProfileCountOutputTypeDefaultArgs<ExtArgs>
  }, ExtArgs["result"]["profile"]>



  export type profileSelectScalar = {
    id?: boolean
    name?: boolean
    active?: boolean
    createdAt?: boolean
    updatedAt?: boolean
  }

  export type profileOmit<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetOmit<"id" | "name" | "active" | "createdAt" | "updatedAt", ExtArgs["result"]["profile"]>
  export type profileInclude<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    user?: boolean | profile$userArgs<ExtArgs>
    _count?: boolean | ProfileCountOutputTypeDefaultArgs<ExtArgs>
  }

  export type $profilePayload<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    name: "profile"
    objects: {
      user: Prisma.$userPayload<ExtArgs>[]
    }
    scalars: $Extensions.GetPayloadResult<{
      id: string
      name: string
      active: boolean
      createdAt: Date
      updatedAt: Date
    }, ExtArgs["result"]["profile"]>
    composites: {}
  }

  type profileGetPayload<S extends boolean | null | undefined | profileDefaultArgs> = $Result.GetResult<Prisma.$profilePayload, S>

  type profileCountArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> =
    Omit<profileFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
      select?: ProfileCountAggregateInputType | true
    }

  export interface profileDelegate<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> {
    [K: symbol]: { types: Prisma.TypeMap<ExtArgs>['model']['profile'], meta: { name: 'profile' } }
    /**
     * Find zero or one Profile that matches the filter.
     * @param {profileFindUniqueArgs} args - Arguments to find a Profile
     * @example
     * // Get one Profile
     * const profile = await prisma.profile.findUnique({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUnique<T extends profileFindUniqueArgs>(args: SelectSubset<T, profileFindUniqueArgs<ExtArgs>>): Prisma__profileClient<$Result.GetResult<Prisma.$profilePayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>

    /**
     * Find one Profile that matches the filter or throw an error with `error.code='P2025'`
     * if no matches were found.
     * @param {profileFindUniqueOrThrowArgs} args - Arguments to find a Profile
     * @example
     * // Get one Profile
     * const profile = await prisma.profile.findUniqueOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUniqueOrThrow<T extends profileFindUniqueOrThrowArgs>(args: SelectSubset<T, profileFindUniqueOrThrowArgs<ExtArgs>>): Prisma__profileClient<$Result.GetResult<Prisma.$profilePayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Find the first Profile 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 {profileFindFirstArgs} args - Arguments to find a Profile
     * @example
     * // Get one Profile
     * const profile = await prisma.profile.findFirst({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirst<T extends profileFindFirstArgs>(args?: SelectSubset<T, profileFindFirstArgs<ExtArgs>>): Prisma__profileClient<$Result.GetResult<Prisma.$profilePayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>

    /**
     * Find the first Profile 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 {profileFindFirstOrThrowArgs} args - Arguments to find a Profile
     * @example
     * // Get one Profile
     * const profile = await prisma.profile.findFirstOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirstOrThrow<T extends profileFindFirstOrThrowArgs>(args?: SelectSubset<T, profileFindFirstOrThrowArgs<ExtArgs>>): Prisma__profileClient<$Result.GetResult<Prisma.$profilePayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Find zero or more Profiles 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 {profileFindManyArgs} args - Arguments to filter and select certain fields only.
     * @example
     * // Get all Profiles
     * const profiles = await prisma.profile.findMany()
     * 
     * // Get first 10 Profiles
     * const profiles = await prisma.profile.findMany({ take: 10 })
     * 
     * // Only select the `id`
     * const profileWithIdOnly = await prisma.profile.findMany({ select: { id: true } })
     * 
     */
    findMany<T extends profileFindManyArgs>(args?: SelectSubset<T, profileFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$profilePayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>

    /**
     * Create a Profile.
     * @param {profileCreateArgs} args - Arguments to create a Profile.
     * @example
     * // Create one Profile
     * const Profile = await prisma.profile.create({
     *   data: {
     *     // ... data to create a Profile
     *   }
     * })
     * 
     */
    create<T extends profileCreateArgs>(args: SelectSubset<T, profileCreateArgs<ExtArgs>>): Prisma__profileClient<$Result.GetResult<Prisma.$profilePayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Create many Profiles.
     * @param {profileCreateManyArgs} args - Arguments to create many Profiles.
     * @example
     * // Create many Profiles
     * const profile = await prisma.profile.createMany({
     *   data: [
     *     // ... provide data here
     *   ]
     * })
     *     
     */
    createMany<T extends profileCreateManyArgs>(args?: SelectSubset<T, profileCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Delete a Profile.
     * @param {profileDeleteArgs} args - Arguments to delete one Profile.
     * @example
     * // Delete one Profile
     * const Profile = await prisma.profile.delete({
     *   where: {
     *     // ... filter to delete one Profile
     *   }
     * })
     * 
     */
    delete<T extends profileDeleteArgs>(args: SelectSubset<T, profileDeleteArgs<ExtArgs>>): Prisma__profileClient<$Result.GetResult<Prisma.$profilePayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Update one Profile.
     * @param {profileUpdateArgs} args - Arguments to update one Profile.
     * @example
     * // Update one Profile
     * const profile = await prisma.profile.update({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     * 
     */
    update<T extends profileUpdateArgs>(args: SelectSubset<T, profileUpdateArgs<ExtArgs>>): Prisma__profileClient<$Result.GetResult<Prisma.$profilePayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Delete zero or more Profiles.
     * @param {profileDeleteManyArgs} args - Arguments to filter Profiles to delete.
     * @example
     * // Delete a few Profiles
     * const { count } = await prisma.profile.deleteMany({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     * 
     */
    deleteMany<T extends profileDeleteManyArgs>(args?: SelectSubset<T, profileDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Update zero or more Profiles.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {profileUpdateManyArgs} args - Arguments to update one or more rows.
     * @example
     * // Update many Profiles
     * const profile = await prisma.profile.updateMany({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     * 
     */
    updateMany<T extends profileUpdateManyArgs>(args: SelectSubset<T, profileUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Create or update one Profile.
     * @param {profileUpsertArgs} args - Arguments to update or create a Profile.
     * @example
     * // Update or create a Profile
     * const profile = await prisma.profile.upsert({
     *   create: {
     *     // ... data to create a Profile
     *   },
     *   update: {
     *     // ... in case it already exists, update
     *   },
     *   where: {
     *     // ... the filter for the Profile we want to update
     *   }
     * })
     */
    upsert<T extends profileUpsertArgs>(args: SelectSubset<T, profileUpsertArgs<ExtArgs>>): Prisma__profileClient<$Result.GetResult<Prisma.$profilePayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>


    /**
     * Count the number of Profiles.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {profileCountArgs} args - Arguments to filter Profiles to count.
     * @example
     * // Count the number of Profiles
     * const count = await prisma.profile.count({
     *   where: {
     *     // ... the filter for the Profiles we want to count
     *   }
     * })
    **/
    count<T extends profileCountArgs>(
      args?: Subset<T, profileCountArgs>,
    ): Prisma.PrismaPromise<
      T extends $Utils.Record<'select', any>
        ? T['select'] extends true
          ? number
          : GetScalarType<T['select'], ProfileCountAggregateOutputType>
        : number
    >

    /**
     * Allows you to perform aggregations operations on a Profile.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {ProfileAggregateArgs} 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<T extends ProfileAggregateArgs>(args: Subset<T, ProfileAggregateArgs>): Prisma.PrismaPromise<GetProfileAggregateType<T>>

    /**
     * Group by Profile.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {profileGroupByArgs} 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 profileGroupByArgs,
      HasSelectOrTake extends Or<
        Extends<'skip', Keys<T>>,
        Extends<'take', Keys<T>>
      >,
      OrderByArg extends True extends HasSelectOrTake
        ? { orderBy: profileGroupByArgs['orderBy'] }
        : { orderBy?: profileGroupByArgs['orderBy'] },
      OrderFields extends ExcludeUnderscoreKeys<Keys<MaybeTupleToUnion<T['orderBy']>>>,
      ByFields extends MaybeTupleToUnion<T['by']>,
      ByValid extends Has<ByFields, OrderFields>,
      HavingFields extends GetHavingFields<T['having']>,
      HavingValid extends Has<ByFields, HavingFields>,
      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<T>
      ? 'orderBy' extends Keys<T>
        ? 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<T>
      ? 'orderBy' extends Keys<T>
        ? 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<T, profileGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetProfileGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>
  /**
   * Fields of the profile model
   */
  readonly fields: profileFieldRefs;
  }

  /**
   * The delegate class that acts as a "Promise-like" for profile.
   * 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__profileClient<T, Null = never, ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
    readonly [Symbol.toStringTag]: "PrismaPromise"
    user<T extends profile$userArgs<ExtArgs> = {}>(args?: Subset<T, profile$userArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$userPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | 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<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): $Utils.JsPromise<TResult1 | TResult2>
    /**
     * 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<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): $Utils.JsPromise<T | TResult>
    /**
     * 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<T>
  }




  /**
   * Fields of the profile model
   */
  interface profileFieldRefs {
    readonly id: FieldRef<"profile", 'String'>
    readonly name: FieldRef<"profile", 'String'>
    readonly active: FieldRef<"profile", 'Boolean'>
    readonly createdAt: FieldRef<"profile", 'DateTime'>
    readonly updatedAt: FieldRef<"profile", 'DateTime'>
  }
    

  // Custom InputTypes
  /**
   * profile findUnique
   */
  export type profileFindUniqueArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the profile
     */
    select?: profileSelect<ExtArgs> | null
    /**
     * Omit specific fields from the profile
     */
    omit?: profileOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: profileInclude<ExtArgs> | null
    /**
     * Filter, which profile to fetch.
     */
    where: profileWhereUniqueInput
  }

  /**
   * profile findUniqueOrThrow
   */
  export type profileFindUniqueOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the profile
     */
    select?: profileSelect<ExtArgs> | null
    /**
     * Omit specific fields from the profile
     */
    omit?: profileOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: profileInclude<ExtArgs> | null
    /**
     * Filter, which profile to fetch.
     */
    where: profileWhereUniqueInput
  }

  /**
   * profile findFirst
   */
  export type profileFindFirstArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the profile
     */
    select?: profileSelect<ExtArgs> | null
    /**
     * Omit specific fields from the profile
     */
    omit?: profileOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: profileInclude<ExtArgs> | null
    /**
     * Filter, which profile to fetch.
     */
    where?: profileWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of profiles to fetch.
     */
    orderBy?: profileOrderByWithRelationInput | profileOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for searching for profiles.
     */
    cursor?: profileWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` profiles 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` profiles.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     * 
     * Filter by unique combinations of profiles.
     */
    distinct?: ProfileScalarFieldEnum | ProfileScalarFieldEnum[]
  }

  /**
   * profile findFirstOrThrow
   */
  export type profileFindFirstOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the profile
     */
    select?: profileSelect<ExtArgs> | null
    /**
     * Omit specific fields from the profile
     */
    omit?: profileOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: profileInclude<ExtArgs> | null
    /**
     * Filter, which profile to fetch.
     */
    where?: profileWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of profiles to fetch.
     */
    orderBy?: profileOrderByWithRelationInput | profileOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for searching for profiles.
     */
    cursor?: profileWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` profiles 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` profiles.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     * 
     * Filter by unique combinations of profiles.
     */
    distinct?: ProfileScalarFieldEnum | ProfileScalarFieldEnum[]
  }

  /**
   * profile findMany
   */
  export type profileFindManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the profile
     */
    select?: profileSelect<ExtArgs> | null
    /**
     * Omit specific fields from the profile
     */
    omit?: profileOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: profileInclude<ExtArgs> | null
    /**
     * Filter, which profiles to fetch.
     */
    where?: profileWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of profiles to fetch.
     */
    orderBy?: profileOrderByWithRelationInput | profileOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for listing profiles.
     */
    cursor?: profileWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` profiles 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` profiles.
     */
    skip?: number
    distinct?: ProfileScalarFieldEnum | ProfileScalarFieldEnum[]
  }

  /**
   * profile create
   */
  export type profileCreateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the profile
     */
    select?: profileSelect<ExtArgs> | null
    /**
     * Omit specific fields from the profile
     */
    omit?: profileOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: profileInclude<ExtArgs> | null
    /**
     * The data needed to create a profile.
     */
    data: XOR<profileCreateInput, profileUncheckedCreateInput>
  }

  /**
   * profile createMany
   */
  export type profileCreateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * The data used to create many profiles.
     */
    data: profileCreateManyInput | profileCreateManyInput[]
    skipDuplicates?: boolean
  }

  /**
   * profile update
   */
  export type profileUpdateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the profile
     */
    select?: profileSelect<ExtArgs> | null
    /**
     * Omit specific fields from the profile
     */
    omit?: profileOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: profileInclude<ExtArgs> | null
    /**
     * The data needed to update a profile.
     */
    data: XOR<profileUpdateInput, profileUncheckedUpdateInput>
    /**
     * Choose, which profile to update.
     */
    where: profileWhereUniqueInput
  }

  /**
   * profile updateMany
   */
  export type profileUpdateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * The data used to update profiles.
     */
    data: XOR<profileUpdateManyMutationInput, profileUncheckedUpdateManyInput>
    /**
     * Filter which profiles to update
     */
    where?: profileWhereInput
    /**
     * Limit how many profiles to update.
     */
    limit?: number
  }

  /**
   * profile upsert
   */
  export type profileUpsertArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the profile
     */
    select?: profileSelect<ExtArgs> | null
    /**
     * Omit specific fields from the profile
     */
    omit?: profileOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: profileInclude<ExtArgs> | null
    /**
     * The filter to search for the profile to update in case it exists.
     */
    where: profileWhereUniqueInput
    /**
     * In case the profile found by the `where` argument doesn't exist, create a new profile with this data.
     */
    create: XOR<profileCreateInput, profileUncheckedCreateInput>
    /**
     * In case the profile was found with the provided `where` argument, update it with this data.
     */
    update: XOR<profileUpdateInput, profileUncheckedUpdateInput>
  }

  /**
   * profile delete
   */
  export type profileDeleteArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the profile
     */
    select?: profileSelect<ExtArgs> | null
    /**
     * Omit specific fields from the profile
     */
    omit?: profileOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: profileInclude<ExtArgs> | null
    /**
     * Filter which profile to delete.
     */
    where: profileWhereUniqueInput
  }

  /**
   * profile deleteMany
   */
  export type profileDeleteManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Filter which profiles to delete
     */
    where?: profileWhereInput
    /**
     * Limit how many profiles to delete.
     */
    limit?: number
  }

  /**
   * profile.user
   */
  export type profile$userArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the user
     */
    select?: userSelect<ExtArgs> | null
    /**
     * Omit specific fields from the user
     */
    omit?: userOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: userInclude<ExtArgs> | null
    where?: userWhereInput
    orderBy?: userOrderByWithRelationInput | userOrderByWithRelationInput[]
    cursor?: userWhereUniqueInput
    take?: number
    skip?: number
    distinct?: UserScalarFieldEnum | UserScalarFieldEnum[]
  }

  /**
   * profile without action
   */
  export type profileDefaultArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the profile
     */
    select?: profileSelect<ExtArgs> | null
    /**
     * Omit specific fields from the profile
     */
    omit?: profileOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: profileInclude<ExtArgs> | null
  }


  /**
   * Model visita
   */

  export type AggregateVisita = {
    _count: VisitaCountAggregateOutputType | null
    _min: VisitaMinAggregateOutputType | null
    _max: VisitaMaxAggregateOutputType | null
  }

  export type VisitaMinAggregateOutputType = {
    id: string | null
    userId: string | null
    lat: string | null
    long: string | null
    createdAt: Date | null
    updatedAt: Date | null
  }

  export type VisitaMaxAggregateOutputType = {
    id: string | null
    userId: string | null
    lat: string | null
    long: string | null
    createdAt: Date | null
    updatedAt: Date | null
  }

  export type VisitaCountAggregateOutputType = {
    id: number
    userId: number
    lat: number
    long: number
    createdAt: number
    updatedAt: number
    _all: number
  }


  export type VisitaMinAggregateInputType = {
    id?: true
    userId?: true
    lat?: true
    long?: true
    createdAt?: true
    updatedAt?: true
  }

  export type VisitaMaxAggregateInputType = {
    id?: true
    userId?: true
    lat?: true
    long?: true
    createdAt?: true
    updatedAt?: true
  }

  export type VisitaCountAggregateInputType = {
    id?: true
    userId?: true
    lat?: true
    long?: true
    createdAt?: true
    updatedAt?: true
    _all?: true
  }

  export type VisitaAggregateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Filter which visita to aggregate.
     */
    where?: visitaWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of visitas to fetch.
     */
    orderBy?: visitaOrderByWithRelationInput | visitaOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the start position
     */
    cursor?: visitaWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` visitas 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` visitas.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Count returned visitas
    **/
    _count?: true | VisitaCountAggregateInputType
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Select which fields to find the minimum value
    **/
    _min?: VisitaMinAggregateInputType
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Select which fields to find the maximum value
    **/
    _max?: VisitaMaxAggregateInputType
  }

  export type GetVisitaAggregateType<T extends VisitaAggregateArgs> = {
        [P in keyof T & keyof AggregateVisita]: P extends '_count' | 'count'
      ? T[P] extends true
        ? number
        : GetScalarType<T[P], AggregateVisita[P]>
      : GetScalarType<T[P], AggregateVisita[P]>
  }




  export type visitaGroupByArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    where?: visitaWhereInput
    orderBy?: visitaOrderByWithAggregationInput | visitaOrderByWithAggregationInput[]
    by: VisitaScalarFieldEnum[] | VisitaScalarFieldEnum
    having?: visitaScalarWhereWithAggregatesInput
    take?: number
    skip?: number
    _count?: VisitaCountAggregateInputType | true
    _min?: VisitaMinAggregateInputType
    _max?: VisitaMaxAggregateInputType
  }

  export type VisitaGroupByOutputType = {
    id: string
    userId: string
    lat: string
    long: string
    createdAt: Date
    updatedAt: Date
    _count: VisitaCountAggregateOutputType | null
    _min: VisitaMinAggregateOutputType | null
    _max: VisitaMaxAggregateOutputType | null
  }

  type GetVisitaGroupByPayload<T extends visitaGroupByArgs> = Prisma.PrismaPromise<
    Array<
      PickEnumerable<VisitaGroupByOutputType, T['by']> &
        {
          [P in ((keyof T) & (keyof VisitaGroupByOutputType))]: P extends '_count'
            ? T[P] extends boolean
              ? number
              : GetScalarType<T[P], VisitaGroupByOutputType[P]>
            : GetScalarType<T[P], VisitaGroupByOutputType[P]>
        }
      >
    >


  export type visitaSelect<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetSelect<{
    id?: boolean
    userId?: boolean
    lat?: boolean
    long?: boolean
    createdAt?: boolean
    updatedAt?: boolean
  }, ExtArgs["result"]["visita"]>



  export type visitaSelectScalar = {
    id?: boolean
    userId?: boolean
    lat?: boolean
    long?: boolean
    createdAt?: boolean
    updatedAt?: boolean
  }

  export type visitaOmit<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetOmit<"id" | "userId" | "lat" | "long" | "createdAt" | "updatedAt", ExtArgs["result"]["visita"]>

  export type $visitaPayload<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    name: "visita"
    objects: {}
    scalars: $Extensions.GetPayloadResult<{
      id: string
      userId: string
      lat: string
      long: string
      createdAt: Date
      updatedAt: Date
    }, ExtArgs["result"]["visita"]>
    composites: {}
  }

  type visitaGetPayload<S extends boolean | null | undefined | visitaDefaultArgs> = $Result.GetResult<Prisma.$visitaPayload, S>

  type visitaCountArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> =
    Omit<visitaFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
      select?: VisitaCountAggregateInputType | true
    }

  export interface visitaDelegate<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> {
    [K: symbol]: { types: Prisma.TypeMap<ExtArgs>['model']['visita'], meta: { name: 'visita' } }
    /**
     * Find zero or one Visita that matches the filter.
     * @param {visitaFindUniqueArgs} args - Arguments to find a Visita
     * @example
     * // Get one Visita
     * const visita = await prisma.visita.findUnique({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUnique<T extends visitaFindUniqueArgs>(args: SelectSubset<T, visitaFindUniqueArgs<ExtArgs>>): Prisma__visitaClient<$Result.GetResult<Prisma.$visitaPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>

    /**
     * Find one Visita that matches the filter or throw an error with `error.code='P2025'`
     * if no matches were found.
     * @param {visitaFindUniqueOrThrowArgs} args - Arguments to find a Visita
     * @example
     * // Get one Visita
     * const visita = await prisma.visita.findUniqueOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUniqueOrThrow<T extends visitaFindUniqueOrThrowArgs>(args: SelectSubset<T, visitaFindUniqueOrThrowArgs<ExtArgs>>): Prisma__visitaClient<$Result.GetResult<Prisma.$visitaPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Find the first Visita 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 {visitaFindFirstArgs} args - Arguments to find a Visita
     * @example
     * // Get one Visita
     * const visita = await prisma.visita.findFirst({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirst<T extends visitaFindFirstArgs>(args?: SelectSubset<T, visitaFindFirstArgs<ExtArgs>>): Prisma__visitaClient<$Result.GetResult<Prisma.$visitaPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>

    /**
     * Find the first Visita 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 {visitaFindFirstOrThrowArgs} args - Arguments to find a Visita
     * @example
     * // Get one Visita
     * const visita = await prisma.visita.findFirstOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirstOrThrow<T extends visitaFindFirstOrThrowArgs>(args?: SelectSubset<T, visitaFindFirstOrThrowArgs<ExtArgs>>): Prisma__visitaClient<$Result.GetResult<Prisma.$visitaPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Find zero or more Visitas 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 {visitaFindManyArgs} args - Arguments to filter and select certain fields only.
     * @example
     * // Get all Visitas
     * const visitas = await prisma.visita.findMany()
     * 
     * // Get first 10 Visitas
     * const visitas = await prisma.visita.findMany({ take: 10 })
     * 
     * // Only select the `id`
     * const visitaWithIdOnly = await prisma.visita.findMany({ select: { id: true } })
     * 
     */
    findMany<T extends visitaFindManyArgs>(args?: SelectSubset<T, visitaFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$visitaPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>

    /**
     * Create a Visita.
     * @param {visitaCreateArgs} args - Arguments to create a Visita.
     * @example
     * // Create one Visita
     * const Visita = await prisma.visita.create({
     *   data: {
     *     // ... data to create a Visita
     *   }
     * })
     * 
     */
    create<T extends visitaCreateArgs>(args: SelectSubset<T, visitaCreateArgs<ExtArgs>>): Prisma__visitaClient<$Result.GetResult<Prisma.$visitaPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Create many Visitas.
     * @param {visitaCreateManyArgs} args - Arguments to create many Visitas.
     * @example
     * // Create many Visitas
     * const visita = await prisma.visita.createMany({
     *   data: [
     *     // ... provide data here
     *   ]
     * })
     *     
     */
    createMany<T extends visitaCreateManyArgs>(args?: SelectSubset<T, visitaCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Delete a Visita.
     * @param {visitaDeleteArgs} args - Arguments to delete one Visita.
     * @example
     * // Delete one Visita
     * const Visita = await prisma.visita.delete({
     *   where: {
     *     // ... filter to delete one Visita
     *   }
     * })
     * 
     */
    delete<T extends visitaDeleteArgs>(args: SelectSubset<T, visitaDeleteArgs<ExtArgs>>): Prisma__visitaClient<$Result.GetResult<Prisma.$visitaPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Update one Visita.
     * @param {visitaUpdateArgs} args - Arguments to update one Visita.
     * @example
     * // Update one Visita
     * const visita = await prisma.visita.update({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     * 
     */
    update<T extends visitaUpdateArgs>(args: SelectSubset<T, visitaUpdateArgs<ExtArgs>>): Prisma__visitaClient<$Result.GetResult<Prisma.$visitaPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Delete zero or more Visitas.
     * @param {visitaDeleteManyArgs} args - Arguments to filter Visitas to delete.
     * @example
     * // Delete a few Visitas
     * const { count } = await prisma.visita.deleteMany({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     * 
     */
    deleteMany<T extends visitaDeleteManyArgs>(args?: SelectSubset<T, visitaDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Update zero or more Visitas.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {visitaUpdateManyArgs} args - Arguments to update one or more rows.
     * @example
     * // Update many Visitas
     * const visita = await prisma.visita.updateMany({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     * 
     */
    updateMany<T extends visitaUpdateManyArgs>(args: SelectSubset<T, visitaUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Create or update one Visita.
     * @param {visitaUpsertArgs} args - Arguments to update or create a Visita.
     * @example
     * // Update or create a Visita
     * const visita = await prisma.visita.upsert({
     *   create: {
     *     // ... data to create a Visita
     *   },
     *   update: {
     *     // ... in case it already exists, update
     *   },
     *   where: {
     *     // ... the filter for the Visita we want to update
     *   }
     * })
     */
    upsert<T extends visitaUpsertArgs>(args: SelectSubset<T, visitaUpsertArgs<ExtArgs>>): Prisma__visitaClient<$Result.GetResult<Prisma.$visitaPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>


    /**
     * Count the number of Visitas.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {visitaCountArgs} args - Arguments to filter Visitas to count.
     * @example
     * // Count the number of Visitas
     * const count = await prisma.visita.count({
     *   where: {
     *     // ... the filter for the Visitas we want to count
     *   }
     * })
    **/
    count<T extends visitaCountArgs>(
      args?: Subset<T, visitaCountArgs>,
    ): Prisma.PrismaPromise<
      T extends $Utils.Record<'select', any>
        ? T['select'] extends true
          ? number
          : GetScalarType<T['select'], VisitaCountAggregateOutputType>
        : number
    >

    /**
     * Allows you to perform aggregations operations on a Visita.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {VisitaAggregateArgs} 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<T extends VisitaAggregateArgs>(args: Subset<T, VisitaAggregateArgs>): Prisma.PrismaPromise<GetVisitaAggregateType<T>>

    /**
     * Group by Visita.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {visitaGroupByArgs} 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 visitaGroupByArgs,
      HasSelectOrTake extends Or<
        Extends<'skip', Keys<T>>,
        Extends<'take', Keys<T>>
      >,
      OrderByArg extends True extends HasSelectOrTake
        ? { orderBy: visitaGroupByArgs['orderBy'] }
        : { orderBy?: visitaGroupByArgs['orderBy'] },
      OrderFields extends ExcludeUnderscoreKeys<Keys<MaybeTupleToUnion<T['orderBy']>>>,
      ByFields extends MaybeTupleToUnion<T['by']>,
      ByValid extends Has<ByFields, OrderFields>,
      HavingFields extends GetHavingFields<T['having']>,
      HavingValid extends Has<ByFields, HavingFields>,
      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<T>
      ? 'orderBy' extends Keys<T>
        ? 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<T>
      ? 'orderBy' extends Keys<T>
        ? 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<T, visitaGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetVisitaGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>
  /**
   * Fields of the visita model
   */
  readonly fields: visitaFieldRefs;
  }

  /**
   * The delegate class that acts as a "Promise-like" for visita.
   * 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__visitaClient<T, Null = never, ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
    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<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): $Utils.JsPromise<TResult1 | TResult2>
    /**
     * 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<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): $Utils.JsPromise<T | TResult>
    /**
     * 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<T>
  }




  /**
   * Fields of the visita model
   */
  interface visitaFieldRefs {
    readonly id: FieldRef<"visita", 'String'>
    readonly userId: FieldRef<"visita", 'String'>
    readonly lat: FieldRef<"visita", 'String'>
    readonly long: FieldRef<"visita", 'String'>
    readonly createdAt: FieldRef<"visita", 'DateTime'>
    readonly updatedAt: FieldRef<"visita", 'DateTime'>
  }
    

  // Custom InputTypes
  /**
   * visita findUnique
   */
  export type visitaFindUniqueArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the visita
     */
    select?: visitaSelect<ExtArgs> | null
    /**
     * Omit specific fields from the visita
     */
    omit?: visitaOmit<ExtArgs> | null
    /**
     * Filter, which visita to fetch.
     */
    where: visitaWhereUniqueInput
  }

  /**
   * visita findUniqueOrThrow
   */
  export type visitaFindUniqueOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the visita
     */
    select?: visitaSelect<ExtArgs> | null
    /**
     * Omit specific fields from the visita
     */
    omit?: visitaOmit<ExtArgs> | null
    /**
     * Filter, which visita to fetch.
     */
    where: visitaWhereUniqueInput
  }

  /**
   * visita findFirst
   */
  export type visitaFindFirstArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the visita
     */
    select?: visitaSelect<ExtArgs> | null
    /**
     * Omit specific fields from the visita
     */
    omit?: visitaOmit<ExtArgs> | null
    /**
     * Filter, which visita to fetch.
     */
    where?: visitaWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of visitas to fetch.
     */
    orderBy?: visitaOrderByWithRelationInput | visitaOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for searching for visitas.
     */
    cursor?: visitaWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` visitas 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` visitas.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     * 
     * Filter by unique combinations of visitas.
     */
    distinct?: VisitaScalarFieldEnum | VisitaScalarFieldEnum[]
  }

  /**
   * visita findFirstOrThrow
   */
  export type visitaFindFirstOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the visita
     */
    select?: visitaSelect<ExtArgs> | null
    /**
     * Omit specific fields from the visita
     */
    omit?: visitaOmit<ExtArgs> | null
    /**
     * Filter, which visita to fetch.
     */
    where?: visitaWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of visitas to fetch.
     */
    orderBy?: visitaOrderByWithRelationInput | visitaOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for searching for visitas.
     */
    cursor?: visitaWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` visitas 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` visitas.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     * 
     * Filter by unique combinations of visitas.
     */
    distinct?: VisitaScalarFieldEnum | VisitaScalarFieldEnum[]
  }

  /**
   * visita findMany
   */
  export type visitaFindManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the visita
     */
    select?: visitaSelect<ExtArgs> | null
    /**
     * Omit specific fields from the visita
     */
    omit?: visitaOmit<ExtArgs> | null
    /**
     * Filter, which visitas to fetch.
     */
    where?: visitaWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of visitas to fetch.
     */
    orderBy?: visitaOrderByWithRelationInput | visitaOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for listing visitas.
     */
    cursor?: visitaWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` visitas 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` visitas.
     */
    skip?: number
    distinct?: VisitaScalarFieldEnum | VisitaScalarFieldEnum[]
  }

  /**
   * visita create
   */
  export type visitaCreateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the visita
     */
    select?: visitaSelect<ExtArgs> | null
    /**
     * Omit specific fields from the visita
     */
    omit?: visitaOmit<ExtArgs> | null
    /**
     * The data needed to create a visita.
     */
    data: XOR<visitaCreateInput, visitaUncheckedCreateInput>
  }

  /**
   * visita createMany
   */
  export type visitaCreateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * The data used to create many visitas.
     */
    data: visitaCreateManyInput | visitaCreateManyInput[]
    skipDuplicates?: boolean
  }

  /**
   * visita update
   */
  export type visitaUpdateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the visita
     */
    select?: visitaSelect<ExtArgs> | null
    /**
     * Omit specific fields from the visita
     */
    omit?: visitaOmit<ExtArgs> | null
    /**
     * The data needed to update a visita.
     */
    data: XOR<visitaUpdateInput, visitaUncheckedUpdateInput>
    /**
     * Choose, which visita to update.
     */
    where: visitaWhereUniqueInput
  }

  /**
   * visita updateMany
   */
  export type visitaUpdateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * The data used to update visitas.
     */
    data: XOR<visitaUpdateManyMutationInput, visitaUncheckedUpdateManyInput>
    /**
     * Filter which visitas to update
     */
    where?: visitaWhereInput
    /**
     * Limit how many visitas to update.
     */
    limit?: number
  }

  /**
   * visita upsert
   */
  export type visitaUpsertArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the visita
     */
    select?: visitaSelect<ExtArgs> | null
    /**
     * Omit specific fields from the visita
     */
    omit?: visitaOmit<ExtArgs> | null
    /**
     * The filter to search for the visita to update in case it exists.
     */
    where: visitaWhereUniqueInput
    /**
     * In case the visita found by the `where` argument doesn't exist, create a new visita with this data.
     */
    create: XOR<visitaCreateInput, visitaUncheckedCreateInput>
    /**
     * In case the visita was found with the provided `where` argument, update it with this data.
     */
    update: XOR<visitaUpdateInput, visitaUncheckedUpdateInput>
  }

  /**
   * visita delete
   */
  export type visitaDeleteArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the visita
     */
    select?: visitaSelect<ExtArgs> | null
    /**
     * Omit specific fields from the visita
     */
    omit?: visitaOmit<ExtArgs> | null
    /**
     * Filter which visita to delete.
     */
    where: visitaWhereUniqueInput
  }

  /**
   * visita deleteMany
   */
  export type visitaDeleteManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Filter which visitas to delete
     */
    where?: visitaWhereInput
    /**
     * Limit how many visitas to delete.
     */
    limit?: number
  }

  /**
   * visita without action
   */
  export type visitaDefaultArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the visita
     */
    select?: visitaSelect<ExtArgs> | null
    /**
     * Omit specific fields from the visita
     */
    omit?: visitaOmit<ExtArgs> | null
  }


  /**
   * Model checkinvisita
   */

  export type AggregateCheckinvisita = {
    _count: CheckinvisitaCountAggregateOutputType | null
    _min: CheckinvisitaMinAggregateOutputType | null
    _max: CheckinvisitaMaxAggregateOutputType | null
  }

  export type CheckinvisitaMinAggregateOutputType = {
    id: string | null
    isAdmin: boolean | null
    userId: string | null
    envolvimentoGestao: string | null
    formalizadaPorteMeEpp: boolean | null
    disponibilidademomento: boolean | null
    latitude: string | null
    longitude: string | null
    processedAt: Date | null
    insertedAt: Date | null
    tipocadastro: $Enums.TipoCadastro | null
    createdAt: Date | null
    updatedAt: Date | null
  }

  export type CheckinvisitaMaxAggregateOutputType = {
    id: string | null
    isAdmin: boolean | null
    userId: string | null
    envolvimentoGestao: string | null
    formalizadaPorteMeEpp: boolean | null
    disponibilidademomento: boolean | null
    latitude: string | null
    longitude: string | null
    processedAt: Date | null
    insertedAt: Date | null
    tipocadastro: $Enums.TipoCadastro | null
    createdAt: Date | null
    updatedAt: Date | null
  }

  export type CheckinvisitaCountAggregateOutputType = {
    id: number
    isAdmin: number
    userId: number
    envolvimentoGestao: number
    formalizadaPorteMeEpp: number
    disponibilidademomento: number
    latitude: number
    longitude: number
    processedAt: number
    insertedAt: number
    tipocadastro: number
    createdAt: number
    updatedAt: number
    _all: number
  }


  export type CheckinvisitaMinAggregateInputType = {
    id?: true
    isAdmin?: true
    userId?: true
    envolvimentoGestao?: true
    formalizadaPorteMeEpp?: true
    disponibilidademomento?: true
    latitude?: true
    longitude?: true
    processedAt?: true
    insertedAt?: true
    tipocadastro?: true
    createdAt?: true
    updatedAt?: true
  }

  export type CheckinvisitaMaxAggregateInputType = {
    id?: true
    isAdmin?: true
    userId?: true
    envolvimentoGestao?: true
    formalizadaPorteMeEpp?: true
    disponibilidademomento?: true
    latitude?: true
    longitude?: true
    processedAt?: true
    insertedAt?: true
    tipocadastro?: true
    createdAt?: true
    updatedAt?: true
  }

  export type CheckinvisitaCountAggregateInputType = {
    id?: true
    isAdmin?: true
    userId?: true
    envolvimentoGestao?: true
    formalizadaPorteMeEpp?: true
    disponibilidademomento?: true
    latitude?: true
    longitude?: true
    processedAt?: true
    insertedAt?: true
    tipocadastro?: true
    createdAt?: true
    updatedAt?: true
    _all?: true
  }

  export type CheckinvisitaAggregateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Filter which checkinvisita to aggregate.
     */
    where?: checkinvisitaWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of checkinvisitas to fetch.
     */
    orderBy?: checkinvisitaOrderByWithRelationInput | checkinvisitaOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the start position
     */
    cursor?: checkinvisitaWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` checkinvisitas 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` checkinvisitas.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Count returned checkinvisitas
    **/
    _count?: true | CheckinvisitaCountAggregateInputType
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Select which fields to find the minimum value
    **/
    _min?: CheckinvisitaMinAggregateInputType
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Select which fields to find the maximum value
    **/
    _max?: CheckinvisitaMaxAggregateInputType
  }

  export type GetCheckinvisitaAggregateType<T extends CheckinvisitaAggregateArgs> = {
        [P in keyof T & keyof AggregateCheckinvisita]: P extends '_count' | 'count'
      ? T[P] extends true
        ? number
        : GetScalarType<T[P], AggregateCheckinvisita[P]>
      : GetScalarType<T[P], AggregateCheckinvisita[P]>
  }




  export type checkinvisitaGroupByArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    where?: checkinvisitaWhereInput
    orderBy?: checkinvisitaOrderByWithAggregationInput | checkinvisitaOrderByWithAggregationInput[]
    by: CheckinvisitaScalarFieldEnum[] | CheckinvisitaScalarFieldEnum
    having?: checkinvisitaScalarWhereWithAggregatesInput
    take?: number
    skip?: number
    _count?: CheckinvisitaCountAggregateInputType | true
    _min?: CheckinvisitaMinAggregateInputType
    _max?: CheckinvisitaMaxAggregateInputType
  }

  export type CheckinvisitaGroupByOutputType = {
    id: string
    isAdmin: boolean
    userId: string
    envolvimentoGestao: string | null
    formalizadaPorteMeEpp: boolean
    disponibilidademomento: boolean
    latitude: string
    longitude: string
    processedAt: Date | null
    insertedAt: Date | null
    tipocadastro: $Enums.TipoCadastro | null
    createdAt: Date
    updatedAt: Date
    _count: CheckinvisitaCountAggregateOutputType | null
    _min: CheckinvisitaMinAggregateOutputType | null
    _max: CheckinvisitaMaxAggregateOutputType | null
  }

  type GetCheckinvisitaGroupByPayload<T extends checkinvisitaGroupByArgs> = Prisma.PrismaPromise<
    Array<
      PickEnumerable<CheckinvisitaGroupByOutputType, T['by']> &
        {
          [P in ((keyof T) & (keyof CheckinvisitaGroupByOutputType))]: P extends '_count'
            ? T[P] extends boolean
              ? number
              : GetScalarType<T[P], CheckinvisitaGroupByOutputType[P]>
            : GetScalarType<T[P], CheckinvisitaGroupByOutputType[P]>
        }
      >
    >


  export type checkinvisitaSelect<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetSelect<{
    id?: boolean
    isAdmin?: boolean
    userId?: boolean
    envolvimentoGestao?: boolean
    formalizadaPorteMeEpp?: boolean
    disponibilidademomento?: boolean
    latitude?: boolean
    longitude?: boolean
    processedAt?: boolean
    insertedAt?: boolean
    tipocadastro?: boolean
    createdAt?: boolean
    updatedAt?: boolean
    entrevistaDiagnostico?: boolean | checkinvisita$entrevistaDiagnosticoArgs<ExtArgs>
    cadastropf?: boolean | checkinvisita$cadastropfArgs<ExtArgs>
    cadastropj?: boolean | checkinvisita$cadastropjArgs<ExtArgs>
    planoacao?: boolean | checkinvisita$planoacaoArgs<ExtArgs>
    assinaturadigital?: boolean | checkinvisita$assinaturadigitalArgs<ExtArgs>
    checkout?: boolean | checkinvisita$checkoutArgs<ExtArgs>
    recordings?: boolean | checkinvisita$recordingsArgs<ExtArgs>
    _count?: boolean | CheckinvisitaCountOutputTypeDefaultArgs<ExtArgs>
  }, ExtArgs["result"]["checkinvisita"]>



  export type checkinvisitaSelectScalar = {
    id?: boolean
    isAdmin?: boolean
    userId?: boolean
    envolvimentoGestao?: boolean
    formalizadaPorteMeEpp?: boolean
    disponibilidademomento?: boolean
    latitude?: boolean
    longitude?: boolean
    processedAt?: boolean
    insertedAt?: boolean
    tipocadastro?: boolean
    createdAt?: boolean
    updatedAt?: boolean
  }

  export type checkinvisitaOmit<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetOmit<"id" | "isAdmin" | "userId" | "envolvimentoGestao" | "formalizadaPorteMeEpp" | "disponibilidademomento" | "latitude" | "longitude" | "processedAt" | "insertedAt" | "tipocadastro" | "createdAt" | "updatedAt", ExtArgs["result"]["checkinvisita"]>
  export type checkinvisitaInclude<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    entrevistaDiagnostico?: boolean | checkinvisita$entrevistaDiagnosticoArgs<ExtArgs>
    cadastropf?: boolean | checkinvisita$cadastropfArgs<ExtArgs>
    cadastropj?: boolean | checkinvisita$cadastropjArgs<ExtArgs>
    planoacao?: boolean | checkinvisita$planoacaoArgs<ExtArgs>
    assinaturadigital?: boolean | checkinvisita$assinaturadigitalArgs<ExtArgs>
    checkout?: boolean | checkinvisita$checkoutArgs<ExtArgs>
    recordings?: boolean | checkinvisita$recordingsArgs<ExtArgs>
    _count?: boolean | CheckinvisitaCountOutputTypeDefaultArgs<ExtArgs>
  }

  export type $checkinvisitaPayload<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    name: "checkinvisita"
    objects: {
      entrevistaDiagnostico: Prisma.$entrevistaDiagnosticoPayload<ExtArgs>[]
      cadastropf: Prisma.$cadastropfPayload<ExtArgs>[]
      cadastropj: Prisma.$cadastropjPayload<ExtArgs>[]
      planoacao: Prisma.$planoacaoPayload<ExtArgs>[]
      assinaturadigital: Prisma.$assinaturadigitalPayload<ExtArgs>[]
      checkout: Prisma.$checkoutPayload<ExtArgs>[]
      recordings: Prisma.$recordingsPayload<ExtArgs>[]
    }
    scalars: $Extensions.GetPayloadResult<{
      id: string
      isAdmin: boolean
      userId: string
      envolvimentoGestao: string | null
      formalizadaPorteMeEpp: boolean
      disponibilidademomento: boolean
      latitude: string
      longitude: string
      processedAt: Date | null
      insertedAt: Date | null
      tipocadastro: $Enums.TipoCadastro | null
      createdAt: Date
      updatedAt: Date
    }, ExtArgs["result"]["checkinvisita"]>
    composites: {}
  }

  type checkinvisitaGetPayload<S extends boolean | null | undefined | checkinvisitaDefaultArgs> = $Result.GetResult<Prisma.$checkinvisitaPayload, S>

  type checkinvisitaCountArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> =
    Omit<checkinvisitaFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
      select?: CheckinvisitaCountAggregateInputType | true
    }

  export interface checkinvisitaDelegate<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> {
    [K: symbol]: { types: Prisma.TypeMap<ExtArgs>['model']['checkinvisita'], meta: { name: 'checkinvisita' } }
    /**
     * Find zero or one Checkinvisita that matches the filter.
     * @param {checkinvisitaFindUniqueArgs} args - Arguments to find a Checkinvisita
     * @example
     * // Get one Checkinvisita
     * const checkinvisita = await prisma.checkinvisita.findUnique({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUnique<T extends checkinvisitaFindUniqueArgs>(args: SelectSubset<T, checkinvisitaFindUniqueArgs<ExtArgs>>): Prisma__checkinvisitaClient<$Result.GetResult<Prisma.$checkinvisitaPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>

    /**
     * Find one Checkinvisita that matches the filter or throw an error with `error.code='P2025'`
     * if no matches were found.
     * @param {checkinvisitaFindUniqueOrThrowArgs} args - Arguments to find a Checkinvisita
     * @example
     * // Get one Checkinvisita
     * const checkinvisita = await prisma.checkinvisita.findUniqueOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUniqueOrThrow<T extends checkinvisitaFindUniqueOrThrowArgs>(args: SelectSubset<T, checkinvisitaFindUniqueOrThrowArgs<ExtArgs>>): Prisma__checkinvisitaClient<$Result.GetResult<Prisma.$checkinvisitaPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Find the first Checkinvisita 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 {checkinvisitaFindFirstArgs} args - Arguments to find a Checkinvisita
     * @example
     * // Get one Checkinvisita
     * const checkinvisita = await prisma.checkinvisita.findFirst({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirst<T extends checkinvisitaFindFirstArgs>(args?: SelectSubset<T, checkinvisitaFindFirstArgs<ExtArgs>>): Prisma__checkinvisitaClient<$Result.GetResult<Prisma.$checkinvisitaPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>

    /**
     * Find the first Checkinvisita 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 {checkinvisitaFindFirstOrThrowArgs} args - Arguments to find a Checkinvisita
     * @example
     * // Get one Checkinvisita
     * const checkinvisita = await prisma.checkinvisita.findFirstOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirstOrThrow<T extends checkinvisitaFindFirstOrThrowArgs>(args?: SelectSubset<T, checkinvisitaFindFirstOrThrowArgs<ExtArgs>>): Prisma__checkinvisitaClient<$Result.GetResult<Prisma.$checkinvisitaPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Find zero or more Checkinvisitas 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 {checkinvisitaFindManyArgs} args - Arguments to filter and select certain fields only.
     * @example
     * // Get all Checkinvisitas
     * const checkinvisitas = await prisma.checkinvisita.findMany()
     * 
     * // Get first 10 Checkinvisitas
     * const checkinvisitas = await prisma.checkinvisita.findMany({ take: 10 })
     * 
     * // Only select the `id`
     * const checkinvisitaWithIdOnly = await prisma.checkinvisita.findMany({ select: { id: true } })
     * 
     */
    findMany<T extends checkinvisitaFindManyArgs>(args?: SelectSubset<T, checkinvisitaFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$checkinvisitaPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>

    /**
     * Create a Checkinvisita.
     * @param {checkinvisitaCreateArgs} args - Arguments to create a Checkinvisita.
     * @example
     * // Create one Checkinvisita
     * const Checkinvisita = await prisma.checkinvisita.create({
     *   data: {
     *     // ... data to create a Checkinvisita
     *   }
     * })
     * 
     */
    create<T extends checkinvisitaCreateArgs>(args: SelectSubset<T, checkinvisitaCreateArgs<ExtArgs>>): Prisma__checkinvisitaClient<$Result.GetResult<Prisma.$checkinvisitaPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Create many Checkinvisitas.
     * @param {checkinvisitaCreateManyArgs} args - Arguments to create many Checkinvisitas.
     * @example
     * // Create many Checkinvisitas
     * const checkinvisita = await prisma.checkinvisita.createMany({
     *   data: [
     *     // ... provide data here
     *   ]
     * })
     *     
     */
    createMany<T extends checkinvisitaCreateManyArgs>(args?: SelectSubset<T, checkinvisitaCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Delete a Checkinvisita.
     * @param {checkinvisitaDeleteArgs} args - Arguments to delete one Checkinvisita.
     * @example
     * // Delete one Checkinvisita
     * const Checkinvisita = await prisma.checkinvisita.delete({
     *   where: {
     *     // ... filter to delete one Checkinvisita
     *   }
     * })
     * 
     */
    delete<T extends checkinvisitaDeleteArgs>(args: SelectSubset<T, checkinvisitaDeleteArgs<ExtArgs>>): Prisma__checkinvisitaClient<$Result.GetResult<Prisma.$checkinvisitaPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Update one Checkinvisita.
     * @param {checkinvisitaUpdateArgs} args - Arguments to update one Checkinvisita.
     * @example
     * // Update one Checkinvisita
     * const checkinvisita = await prisma.checkinvisita.update({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     * 
     */
    update<T extends checkinvisitaUpdateArgs>(args: SelectSubset<T, checkinvisitaUpdateArgs<ExtArgs>>): Prisma__checkinvisitaClient<$Result.GetResult<Prisma.$checkinvisitaPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Delete zero or more Checkinvisitas.
     * @param {checkinvisitaDeleteManyArgs} args - Arguments to filter Checkinvisitas to delete.
     * @example
     * // Delete a few Checkinvisitas
     * const { count } = await prisma.checkinvisita.deleteMany({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     * 
     */
    deleteMany<T extends checkinvisitaDeleteManyArgs>(args?: SelectSubset<T, checkinvisitaDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Update zero or more Checkinvisitas.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {checkinvisitaUpdateManyArgs} args - Arguments to update one or more rows.
     * @example
     * // Update many Checkinvisitas
     * const checkinvisita = await prisma.checkinvisita.updateMany({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     * 
     */
    updateMany<T extends checkinvisitaUpdateManyArgs>(args: SelectSubset<T, checkinvisitaUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Create or update one Checkinvisita.
     * @param {checkinvisitaUpsertArgs} args - Arguments to update or create a Checkinvisita.
     * @example
     * // Update or create a Checkinvisita
     * const checkinvisita = await prisma.checkinvisita.upsert({
     *   create: {
     *     // ... data to create a Checkinvisita
     *   },
     *   update: {
     *     // ... in case it already exists, update
     *   },
     *   where: {
     *     // ... the filter for the Checkinvisita we want to update
     *   }
     * })
     */
    upsert<T extends checkinvisitaUpsertArgs>(args: SelectSubset<T, checkinvisitaUpsertArgs<ExtArgs>>): Prisma__checkinvisitaClient<$Result.GetResult<Prisma.$checkinvisitaPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>


    /**
     * Count the number of Checkinvisitas.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {checkinvisitaCountArgs} args - Arguments to filter Checkinvisitas to count.
     * @example
     * // Count the number of Checkinvisitas
     * const count = await prisma.checkinvisita.count({
     *   where: {
     *     // ... the filter for the Checkinvisitas we want to count
     *   }
     * })
    **/
    count<T extends checkinvisitaCountArgs>(
      args?: Subset<T, checkinvisitaCountArgs>,
    ): Prisma.PrismaPromise<
      T extends $Utils.Record<'select', any>
        ? T['select'] extends true
          ? number
          : GetScalarType<T['select'], CheckinvisitaCountAggregateOutputType>
        : number
    >

    /**
     * Allows you to perform aggregations operations on a Checkinvisita.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {CheckinvisitaAggregateArgs} 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<T extends CheckinvisitaAggregateArgs>(args: Subset<T, CheckinvisitaAggregateArgs>): Prisma.PrismaPromise<GetCheckinvisitaAggregateType<T>>

    /**
     * Group by Checkinvisita.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {checkinvisitaGroupByArgs} 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 checkinvisitaGroupByArgs,
      HasSelectOrTake extends Or<
        Extends<'skip', Keys<T>>,
        Extends<'take', Keys<T>>
      >,
      OrderByArg extends True extends HasSelectOrTake
        ? { orderBy: checkinvisitaGroupByArgs['orderBy'] }
        : { orderBy?: checkinvisitaGroupByArgs['orderBy'] },
      OrderFields extends ExcludeUnderscoreKeys<Keys<MaybeTupleToUnion<T['orderBy']>>>,
      ByFields extends MaybeTupleToUnion<T['by']>,
      ByValid extends Has<ByFields, OrderFields>,
      HavingFields extends GetHavingFields<T['having']>,
      HavingValid extends Has<ByFields, HavingFields>,
      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<T>
      ? 'orderBy' extends Keys<T>
        ? 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<T>
      ? 'orderBy' extends Keys<T>
        ? 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<T, checkinvisitaGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetCheckinvisitaGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>
  /**
   * Fields of the checkinvisita model
   */
  readonly fields: checkinvisitaFieldRefs;
  }

  /**
   * The delegate class that acts as a "Promise-like" for checkinvisita.
   * 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__checkinvisitaClient<T, Null = never, ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
    readonly [Symbol.toStringTag]: "PrismaPromise"
    entrevistaDiagnostico<T extends checkinvisita$entrevistaDiagnosticoArgs<ExtArgs> = {}>(args?: Subset<T, checkinvisita$entrevistaDiagnosticoArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$entrevistaDiagnosticoPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>
    cadastropf<T extends checkinvisita$cadastropfArgs<ExtArgs> = {}>(args?: Subset<T, checkinvisita$cadastropfArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$cadastropfPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>
    cadastropj<T extends checkinvisita$cadastropjArgs<ExtArgs> = {}>(args?: Subset<T, checkinvisita$cadastropjArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$cadastropjPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>
    planoacao<T extends checkinvisita$planoacaoArgs<ExtArgs> = {}>(args?: Subset<T, checkinvisita$planoacaoArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$planoacaoPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>
    assinaturadigital<T extends checkinvisita$assinaturadigitalArgs<ExtArgs> = {}>(args?: Subset<T, checkinvisita$assinaturadigitalArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$assinaturadigitalPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>
    checkout<T extends checkinvisita$checkoutArgs<ExtArgs> = {}>(args?: Subset<T, checkinvisita$checkoutArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$checkoutPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>
    recordings<T extends checkinvisita$recordingsArgs<ExtArgs> = {}>(args?: Subset<T, checkinvisita$recordingsArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$recordingsPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | 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<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): $Utils.JsPromise<TResult1 | TResult2>
    /**
     * 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<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): $Utils.JsPromise<T | TResult>
    /**
     * 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<T>
  }




  /**
   * Fields of the checkinvisita model
   */
  interface checkinvisitaFieldRefs {
    readonly id: FieldRef<"checkinvisita", 'String'>
    readonly isAdmin: FieldRef<"checkinvisita", 'Boolean'>
    readonly userId: FieldRef<"checkinvisita", 'String'>
    readonly envolvimentoGestao: FieldRef<"checkinvisita", 'String'>
    readonly formalizadaPorteMeEpp: FieldRef<"checkinvisita", 'Boolean'>
    readonly disponibilidademomento: FieldRef<"checkinvisita", 'Boolean'>
    readonly latitude: FieldRef<"checkinvisita", 'String'>
    readonly longitude: FieldRef<"checkinvisita", 'String'>
    readonly processedAt: FieldRef<"checkinvisita", 'DateTime'>
    readonly insertedAt: FieldRef<"checkinvisita", 'DateTime'>
    readonly tipocadastro: FieldRef<"checkinvisita", 'TipoCadastro'>
    readonly createdAt: FieldRef<"checkinvisita", 'DateTime'>
    readonly updatedAt: FieldRef<"checkinvisita", 'DateTime'>
  }
    

  // Custom InputTypes
  /**
   * checkinvisita findUnique
   */
  export type checkinvisitaFindUniqueArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the checkinvisita
     */
    select?: checkinvisitaSelect<ExtArgs> | null
    /**
     * Omit specific fields from the checkinvisita
     */
    omit?: checkinvisitaOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: checkinvisitaInclude<ExtArgs> | null
    /**
     * Filter, which checkinvisita to fetch.
     */
    where: checkinvisitaWhereUniqueInput
  }

  /**
   * checkinvisita findUniqueOrThrow
   */
  export type checkinvisitaFindUniqueOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the checkinvisita
     */
    select?: checkinvisitaSelect<ExtArgs> | null
    /**
     * Omit specific fields from the checkinvisita
     */
    omit?: checkinvisitaOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: checkinvisitaInclude<ExtArgs> | null
    /**
     * Filter, which checkinvisita to fetch.
     */
    where: checkinvisitaWhereUniqueInput
  }

  /**
   * checkinvisita findFirst
   */
  export type checkinvisitaFindFirstArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the checkinvisita
     */
    select?: checkinvisitaSelect<ExtArgs> | null
    /**
     * Omit specific fields from the checkinvisita
     */
    omit?: checkinvisitaOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: checkinvisitaInclude<ExtArgs> | null
    /**
     * Filter, which checkinvisita to fetch.
     */
    where?: checkinvisitaWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of checkinvisitas to fetch.
     */
    orderBy?: checkinvisitaOrderByWithRelationInput | checkinvisitaOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for searching for checkinvisitas.
     */
    cursor?: checkinvisitaWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` checkinvisitas 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` checkinvisitas.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     * 
     * Filter by unique combinations of checkinvisitas.
     */
    distinct?: CheckinvisitaScalarFieldEnum | CheckinvisitaScalarFieldEnum[]
  }

  /**
   * checkinvisita findFirstOrThrow
   */
  export type checkinvisitaFindFirstOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the checkinvisita
     */
    select?: checkinvisitaSelect<ExtArgs> | null
    /**
     * Omit specific fields from the checkinvisita
     */
    omit?: checkinvisitaOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: checkinvisitaInclude<ExtArgs> | null
    /**
     * Filter, which checkinvisita to fetch.
     */
    where?: checkinvisitaWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of checkinvisitas to fetch.
     */
    orderBy?: checkinvisitaOrderByWithRelationInput | checkinvisitaOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for searching for checkinvisitas.
     */
    cursor?: checkinvisitaWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` checkinvisitas 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` checkinvisitas.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     * 
     * Filter by unique combinations of checkinvisitas.
     */
    distinct?: CheckinvisitaScalarFieldEnum | CheckinvisitaScalarFieldEnum[]
  }

  /**
   * checkinvisita findMany
   */
  export type checkinvisitaFindManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the checkinvisita
     */
    select?: checkinvisitaSelect<ExtArgs> | null
    /**
     * Omit specific fields from the checkinvisita
     */
    omit?: checkinvisitaOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: checkinvisitaInclude<ExtArgs> | null
    /**
     * Filter, which checkinvisitas to fetch.
     */
    where?: checkinvisitaWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of checkinvisitas to fetch.
     */
    orderBy?: checkinvisitaOrderByWithRelationInput | checkinvisitaOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for listing checkinvisitas.
     */
    cursor?: checkinvisitaWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` checkinvisitas 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` checkinvisitas.
     */
    skip?: number
    distinct?: CheckinvisitaScalarFieldEnum | CheckinvisitaScalarFieldEnum[]
  }

  /**
   * checkinvisita create
   */
  export type checkinvisitaCreateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the checkinvisita
     */
    select?: checkinvisitaSelect<ExtArgs> | null
    /**
     * Omit specific fields from the checkinvisita
     */
    omit?: checkinvisitaOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: checkinvisitaInclude<ExtArgs> | null
    /**
     * The data needed to create a checkinvisita.
     */
    data: XOR<checkinvisitaCreateInput, checkinvisitaUncheckedCreateInput>
  }

  /**
   * checkinvisita createMany
   */
  export type checkinvisitaCreateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * The data used to create many checkinvisitas.
     */
    data: checkinvisitaCreateManyInput | checkinvisitaCreateManyInput[]
    skipDuplicates?: boolean
  }

  /**
   * checkinvisita update
   */
  export type checkinvisitaUpdateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the checkinvisita
     */
    select?: checkinvisitaSelect<ExtArgs> | null
    /**
     * Omit specific fields from the checkinvisita
     */
    omit?: checkinvisitaOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: checkinvisitaInclude<ExtArgs> | null
    /**
     * The data needed to update a checkinvisita.
     */
    data: XOR<checkinvisitaUpdateInput, checkinvisitaUncheckedUpdateInput>
    /**
     * Choose, which checkinvisita to update.
     */
    where: checkinvisitaWhereUniqueInput
  }

  /**
   * checkinvisita updateMany
   */
  export type checkinvisitaUpdateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * The data used to update checkinvisitas.
     */
    data: XOR<checkinvisitaUpdateManyMutationInput, checkinvisitaUncheckedUpdateManyInput>
    /**
     * Filter which checkinvisitas to update
     */
    where?: checkinvisitaWhereInput
    /**
     * Limit how many checkinvisitas to update.
     */
    limit?: number
  }

  /**
   * checkinvisita upsert
   */
  export type checkinvisitaUpsertArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the checkinvisita
     */
    select?: checkinvisitaSelect<ExtArgs> | null
    /**
     * Omit specific fields from the checkinvisita
     */
    omit?: checkinvisitaOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: checkinvisitaInclude<ExtArgs> | null
    /**
     * The filter to search for the checkinvisita to update in case it exists.
     */
    where: checkinvisitaWhereUniqueInput
    /**
     * In case the checkinvisita found by the `where` argument doesn't exist, create a new checkinvisita with this data.
     */
    create: XOR<checkinvisitaCreateInput, checkinvisitaUncheckedCreateInput>
    /**
     * In case the checkinvisita was found with the provided `where` argument, update it with this data.
     */
    update: XOR<checkinvisitaUpdateInput, checkinvisitaUncheckedUpdateInput>
  }

  /**
   * checkinvisita delete
   */
  export type checkinvisitaDeleteArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the checkinvisita
     */
    select?: checkinvisitaSelect<ExtArgs> | null
    /**
     * Omit specific fields from the checkinvisita
     */
    omit?: checkinvisitaOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: checkinvisitaInclude<ExtArgs> | null
    /**
     * Filter which checkinvisita to delete.
     */
    where: checkinvisitaWhereUniqueInput
  }

  /**
   * checkinvisita deleteMany
   */
  export type checkinvisitaDeleteManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Filter which checkinvisitas to delete
     */
    where?: checkinvisitaWhereInput
    /**
     * Limit how many checkinvisitas to delete.
     */
    limit?: number
  }

  /**
   * checkinvisita.entrevistaDiagnostico
   */
  export type checkinvisita$entrevistaDiagnosticoArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the entrevistaDiagnostico
     */
    select?: entrevistaDiagnosticoSelect<ExtArgs> | null
    /**
     * Omit specific fields from the entrevistaDiagnostico
     */
    omit?: entrevistaDiagnosticoOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: entrevistaDiagnosticoInclude<ExtArgs> | null
    where?: entrevistaDiagnosticoWhereInput
    orderBy?: entrevistaDiagnosticoOrderByWithRelationInput | entrevistaDiagnosticoOrderByWithRelationInput[]
    cursor?: entrevistaDiagnosticoWhereUniqueInput
    take?: number
    skip?: number
    distinct?: EntrevistaDiagnosticoScalarFieldEnum | EntrevistaDiagnosticoScalarFieldEnum[]
  }

  /**
   * checkinvisita.cadastropf
   */
  export type checkinvisita$cadastropfArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cadastropf
     */
    select?: cadastropfSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cadastropf
     */
    omit?: cadastropfOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: cadastropfInclude<ExtArgs> | null
    where?: cadastropfWhereInput
    orderBy?: cadastropfOrderByWithRelationInput | cadastropfOrderByWithRelationInput[]
    cursor?: cadastropfWhereUniqueInput
    take?: number
    skip?: number
    distinct?: CadastropfScalarFieldEnum | CadastropfScalarFieldEnum[]
  }

  /**
   * checkinvisita.cadastropj
   */
  export type checkinvisita$cadastropjArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cadastropj
     */
    select?: cadastropjSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cadastropj
     */
    omit?: cadastropjOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: cadastropjInclude<ExtArgs> | null
    where?: cadastropjWhereInput
    orderBy?: cadastropjOrderByWithRelationInput | cadastropjOrderByWithRelationInput[]
    cursor?: cadastropjWhereUniqueInput
    take?: number
    skip?: number
    distinct?: CadastropjScalarFieldEnum | CadastropjScalarFieldEnum[]
  }

  /**
   * checkinvisita.planoacao
   */
  export type checkinvisita$planoacaoArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the planoacao
     */
    select?: planoacaoSelect<ExtArgs> | null
    /**
     * Omit specific fields from the planoacao
     */
    omit?: planoacaoOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: planoacaoInclude<ExtArgs> | null
    where?: planoacaoWhereInput
    orderBy?: planoacaoOrderByWithRelationInput | planoacaoOrderByWithRelationInput[]
    cursor?: planoacaoWhereUniqueInput
    take?: number
    skip?: number
    distinct?: PlanoacaoScalarFieldEnum | PlanoacaoScalarFieldEnum[]
  }

  /**
   * checkinvisita.assinaturadigital
   */
  export type checkinvisita$assinaturadigitalArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the assinaturadigital
     */
    select?: assinaturadigitalSelect<ExtArgs> | null
    /**
     * Omit specific fields from the assinaturadigital
     */
    omit?: assinaturadigitalOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: assinaturadigitalInclude<ExtArgs> | null
    where?: assinaturadigitalWhereInput
    orderBy?: assinaturadigitalOrderByWithRelationInput | assinaturadigitalOrderByWithRelationInput[]
    cursor?: assinaturadigitalWhereUniqueInput
    take?: number
    skip?: number
    distinct?: AssinaturadigitalScalarFieldEnum | AssinaturadigitalScalarFieldEnum[]
  }

  /**
   * checkinvisita.checkout
   */
  export type checkinvisita$checkoutArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the checkout
     */
    select?: checkoutSelect<ExtArgs> | null
    /**
     * Omit specific fields from the checkout
     */
    omit?: checkoutOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: checkoutInclude<ExtArgs> | null
    where?: checkoutWhereInput
    orderBy?: checkoutOrderByWithRelationInput | checkoutOrderByWithRelationInput[]
    cursor?: checkoutWhereUniqueInput
    take?: number
    skip?: number
    distinct?: CheckoutScalarFieldEnum | CheckoutScalarFieldEnum[]
  }

  /**
   * checkinvisita.recordings
   */
  export type checkinvisita$recordingsArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the recordings
     */
    select?: recordingsSelect<ExtArgs> | null
    /**
     * Omit specific fields from the recordings
     */
    omit?: recordingsOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: recordingsInclude<ExtArgs> | null
    where?: recordingsWhereInput
    orderBy?: recordingsOrderByWithRelationInput | recordingsOrderByWithRelationInput[]
    cursor?: recordingsWhereUniqueInput
    take?: number
    skip?: number
    distinct?: RecordingsScalarFieldEnum | RecordingsScalarFieldEnum[]
  }

  /**
   * checkinvisita without action
   */
  export type checkinvisitaDefaultArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the checkinvisita
     */
    select?: checkinvisitaSelect<ExtArgs> | null
    /**
     * Omit specific fields from the checkinvisita
     */
    omit?: checkinvisitaOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: checkinvisitaInclude<ExtArgs> | null
  }


  /**
   * Model cadastropf
   */

  export type AggregateCadastropf = {
    _count: CadastropfCountAggregateOutputType | null
    _min: CadastropfMinAggregateOutputType | null
    _max: CadastropfMaxAggregateOutputType | null
  }

  export type CadastropfMinAggregateOutputType = {
    id: string | null
    nome: string | null
    cpf: string | null
    sexo: string | null
    possuinomesocial: boolean | null
    nomesocial: string | null
    datanasc: Date | null
    escolaridade: string | null
    possuideficiencia: boolean | null
    deficiencia: string | null
    possuifuncionariocomdeficiencia: boolean | null
    cep: string | null
    tipologradoro: string | null
    endereco: string | null
    numero: string | null
    complemento: string | null
    bairro: string | null
    cidade: string | null
    estado: string | null
    aceitacontatopor: string | null
    telefone: string | null
    celular: string | null
    email: string | null
    userId: string | null
    checkinvisitaId: string | null
    createdAt: Date | null
    updatedAt: Date | null
  }

  export type CadastropfMaxAggregateOutputType = {
    id: string | null
    nome: string | null
    cpf: string | null
    sexo: string | null
    possuinomesocial: boolean | null
    nomesocial: string | null
    datanasc: Date | null
    escolaridade: string | null
    possuideficiencia: boolean | null
    deficiencia: string | null
    possuifuncionariocomdeficiencia: boolean | null
    cep: string | null
    tipologradoro: string | null
    endereco: string | null
    numero: string | null
    complemento: string | null
    bairro: string | null
    cidade: string | null
    estado: string | null
    aceitacontatopor: string | null
    telefone: string | null
    celular: string | null
    email: string | null
    userId: string | null
    checkinvisitaId: string | null
    createdAt: Date | null
    updatedAt: Date | null
  }

  export type CadastropfCountAggregateOutputType = {
    id: number
    nome: number
    cpf: number
    sexo: number
    possuinomesocial: number
    nomesocial: number
    datanasc: number
    escolaridade: number
    possuideficiencia: number
    deficiencia: number
    possuifuncionariocomdeficiencia: number
    cep: number
    tipologradoro: number
    endereco: number
    numero: number
    complemento: number
    bairro: number
    cidade: number
    estado: number
    aceitacontatopor: number
    telefone: number
    celular: number
    email: number
    userId: number
    checkinvisitaId: number
    createdAt: number
    updatedAt: number
    _all: number
  }


  export type CadastropfMinAggregateInputType = {
    id?: true
    nome?: true
    cpf?: true
    sexo?: true
    possuinomesocial?: true
    nomesocial?: true
    datanasc?: true
    escolaridade?: true
    possuideficiencia?: true
    deficiencia?: true
    possuifuncionariocomdeficiencia?: true
    cep?: true
    tipologradoro?: true
    endereco?: true
    numero?: true
    complemento?: true
    bairro?: true
    cidade?: true
    estado?: true
    aceitacontatopor?: true
    telefone?: true
    celular?: true
    email?: true
    userId?: true
    checkinvisitaId?: true
    createdAt?: true
    updatedAt?: true
  }

  export type CadastropfMaxAggregateInputType = {
    id?: true
    nome?: true
    cpf?: true
    sexo?: true
    possuinomesocial?: true
    nomesocial?: true
    datanasc?: true
    escolaridade?: true
    possuideficiencia?: true
    deficiencia?: true
    possuifuncionariocomdeficiencia?: true
    cep?: true
    tipologradoro?: true
    endereco?: true
    numero?: true
    complemento?: true
    bairro?: true
    cidade?: true
    estado?: true
    aceitacontatopor?: true
    telefone?: true
    celular?: true
    email?: true
    userId?: true
    checkinvisitaId?: true
    createdAt?: true
    updatedAt?: true
  }

  export type CadastropfCountAggregateInputType = {
    id?: true
    nome?: true
    cpf?: true
    sexo?: true
    possuinomesocial?: true
    nomesocial?: true
    datanasc?: true
    escolaridade?: true
    possuideficiencia?: true
    deficiencia?: true
    possuifuncionariocomdeficiencia?: true
    cep?: true
    tipologradoro?: true
    endereco?: true
    numero?: true
    complemento?: true
    bairro?: true
    cidade?: true
    estado?: true
    aceitacontatopor?: true
    telefone?: true
    celular?: true
    email?: true
    userId?: true
    checkinvisitaId?: true
    createdAt?: true
    updatedAt?: true
    _all?: true
  }

  export type CadastropfAggregateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Filter which cadastropf to aggregate.
     */
    where?: cadastropfWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of cadastropfs to fetch.
     */
    orderBy?: cadastropfOrderByWithRelationInput | cadastropfOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the start position
     */
    cursor?: cadastropfWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` cadastropfs 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` cadastropfs.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Count returned cadastropfs
    **/
    _count?: true | CadastropfCountAggregateInputType
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Select which fields to find the minimum value
    **/
    _min?: CadastropfMinAggregateInputType
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Select which fields to find the maximum value
    **/
    _max?: CadastropfMaxAggregateInputType
  }

  export type GetCadastropfAggregateType<T extends CadastropfAggregateArgs> = {
        [P in keyof T & keyof AggregateCadastropf]: P extends '_count' | 'count'
      ? T[P] extends true
        ? number
        : GetScalarType<T[P], AggregateCadastropf[P]>
      : GetScalarType<T[P], AggregateCadastropf[P]>
  }




  export type cadastropfGroupByArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    where?: cadastropfWhereInput
    orderBy?: cadastropfOrderByWithAggregationInput | cadastropfOrderByWithAggregationInput[]
    by: CadastropfScalarFieldEnum[] | CadastropfScalarFieldEnum
    having?: cadastropfScalarWhereWithAggregatesInput
    take?: number
    skip?: number
    _count?: CadastropfCountAggregateInputType | true
    _min?: CadastropfMinAggregateInputType
    _max?: CadastropfMaxAggregateInputType
  }

  export type CadastropfGroupByOutputType = {
    id: string
    nome: string
    cpf: string
    sexo: string
    possuinomesocial: boolean | null
    nomesocial: string | null
    datanasc: Date
    escolaridade: string
    possuideficiencia: boolean
    deficiencia: string | null
    possuifuncionariocomdeficiencia: boolean | null
    cep: string
    tipologradoro: string
    endereco: string
    numero: string
    complemento: string | null
    bairro: string
    cidade: string
    estado: string
    aceitacontatopor: string
    telefone: string | null
    celular: string | null
    email: string | null
    userId: string
    checkinvisitaId: string
    createdAt: Date
    updatedAt: Date
    _count: CadastropfCountAggregateOutputType | null
    _min: CadastropfMinAggregateOutputType | null
    _max: CadastropfMaxAggregateOutputType | null
  }

  type GetCadastropfGroupByPayload<T extends cadastropfGroupByArgs> = Prisma.PrismaPromise<
    Array<
      PickEnumerable<CadastropfGroupByOutputType, T['by']> &
        {
          [P in ((keyof T) & (keyof CadastropfGroupByOutputType))]: P extends '_count'
            ? T[P] extends boolean
              ? number
              : GetScalarType<T[P], CadastropfGroupByOutputType[P]>
            : GetScalarType<T[P], CadastropfGroupByOutputType[P]>
        }
      >
    >


  export type cadastropfSelect<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetSelect<{
    id?: boolean
    nome?: boolean
    cpf?: boolean
    sexo?: boolean
    possuinomesocial?: boolean
    nomesocial?: boolean
    datanasc?: boolean
    escolaridade?: boolean
    possuideficiencia?: boolean
    deficiencia?: boolean
    possuifuncionariocomdeficiencia?: boolean
    cep?: boolean
    tipologradoro?: boolean
    endereco?: boolean
    numero?: boolean
    complemento?: boolean
    bairro?: boolean
    cidade?: boolean
    estado?: boolean
    aceitacontatopor?: boolean
    telefone?: boolean
    celular?: boolean
    email?: boolean
    userId?: boolean
    checkinvisitaId?: boolean
    createdAt?: boolean
    updatedAt?: boolean
    checkinvisita?: boolean | cadastropf$checkinvisitaArgs<ExtArgs>
  }, ExtArgs["result"]["cadastropf"]>



  export type cadastropfSelectScalar = {
    id?: boolean
    nome?: boolean
    cpf?: boolean
    sexo?: boolean
    possuinomesocial?: boolean
    nomesocial?: boolean
    datanasc?: boolean
    escolaridade?: boolean
    possuideficiencia?: boolean
    deficiencia?: boolean
    possuifuncionariocomdeficiencia?: boolean
    cep?: boolean
    tipologradoro?: boolean
    endereco?: boolean
    numero?: boolean
    complemento?: boolean
    bairro?: boolean
    cidade?: boolean
    estado?: boolean
    aceitacontatopor?: boolean
    telefone?: boolean
    celular?: boolean
    email?: boolean
    userId?: boolean
    checkinvisitaId?: boolean
    createdAt?: boolean
    updatedAt?: boolean
  }

  export type cadastropfOmit<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetOmit<"id" | "nome" | "cpf" | "sexo" | "possuinomesocial" | "nomesocial" | "datanasc" | "escolaridade" | "possuideficiencia" | "deficiencia" | "possuifuncionariocomdeficiencia" | "cep" | "tipologradoro" | "endereco" | "numero" | "complemento" | "bairro" | "cidade" | "estado" | "aceitacontatopor" | "telefone" | "celular" | "email" | "userId" | "checkinvisitaId" | "createdAt" | "updatedAt", ExtArgs["result"]["cadastropf"]>
  export type cadastropfInclude<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    checkinvisita?: boolean | cadastropf$checkinvisitaArgs<ExtArgs>
  }

  export type $cadastropfPayload<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    name: "cadastropf"
    objects: {
      checkinvisita: Prisma.$checkinvisitaPayload<ExtArgs> | null
    }
    scalars: $Extensions.GetPayloadResult<{
      id: string
      nome: string
      cpf: string
      sexo: string
      possuinomesocial: boolean | null
      nomesocial: string | null
      datanasc: Date
      escolaridade: string
      possuideficiencia: boolean
      deficiencia: string | null
      possuifuncionariocomdeficiencia: boolean | null
      cep: string
      tipologradoro: string
      endereco: string
      numero: string
      complemento: string | null
      bairro: string
      cidade: string
      estado: string
      aceitacontatopor: string
      telefone: string | null
      celular: string | null
      email: string | null
      userId: string
      checkinvisitaId: string
      createdAt: Date
      updatedAt: Date
    }, ExtArgs["result"]["cadastropf"]>
    composites: {}
  }

  type cadastropfGetPayload<S extends boolean | null | undefined | cadastropfDefaultArgs> = $Result.GetResult<Prisma.$cadastropfPayload, S>

  type cadastropfCountArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> =
    Omit<cadastropfFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
      select?: CadastropfCountAggregateInputType | true
    }

  export interface cadastropfDelegate<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> {
    [K: symbol]: { types: Prisma.TypeMap<ExtArgs>['model']['cadastropf'], meta: { name: 'cadastropf' } }
    /**
     * Find zero or one Cadastropf that matches the filter.
     * @param {cadastropfFindUniqueArgs} args - Arguments to find a Cadastropf
     * @example
     * // Get one Cadastropf
     * const cadastropf = await prisma.cadastropf.findUnique({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUnique<T extends cadastropfFindUniqueArgs>(args: SelectSubset<T, cadastropfFindUniqueArgs<ExtArgs>>): Prisma__cadastropfClient<$Result.GetResult<Prisma.$cadastropfPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>

    /**
     * Find one Cadastropf that matches the filter or throw an error with `error.code='P2025'`
     * if no matches were found.
     * @param {cadastropfFindUniqueOrThrowArgs} args - Arguments to find a Cadastropf
     * @example
     * // Get one Cadastropf
     * const cadastropf = await prisma.cadastropf.findUniqueOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUniqueOrThrow<T extends cadastropfFindUniqueOrThrowArgs>(args: SelectSubset<T, cadastropfFindUniqueOrThrowArgs<ExtArgs>>): Prisma__cadastropfClient<$Result.GetResult<Prisma.$cadastropfPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Find the first Cadastropf 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 {cadastropfFindFirstArgs} args - Arguments to find a Cadastropf
     * @example
     * // Get one Cadastropf
     * const cadastropf = await prisma.cadastropf.findFirst({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirst<T extends cadastropfFindFirstArgs>(args?: SelectSubset<T, cadastropfFindFirstArgs<ExtArgs>>): Prisma__cadastropfClient<$Result.GetResult<Prisma.$cadastropfPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>

    /**
     * Find the first Cadastropf 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 {cadastropfFindFirstOrThrowArgs} args - Arguments to find a Cadastropf
     * @example
     * // Get one Cadastropf
     * const cadastropf = await prisma.cadastropf.findFirstOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirstOrThrow<T extends cadastropfFindFirstOrThrowArgs>(args?: SelectSubset<T, cadastropfFindFirstOrThrowArgs<ExtArgs>>): Prisma__cadastropfClient<$Result.GetResult<Prisma.$cadastropfPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Find zero or more Cadastropfs 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 {cadastropfFindManyArgs} args - Arguments to filter and select certain fields only.
     * @example
     * // Get all Cadastropfs
     * const cadastropfs = await prisma.cadastropf.findMany()
     * 
     * // Get first 10 Cadastropfs
     * const cadastropfs = await prisma.cadastropf.findMany({ take: 10 })
     * 
     * // Only select the `id`
     * const cadastropfWithIdOnly = await prisma.cadastropf.findMany({ select: { id: true } })
     * 
     */
    findMany<T extends cadastropfFindManyArgs>(args?: SelectSubset<T, cadastropfFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$cadastropfPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>

    /**
     * Create a Cadastropf.
     * @param {cadastropfCreateArgs} args - Arguments to create a Cadastropf.
     * @example
     * // Create one Cadastropf
     * const Cadastropf = await prisma.cadastropf.create({
     *   data: {
     *     // ... data to create a Cadastropf
     *   }
     * })
     * 
     */
    create<T extends cadastropfCreateArgs>(args: SelectSubset<T, cadastropfCreateArgs<ExtArgs>>): Prisma__cadastropfClient<$Result.GetResult<Prisma.$cadastropfPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Create many Cadastropfs.
     * @param {cadastropfCreateManyArgs} args - Arguments to create many Cadastropfs.
     * @example
     * // Create many Cadastropfs
     * const cadastropf = await prisma.cadastropf.createMany({
     *   data: [
     *     // ... provide data here
     *   ]
     * })
     *     
     */
    createMany<T extends cadastropfCreateManyArgs>(args?: SelectSubset<T, cadastropfCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Delete a Cadastropf.
     * @param {cadastropfDeleteArgs} args - Arguments to delete one Cadastropf.
     * @example
     * // Delete one Cadastropf
     * const Cadastropf = await prisma.cadastropf.delete({
     *   where: {
     *     // ... filter to delete one Cadastropf
     *   }
     * })
     * 
     */
    delete<T extends cadastropfDeleteArgs>(args: SelectSubset<T, cadastropfDeleteArgs<ExtArgs>>): Prisma__cadastropfClient<$Result.GetResult<Prisma.$cadastropfPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Update one Cadastropf.
     * @param {cadastropfUpdateArgs} args - Arguments to update one Cadastropf.
     * @example
     * // Update one Cadastropf
     * const cadastropf = await prisma.cadastropf.update({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     * 
     */
    update<T extends cadastropfUpdateArgs>(args: SelectSubset<T, cadastropfUpdateArgs<ExtArgs>>): Prisma__cadastropfClient<$Result.GetResult<Prisma.$cadastropfPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Delete zero or more Cadastropfs.
     * @param {cadastropfDeleteManyArgs} args - Arguments to filter Cadastropfs to delete.
     * @example
     * // Delete a few Cadastropfs
     * const { count } = await prisma.cadastropf.deleteMany({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     * 
     */
    deleteMany<T extends cadastropfDeleteManyArgs>(args?: SelectSubset<T, cadastropfDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Update zero or more Cadastropfs.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {cadastropfUpdateManyArgs} args - Arguments to update one or more rows.
     * @example
     * // Update many Cadastropfs
     * const cadastropf = await prisma.cadastropf.updateMany({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     * 
     */
    updateMany<T extends cadastropfUpdateManyArgs>(args: SelectSubset<T, cadastropfUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Create or update one Cadastropf.
     * @param {cadastropfUpsertArgs} args - Arguments to update or create a Cadastropf.
     * @example
     * // Update or create a Cadastropf
     * const cadastropf = await prisma.cadastropf.upsert({
     *   create: {
     *     // ... data to create a Cadastropf
     *   },
     *   update: {
     *     // ... in case it already exists, update
     *   },
     *   where: {
     *     // ... the filter for the Cadastropf we want to update
     *   }
     * })
     */
    upsert<T extends cadastropfUpsertArgs>(args: SelectSubset<T, cadastropfUpsertArgs<ExtArgs>>): Prisma__cadastropfClient<$Result.GetResult<Prisma.$cadastropfPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>


    /**
     * Count the number of Cadastropfs.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {cadastropfCountArgs} args - Arguments to filter Cadastropfs to count.
     * @example
     * // Count the number of Cadastropfs
     * const count = await prisma.cadastropf.count({
     *   where: {
     *     // ... the filter for the Cadastropfs we want to count
     *   }
     * })
    **/
    count<T extends cadastropfCountArgs>(
      args?: Subset<T, cadastropfCountArgs>,
    ): Prisma.PrismaPromise<
      T extends $Utils.Record<'select', any>
        ? T['select'] extends true
          ? number
          : GetScalarType<T['select'], CadastropfCountAggregateOutputType>
        : number
    >

    /**
     * Allows you to perform aggregations operations on a Cadastropf.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {CadastropfAggregateArgs} 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<T extends CadastropfAggregateArgs>(args: Subset<T, CadastropfAggregateArgs>): Prisma.PrismaPromise<GetCadastropfAggregateType<T>>

    /**
     * Group by Cadastropf.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {cadastropfGroupByArgs} 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 cadastropfGroupByArgs,
      HasSelectOrTake extends Or<
        Extends<'skip', Keys<T>>,
        Extends<'take', Keys<T>>
      >,
      OrderByArg extends True extends HasSelectOrTake
        ? { orderBy: cadastropfGroupByArgs['orderBy'] }
        : { orderBy?: cadastropfGroupByArgs['orderBy'] },
      OrderFields extends ExcludeUnderscoreKeys<Keys<MaybeTupleToUnion<T['orderBy']>>>,
      ByFields extends MaybeTupleToUnion<T['by']>,
      ByValid extends Has<ByFields, OrderFields>,
      HavingFields extends GetHavingFields<T['having']>,
      HavingValid extends Has<ByFields, HavingFields>,
      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<T>
      ? 'orderBy' extends Keys<T>
        ? 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<T>
      ? 'orderBy' extends Keys<T>
        ? 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<T, cadastropfGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetCadastropfGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>
  /**
   * Fields of the cadastropf model
   */
  readonly fields: cadastropfFieldRefs;
  }

  /**
   * The delegate class that acts as a "Promise-like" for cadastropf.
   * 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__cadastropfClient<T, Null = never, ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
    readonly [Symbol.toStringTag]: "PrismaPromise"
    checkinvisita<T extends cadastropf$checkinvisitaArgs<ExtArgs> = {}>(args?: Subset<T, cadastropf$checkinvisitaArgs<ExtArgs>>): Prisma__checkinvisitaClient<$Result.GetResult<Prisma.$checkinvisitaPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
    /**
     * 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<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): $Utils.JsPromise<TResult1 | TResult2>
    /**
     * 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<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): $Utils.JsPromise<T | TResult>
    /**
     * 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<T>
  }




  /**
   * Fields of the cadastropf model
   */
  interface cadastropfFieldRefs {
    readonly id: FieldRef<"cadastropf", 'String'>
    readonly nome: FieldRef<"cadastropf", 'String'>
    readonly cpf: FieldRef<"cadastropf", 'String'>
    readonly sexo: FieldRef<"cadastropf", 'String'>
    readonly possuinomesocial: FieldRef<"cadastropf", 'Boolean'>
    readonly nomesocial: FieldRef<"cadastropf", 'String'>
    readonly datanasc: FieldRef<"cadastropf", 'DateTime'>
    readonly escolaridade: FieldRef<"cadastropf", 'String'>
    readonly possuideficiencia: FieldRef<"cadastropf", 'Boolean'>
    readonly deficiencia: FieldRef<"cadastropf", 'String'>
    readonly possuifuncionariocomdeficiencia: FieldRef<"cadastropf", 'Boolean'>
    readonly cep: FieldRef<"cadastropf", 'String'>
    readonly tipologradoro: FieldRef<"cadastropf", 'String'>
    readonly endereco: FieldRef<"cadastropf", 'String'>
    readonly numero: FieldRef<"cadastropf", 'String'>
    readonly complemento: FieldRef<"cadastropf", 'String'>
    readonly bairro: FieldRef<"cadastropf", 'String'>
    readonly cidade: FieldRef<"cadastropf", 'String'>
    readonly estado: FieldRef<"cadastropf", 'String'>
    readonly aceitacontatopor: FieldRef<"cadastropf", 'String'>
    readonly telefone: FieldRef<"cadastropf", 'String'>
    readonly celular: FieldRef<"cadastropf", 'String'>
    readonly email: FieldRef<"cadastropf", 'String'>
    readonly userId: FieldRef<"cadastropf", 'String'>
    readonly checkinvisitaId: FieldRef<"cadastropf", 'String'>
    readonly createdAt: FieldRef<"cadastropf", 'DateTime'>
    readonly updatedAt: FieldRef<"cadastropf", 'DateTime'>
  }
    

  // Custom InputTypes
  /**
   * cadastropf findUnique
   */
  export type cadastropfFindUniqueArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cadastropf
     */
    select?: cadastropfSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cadastropf
     */
    omit?: cadastropfOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: cadastropfInclude<ExtArgs> | null
    /**
     * Filter, which cadastropf to fetch.
     */
    where: cadastropfWhereUniqueInput
  }

  /**
   * cadastropf findUniqueOrThrow
   */
  export type cadastropfFindUniqueOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cadastropf
     */
    select?: cadastropfSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cadastropf
     */
    omit?: cadastropfOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: cadastropfInclude<ExtArgs> | null
    /**
     * Filter, which cadastropf to fetch.
     */
    where: cadastropfWhereUniqueInput
  }

  /**
   * cadastropf findFirst
   */
  export type cadastropfFindFirstArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cadastropf
     */
    select?: cadastropfSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cadastropf
     */
    omit?: cadastropfOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: cadastropfInclude<ExtArgs> | null
    /**
     * Filter, which cadastropf to fetch.
     */
    where?: cadastropfWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of cadastropfs to fetch.
     */
    orderBy?: cadastropfOrderByWithRelationInput | cadastropfOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for searching for cadastropfs.
     */
    cursor?: cadastropfWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` cadastropfs 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` cadastropfs.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     * 
     * Filter by unique combinations of cadastropfs.
     */
    distinct?: CadastropfScalarFieldEnum | CadastropfScalarFieldEnum[]
  }

  /**
   * cadastropf findFirstOrThrow
   */
  export type cadastropfFindFirstOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cadastropf
     */
    select?: cadastropfSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cadastropf
     */
    omit?: cadastropfOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: cadastropfInclude<ExtArgs> | null
    /**
     * Filter, which cadastropf to fetch.
     */
    where?: cadastropfWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of cadastropfs to fetch.
     */
    orderBy?: cadastropfOrderByWithRelationInput | cadastropfOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for searching for cadastropfs.
     */
    cursor?: cadastropfWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` cadastropfs 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` cadastropfs.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     * 
     * Filter by unique combinations of cadastropfs.
     */
    distinct?: CadastropfScalarFieldEnum | CadastropfScalarFieldEnum[]
  }

  /**
   * cadastropf findMany
   */
  export type cadastropfFindManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cadastropf
     */
    select?: cadastropfSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cadastropf
     */
    omit?: cadastropfOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: cadastropfInclude<ExtArgs> | null
    /**
     * Filter, which cadastropfs to fetch.
     */
    where?: cadastropfWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of cadastropfs to fetch.
     */
    orderBy?: cadastropfOrderByWithRelationInput | cadastropfOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for listing cadastropfs.
     */
    cursor?: cadastropfWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` cadastropfs 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` cadastropfs.
     */
    skip?: number
    distinct?: CadastropfScalarFieldEnum | CadastropfScalarFieldEnum[]
  }

  /**
   * cadastropf create
   */
  export type cadastropfCreateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cadastropf
     */
    select?: cadastropfSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cadastropf
     */
    omit?: cadastropfOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: cadastropfInclude<ExtArgs> | null
    /**
     * The data needed to create a cadastropf.
     */
    data: XOR<cadastropfCreateInput, cadastropfUncheckedCreateInput>
  }

  /**
   * cadastropf createMany
   */
  export type cadastropfCreateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * The data used to create many cadastropfs.
     */
    data: cadastropfCreateManyInput | cadastropfCreateManyInput[]
    skipDuplicates?: boolean
  }

  /**
   * cadastropf update
   */
  export type cadastropfUpdateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cadastropf
     */
    select?: cadastropfSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cadastropf
     */
    omit?: cadastropfOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: cadastropfInclude<ExtArgs> | null
    /**
     * The data needed to update a cadastropf.
     */
    data: XOR<cadastropfUpdateInput, cadastropfUncheckedUpdateInput>
    /**
     * Choose, which cadastropf to update.
     */
    where: cadastropfWhereUniqueInput
  }

  /**
   * cadastropf updateMany
   */
  export type cadastropfUpdateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * The data used to update cadastropfs.
     */
    data: XOR<cadastropfUpdateManyMutationInput, cadastropfUncheckedUpdateManyInput>
    /**
     * Filter which cadastropfs to update
     */
    where?: cadastropfWhereInput
    /**
     * Limit how many cadastropfs to update.
     */
    limit?: number
  }

  /**
   * cadastropf upsert
   */
  export type cadastropfUpsertArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cadastropf
     */
    select?: cadastropfSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cadastropf
     */
    omit?: cadastropfOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: cadastropfInclude<ExtArgs> | null
    /**
     * The filter to search for the cadastropf to update in case it exists.
     */
    where: cadastropfWhereUniqueInput
    /**
     * In case the cadastropf found by the `where` argument doesn't exist, create a new cadastropf with this data.
     */
    create: XOR<cadastropfCreateInput, cadastropfUncheckedCreateInput>
    /**
     * In case the cadastropf was found with the provided `where` argument, update it with this data.
     */
    update: XOR<cadastropfUpdateInput, cadastropfUncheckedUpdateInput>
  }

  /**
   * cadastropf delete
   */
  export type cadastropfDeleteArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cadastropf
     */
    select?: cadastropfSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cadastropf
     */
    omit?: cadastropfOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: cadastropfInclude<ExtArgs> | null
    /**
     * Filter which cadastropf to delete.
     */
    where: cadastropfWhereUniqueInput
  }

  /**
   * cadastropf deleteMany
   */
  export type cadastropfDeleteManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Filter which cadastropfs to delete
     */
    where?: cadastropfWhereInput
    /**
     * Limit how many cadastropfs to delete.
     */
    limit?: number
  }

  /**
   * cadastropf.checkinvisita
   */
  export type cadastropf$checkinvisitaArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the checkinvisita
     */
    select?: checkinvisitaSelect<ExtArgs> | null
    /**
     * Omit specific fields from the checkinvisita
     */
    omit?: checkinvisitaOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: checkinvisitaInclude<ExtArgs> | null
    where?: checkinvisitaWhereInput
  }

  /**
   * cadastropf without action
   */
  export type cadastropfDefaultArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cadastropf
     */
    select?: cadastropfSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cadastropf
     */
    omit?: cadastropfOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: cadastropfInclude<ExtArgs> | null
  }


  /**
   * Model cadastropj
   */

  export type AggregateCadastropj = {
    _count: CadastropjCountAggregateOutputType | null
    _min: CadastropjMinAggregateOutputType | null
    _max: CadastropjMaxAggregateOutputType | null
  }

  export type CadastropjMinAggregateOutputType = {
    id: string | null
    cnpj: string | null
    razaosocial: string | null
    nomefantasia: string | null
    faixadefaturamento: string | null
    datadeabertura: Date | null
    setor: string | null
    cnae: string | null
    cep: string | null
    tipologradoro: string | null
    endereco: string | null
    numero: string | null
    complemento: string | null
    bairro: string | null
    cidade: string | null
    estado: string | null
    email: string | null
    naotememail: boolean | null
    telefone: string | null
    celular: string | null
    whatsapp: string | null
    checkinvisitaId: string | null
    userId: string | null
    createdAt: Date | null
    updatedAt: Date | null
  }

  export type CadastropjMaxAggregateOutputType = {
    id: string | null
    cnpj: string | null
    razaosocial: string | null
    nomefantasia: string | null
    faixadefaturamento: string | null
    datadeabertura: Date | null
    setor: string | null
    cnae: string | null
    cep: string | null
    tipologradoro: string | null
    endereco: string | null
    numero: string | null
    complemento: string | null
    bairro: string | null
    cidade: string | null
    estado: string | null
    email: string | null
    naotememail: boolean | null
    telefone: string | null
    celular: string | null
    whatsapp: string | null
    checkinvisitaId: string | null
    userId: string | null
    createdAt: Date | null
    updatedAt: Date | null
  }

  export type CadastropjCountAggregateOutputType = {
    id: number
    cnpj: number
    razaosocial: number
    nomefantasia: number
    faixadefaturamento: number
    datadeabertura: number
    setor: number
    cnae: number
    cep: number
    tipologradoro: number
    endereco: number
    numero: number
    complemento: number
    bairro: number
    cidade: number
    estado: number
    email: number
    naotememail: number
    telefone: number
    celular: number
    whatsapp: number
    checkinvisitaId: number
    userId: number
    createdAt: number
    updatedAt: number
    _all: number
  }


  export type CadastropjMinAggregateInputType = {
    id?: true
    cnpj?: true
    razaosocial?: true
    nomefantasia?: true
    faixadefaturamento?: true
    datadeabertura?: true
    setor?: true
    cnae?: true
    cep?: true
    tipologradoro?: true
    endereco?: true
    numero?: true
    complemento?: true
    bairro?: true
    cidade?: true
    estado?: true
    email?: true
    naotememail?: true
    telefone?: true
    celular?: true
    whatsapp?: true
    checkinvisitaId?: true
    userId?: true
    createdAt?: true
    updatedAt?: true
  }

  export type CadastropjMaxAggregateInputType = {
    id?: true
    cnpj?: true
    razaosocial?: true
    nomefantasia?: true
    faixadefaturamento?: true
    datadeabertura?: true
    setor?: true
    cnae?: true
    cep?: true
    tipologradoro?: true
    endereco?: true
    numero?: true
    complemento?: true
    bairro?: true
    cidade?: true
    estado?: true
    email?: true
    naotememail?: true
    telefone?: true
    celular?: true
    whatsapp?: true
    checkinvisitaId?: true
    userId?: true
    createdAt?: true
    updatedAt?: true
  }

  export type CadastropjCountAggregateInputType = {
    id?: true
    cnpj?: true
    razaosocial?: true
    nomefantasia?: true
    faixadefaturamento?: true
    datadeabertura?: true
    setor?: true
    cnae?: true
    cep?: true
    tipologradoro?: true
    endereco?: true
    numero?: true
    complemento?: true
    bairro?: true
    cidade?: true
    estado?: true
    email?: true
    naotememail?: true
    telefone?: true
    celular?: true
    whatsapp?: true
    checkinvisitaId?: true
    userId?: true
    createdAt?: true
    updatedAt?: true
    _all?: true
  }

  export type CadastropjAggregateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Filter which cadastropj to aggregate.
     */
    where?: cadastropjWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of cadastropjs to fetch.
     */
    orderBy?: cadastropjOrderByWithRelationInput | cadastropjOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the start position
     */
    cursor?: cadastropjWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` cadastropjs 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` cadastropjs.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Count returned cadastropjs
    **/
    _count?: true | CadastropjCountAggregateInputType
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Select which fields to find the minimum value
    **/
    _min?: CadastropjMinAggregateInputType
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Select which fields to find the maximum value
    **/
    _max?: CadastropjMaxAggregateInputType
  }

  export type GetCadastropjAggregateType<T extends CadastropjAggregateArgs> = {
        [P in keyof T & keyof AggregateCadastropj]: P extends '_count' | 'count'
      ? T[P] extends true
        ? number
        : GetScalarType<T[P], AggregateCadastropj[P]>
      : GetScalarType<T[P], AggregateCadastropj[P]>
  }




  export type cadastropjGroupByArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    where?: cadastropjWhereInput
    orderBy?: cadastropjOrderByWithAggregationInput | cadastropjOrderByWithAggregationInput[]
    by: CadastropjScalarFieldEnum[] | CadastropjScalarFieldEnum
    having?: cadastropjScalarWhereWithAggregatesInput
    take?: number
    skip?: number
    _count?: CadastropjCountAggregateInputType | true
    _min?: CadastropjMinAggregateInputType
    _max?: CadastropjMaxAggregateInputType
  }

  export type CadastropjGroupByOutputType = {
    id: string
    cnpj: string
    razaosocial: string
    nomefantasia: string
    faixadefaturamento: string
    datadeabertura: Date
    setor: string
    cnae: string
    cep: string
    tipologradoro: string
    endereco: string
    numero: string
    complemento: string | null
    bairro: string
    cidade: string
    estado: string
    email: string | null
    naotememail: boolean
    telefone: string
    celular: string
    whatsapp: string
    checkinvisitaId: string
    userId: string
    createdAt: Date
    updatedAt: Date
    _count: CadastropjCountAggregateOutputType | null
    _min: CadastropjMinAggregateOutputType | null
    _max: CadastropjMaxAggregateOutputType | null
  }

  type GetCadastropjGroupByPayload<T extends cadastropjGroupByArgs> = Prisma.PrismaPromise<
    Array<
      PickEnumerable<CadastropjGroupByOutputType, T['by']> &
        {
          [P in ((keyof T) & (keyof CadastropjGroupByOutputType))]: P extends '_count'
            ? T[P] extends boolean
              ? number
              : GetScalarType<T[P], CadastropjGroupByOutputType[P]>
            : GetScalarType<T[P], CadastropjGroupByOutputType[P]>
        }
      >
    >


  export type cadastropjSelect<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetSelect<{
    id?: boolean
    cnpj?: boolean
    razaosocial?: boolean
    nomefantasia?: boolean
    faixadefaturamento?: boolean
    datadeabertura?: boolean
    setor?: boolean
    cnae?: boolean
    cep?: boolean
    tipologradoro?: boolean
    endereco?: boolean
    numero?: boolean
    complemento?: boolean
    bairro?: boolean
    cidade?: boolean
    estado?: boolean
    email?: boolean
    naotememail?: boolean
    telefone?: boolean
    celular?: boolean
    whatsapp?: boolean
    checkinvisitaId?: boolean
    userId?: boolean
    createdAt?: boolean
    updatedAt?: boolean
    checkinvisita?: boolean | cadastropj$checkinvisitaArgs<ExtArgs>
  }, ExtArgs["result"]["cadastropj"]>



  export type cadastropjSelectScalar = {
    id?: boolean
    cnpj?: boolean
    razaosocial?: boolean
    nomefantasia?: boolean
    faixadefaturamento?: boolean
    datadeabertura?: boolean
    setor?: boolean
    cnae?: boolean
    cep?: boolean
    tipologradoro?: boolean
    endereco?: boolean
    numero?: boolean
    complemento?: boolean
    bairro?: boolean
    cidade?: boolean
    estado?: boolean
    email?: boolean
    naotememail?: boolean
    telefone?: boolean
    celular?: boolean
    whatsapp?: boolean
    checkinvisitaId?: boolean
    userId?: boolean
    createdAt?: boolean
    updatedAt?: boolean
  }

  export type cadastropjOmit<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetOmit<"id" | "cnpj" | "razaosocial" | "nomefantasia" | "faixadefaturamento" | "datadeabertura" | "setor" | "cnae" | "cep" | "tipologradoro" | "endereco" | "numero" | "complemento" | "bairro" | "cidade" | "estado" | "email" | "naotememail" | "telefone" | "celular" | "whatsapp" | "checkinvisitaId" | "userId" | "createdAt" | "updatedAt", ExtArgs["result"]["cadastropj"]>
  export type cadastropjInclude<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    checkinvisita?: boolean | cadastropj$checkinvisitaArgs<ExtArgs>
  }

  export type $cadastropjPayload<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    name: "cadastropj"
    objects: {
      checkinvisita: Prisma.$checkinvisitaPayload<ExtArgs> | null
    }
    scalars: $Extensions.GetPayloadResult<{
      id: string
      cnpj: string
      razaosocial: string
      nomefantasia: string
      faixadefaturamento: string
      datadeabertura: Date
      setor: string
      cnae: string
      cep: string
      tipologradoro: string
      endereco: string
      numero: string
      complemento: string | null
      bairro: string
      cidade: string
      estado: string
      email: string | null
      naotememail: boolean
      telefone: string
      celular: string
      whatsapp: string
      checkinvisitaId: string
      userId: string
      createdAt: Date
      updatedAt: Date
    }, ExtArgs["result"]["cadastropj"]>
    composites: {}
  }

  type cadastropjGetPayload<S extends boolean | null | undefined | cadastropjDefaultArgs> = $Result.GetResult<Prisma.$cadastropjPayload, S>

  type cadastropjCountArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> =
    Omit<cadastropjFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
      select?: CadastropjCountAggregateInputType | true
    }

  export interface cadastropjDelegate<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> {
    [K: symbol]: { types: Prisma.TypeMap<ExtArgs>['model']['cadastropj'], meta: { name: 'cadastropj' } }
    /**
     * Find zero or one Cadastropj that matches the filter.
     * @param {cadastropjFindUniqueArgs} args - Arguments to find a Cadastropj
     * @example
     * // Get one Cadastropj
     * const cadastropj = await prisma.cadastropj.findUnique({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUnique<T extends cadastropjFindUniqueArgs>(args: SelectSubset<T, cadastropjFindUniqueArgs<ExtArgs>>): Prisma__cadastropjClient<$Result.GetResult<Prisma.$cadastropjPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>

    /**
     * Find one Cadastropj that matches the filter or throw an error with `error.code='P2025'`
     * if no matches were found.
     * @param {cadastropjFindUniqueOrThrowArgs} args - Arguments to find a Cadastropj
     * @example
     * // Get one Cadastropj
     * const cadastropj = await prisma.cadastropj.findUniqueOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUniqueOrThrow<T extends cadastropjFindUniqueOrThrowArgs>(args: SelectSubset<T, cadastropjFindUniqueOrThrowArgs<ExtArgs>>): Prisma__cadastropjClient<$Result.GetResult<Prisma.$cadastropjPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Find the first Cadastropj 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 {cadastropjFindFirstArgs} args - Arguments to find a Cadastropj
     * @example
     * // Get one Cadastropj
     * const cadastropj = await prisma.cadastropj.findFirst({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirst<T extends cadastropjFindFirstArgs>(args?: SelectSubset<T, cadastropjFindFirstArgs<ExtArgs>>): Prisma__cadastropjClient<$Result.GetResult<Prisma.$cadastropjPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>

    /**
     * Find the first Cadastropj 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 {cadastropjFindFirstOrThrowArgs} args - Arguments to find a Cadastropj
     * @example
     * // Get one Cadastropj
     * const cadastropj = await prisma.cadastropj.findFirstOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirstOrThrow<T extends cadastropjFindFirstOrThrowArgs>(args?: SelectSubset<T, cadastropjFindFirstOrThrowArgs<ExtArgs>>): Prisma__cadastropjClient<$Result.GetResult<Prisma.$cadastropjPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Find zero or more Cadastropjs 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 {cadastropjFindManyArgs} args - Arguments to filter and select certain fields only.
     * @example
     * // Get all Cadastropjs
     * const cadastropjs = await prisma.cadastropj.findMany()
     * 
     * // Get first 10 Cadastropjs
     * const cadastropjs = await prisma.cadastropj.findMany({ take: 10 })
     * 
     * // Only select the `id`
     * const cadastropjWithIdOnly = await prisma.cadastropj.findMany({ select: { id: true } })
     * 
     */
    findMany<T extends cadastropjFindManyArgs>(args?: SelectSubset<T, cadastropjFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$cadastropjPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>

    /**
     * Create a Cadastropj.
     * @param {cadastropjCreateArgs} args - Arguments to create a Cadastropj.
     * @example
     * // Create one Cadastropj
     * const Cadastropj = await prisma.cadastropj.create({
     *   data: {
     *     // ... data to create a Cadastropj
     *   }
     * })
     * 
     */
    create<T extends cadastropjCreateArgs>(args: SelectSubset<T, cadastropjCreateArgs<ExtArgs>>): Prisma__cadastropjClient<$Result.GetResult<Prisma.$cadastropjPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Create many Cadastropjs.
     * @param {cadastropjCreateManyArgs} args - Arguments to create many Cadastropjs.
     * @example
     * // Create many Cadastropjs
     * const cadastropj = await prisma.cadastropj.createMany({
     *   data: [
     *     // ... provide data here
     *   ]
     * })
     *     
     */
    createMany<T extends cadastropjCreateManyArgs>(args?: SelectSubset<T, cadastropjCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Delete a Cadastropj.
     * @param {cadastropjDeleteArgs} args - Arguments to delete one Cadastropj.
     * @example
     * // Delete one Cadastropj
     * const Cadastropj = await prisma.cadastropj.delete({
     *   where: {
     *     // ... filter to delete one Cadastropj
     *   }
     * })
     * 
     */
    delete<T extends cadastropjDeleteArgs>(args: SelectSubset<T, cadastropjDeleteArgs<ExtArgs>>): Prisma__cadastropjClient<$Result.GetResult<Prisma.$cadastropjPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Update one Cadastropj.
     * @param {cadastropjUpdateArgs} args - Arguments to update one Cadastropj.
     * @example
     * // Update one Cadastropj
     * const cadastropj = await prisma.cadastropj.update({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     * 
     */
    update<T extends cadastropjUpdateArgs>(args: SelectSubset<T, cadastropjUpdateArgs<ExtArgs>>): Prisma__cadastropjClient<$Result.GetResult<Prisma.$cadastropjPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Delete zero or more Cadastropjs.
     * @param {cadastropjDeleteManyArgs} args - Arguments to filter Cadastropjs to delete.
     * @example
     * // Delete a few Cadastropjs
     * const { count } = await prisma.cadastropj.deleteMany({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     * 
     */
    deleteMany<T extends cadastropjDeleteManyArgs>(args?: SelectSubset<T, cadastropjDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Update zero or more Cadastropjs.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {cadastropjUpdateManyArgs} args - Arguments to update one or more rows.
     * @example
     * // Update many Cadastropjs
     * const cadastropj = await prisma.cadastropj.updateMany({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     * 
     */
    updateMany<T extends cadastropjUpdateManyArgs>(args: SelectSubset<T, cadastropjUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Create or update one Cadastropj.
     * @param {cadastropjUpsertArgs} args - Arguments to update or create a Cadastropj.
     * @example
     * // Update or create a Cadastropj
     * const cadastropj = await prisma.cadastropj.upsert({
     *   create: {
     *     // ... data to create a Cadastropj
     *   },
     *   update: {
     *     // ... in case it already exists, update
     *   },
     *   where: {
     *     // ... the filter for the Cadastropj we want to update
     *   }
     * })
     */
    upsert<T extends cadastropjUpsertArgs>(args: SelectSubset<T, cadastropjUpsertArgs<ExtArgs>>): Prisma__cadastropjClient<$Result.GetResult<Prisma.$cadastropjPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>


    /**
     * Count the number of Cadastropjs.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {cadastropjCountArgs} args - Arguments to filter Cadastropjs to count.
     * @example
     * // Count the number of Cadastropjs
     * const count = await prisma.cadastropj.count({
     *   where: {
     *     // ... the filter for the Cadastropjs we want to count
     *   }
     * })
    **/
    count<T extends cadastropjCountArgs>(
      args?: Subset<T, cadastropjCountArgs>,
    ): Prisma.PrismaPromise<
      T extends $Utils.Record<'select', any>
        ? T['select'] extends true
          ? number
          : GetScalarType<T['select'], CadastropjCountAggregateOutputType>
        : number
    >

    /**
     * Allows you to perform aggregations operations on a Cadastropj.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {CadastropjAggregateArgs} 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<T extends CadastropjAggregateArgs>(args: Subset<T, CadastropjAggregateArgs>): Prisma.PrismaPromise<GetCadastropjAggregateType<T>>

    /**
     * Group by Cadastropj.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {cadastropjGroupByArgs} 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 cadastropjGroupByArgs,
      HasSelectOrTake extends Or<
        Extends<'skip', Keys<T>>,
        Extends<'take', Keys<T>>
      >,
      OrderByArg extends True extends HasSelectOrTake
        ? { orderBy: cadastropjGroupByArgs['orderBy'] }
        : { orderBy?: cadastropjGroupByArgs['orderBy'] },
      OrderFields extends ExcludeUnderscoreKeys<Keys<MaybeTupleToUnion<T['orderBy']>>>,
      ByFields extends MaybeTupleToUnion<T['by']>,
      ByValid extends Has<ByFields, OrderFields>,
      HavingFields extends GetHavingFields<T['having']>,
      HavingValid extends Has<ByFields, HavingFields>,
      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<T>
      ? 'orderBy' extends Keys<T>
        ? 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<T>
      ? 'orderBy' extends Keys<T>
        ? 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<T, cadastropjGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetCadastropjGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>
  /**
   * Fields of the cadastropj model
   */
  readonly fields: cadastropjFieldRefs;
  }

  /**
   * The delegate class that acts as a "Promise-like" for cadastropj.
   * 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__cadastropjClient<T, Null = never, ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
    readonly [Symbol.toStringTag]: "PrismaPromise"
    checkinvisita<T extends cadastropj$checkinvisitaArgs<ExtArgs> = {}>(args?: Subset<T, cadastropj$checkinvisitaArgs<ExtArgs>>): Prisma__checkinvisitaClient<$Result.GetResult<Prisma.$checkinvisitaPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
    /**
     * 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<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): $Utils.JsPromise<TResult1 | TResult2>
    /**
     * 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<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): $Utils.JsPromise<T | TResult>
    /**
     * 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<T>
  }




  /**
   * Fields of the cadastropj model
   */
  interface cadastropjFieldRefs {
    readonly id: FieldRef<"cadastropj", 'String'>
    readonly cnpj: FieldRef<"cadastropj", 'String'>
    readonly razaosocial: FieldRef<"cadastropj", 'String'>
    readonly nomefantasia: FieldRef<"cadastropj", 'String'>
    readonly faixadefaturamento: FieldRef<"cadastropj", 'String'>
    readonly datadeabertura: FieldRef<"cadastropj", 'DateTime'>
    readonly setor: FieldRef<"cadastropj", 'String'>
    readonly cnae: FieldRef<"cadastropj", 'String'>
    readonly cep: FieldRef<"cadastropj", 'String'>
    readonly tipologradoro: FieldRef<"cadastropj", 'String'>
    readonly endereco: FieldRef<"cadastropj", 'String'>
    readonly numero: FieldRef<"cadastropj", 'String'>
    readonly complemento: FieldRef<"cadastropj", 'String'>
    readonly bairro: FieldRef<"cadastropj", 'String'>
    readonly cidade: FieldRef<"cadastropj", 'String'>
    readonly estado: FieldRef<"cadastropj", 'String'>
    readonly email: FieldRef<"cadastropj", 'String'>
    readonly naotememail: FieldRef<"cadastropj", 'Boolean'>
    readonly telefone: FieldRef<"cadastropj", 'String'>
    readonly celular: FieldRef<"cadastropj", 'String'>
    readonly whatsapp: FieldRef<"cadastropj", 'String'>
    readonly checkinvisitaId: FieldRef<"cadastropj", 'String'>
    readonly userId: FieldRef<"cadastropj", 'String'>
    readonly createdAt: FieldRef<"cadastropj", 'DateTime'>
    readonly updatedAt: FieldRef<"cadastropj", 'DateTime'>
  }
    

  // Custom InputTypes
  /**
   * cadastropj findUnique
   */
  export type cadastropjFindUniqueArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cadastropj
     */
    select?: cadastropjSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cadastropj
     */
    omit?: cadastropjOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: cadastropjInclude<ExtArgs> | null
    /**
     * Filter, which cadastropj to fetch.
     */
    where: cadastropjWhereUniqueInput
  }

  /**
   * cadastropj findUniqueOrThrow
   */
  export type cadastropjFindUniqueOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cadastropj
     */
    select?: cadastropjSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cadastropj
     */
    omit?: cadastropjOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: cadastropjInclude<ExtArgs> | null
    /**
     * Filter, which cadastropj to fetch.
     */
    where: cadastropjWhereUniqueInput
  }

  /**
   * cadastropj findFirst
   */
  export type cadastropjFindFirstArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cadastropj
     */
    select?: cadastropjSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cadastropj
     */
    omit?: cadastropjOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: cadastropjInclude<ExtArgs> | null
    /**
     * Filter, which cadastropj to fetch.
     */
    where?: cadastropjWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of cadastropjs to fetch.
     */
    orderBy?: cadastropjOrderByWithRelationInput | cadastropjOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for searching for cadastropjs.
     */
    cursor?: cadastropjWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` cadastropjs 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` cadastropjs.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     * 
     * Filter by unique combinations of cadastropjs.
     */
    distinct?: CadastropjScalarFieldEnum | CadastropjScalarFieldEnum[]
  }

  /**
   * cadastropj findFirstOrThrow
   */
  export type cadastropjFindFirstOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cadastropj
     */
    select?: cadastropjSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cadastropj
     */
    omit?: cadastropjOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: cadastropjInclude<ExtArgs> | null
    /**
     * Filter, which cadastropj to fetch.
     */
    where?: cadastropjWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of cadastropjs to fetch.
     */
    orderBy?: cadastropjOrderByWithRelationInput | cadastropjOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for searching for cadastropjs.
     */
    cursor?: cadastropjWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` cadastropjs 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` cadastropjs.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     * 
     * Filter by unique combinations of cadastropjs.
     */
    distinct?: CadastropjScalarFieldEnum | CadastropjScalarFieldEnum[]
  }

  /**
   * cadastropj findMany
   */
  export type cadastropjFindManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cadastropj
     */
    select?: cadastropjSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cadastropj
     */
    omit?: cadastropjOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: cadastropjInclude<ExtArgs> | null
    /**
     * Filter, which cadastropjs to fetch.
     */
    where?: cadastropjWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of cadastropjs to fetch.
     */
    orderBy?: cadastropjOrderByWithRelationInput | cadastropjOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for listing cadastropjs.
     */
    cursor?: cadastropjWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` cadastropjs 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` cadastropjs.
     */
    skip?: number
    distinct?: CadastropjScalarFieldEnum | CadastropjScalarFieldEnum[]
  }

  /**
   * cadastropj create
   */
  export type cadastropjCreateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cadastropj
     */
    select?: cadastropjSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cadastropj
     */
    omit?: cadastropjOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: cadastropjInclude<ExtArgs> | null
    /**
     * The data needed to create a cadastropj.
     */
    data: XOR<cadastropjCreateInput, cadastropjUncheckedCreateInput>
  }

  /**
   * cadastropj createMany
   */
  export type cadastropjCreateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * The data used to create many cadastropjs.
     */
    data: cadastropjCreateManyInput | cadastropjCreateManyInput[]
    skipDuplicates?: boolean
  }

  /**
   * cadastropj update
   */
  export type cadastropjUpdateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cadastropj
     */
    select?: cadastropjSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cadastropj
     */
    omit?: cadastropjOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: cadastropjInclude<ExtArgs> | null
    /**
     * The data needed to update a cadastropj.
     */
    data: XOR<cadastropjUpdateInput, cadastropjUncheckedUpdateInput>
    /**
     * Choose, which cadastropj to update.
     */
    where: cadastropjWhereUniqueInput
  }

  /**
   * cadastropj updateMany
   */
  export type cadastropjUpdateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * The data used to update cadastropjs.
     */
    data: XOR<cadastropjUpdateManyMutationInput, cadastropjUncheckedUpdateManyInput>
    /**
     * Filter which cadastropjs to update
     */
    where?: cadastropjWhereInput
    /**
     * Limit how many cadastropjs to update.
     */
    limit?: number
  }

  /**
   * cadastropj upsert
   */
  export type cadastropjUpsertArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cadastropj
     */
    select?: cadastropjSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cadastropj
     */
    omit?: cadastropjOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: cadastropjInclude<ExtArgs> | null
    /**
     * The filter to search for the cadastropj to update in case it exists.
     */
    where: cadastropjWhereUniqueInput
    /**
     * In case the cadastropj found by the `where` argument doesn't exist, create a new cadastropj with this data.
     */
    create: XOR<cadastropjCreateInput, cadastropjUncheckedCreateInput>
    /**
     * In case the cadastropj was found with the provided `where` argument, update it with this data.
     */
    update: XOR<cadastropjUpdateInput, cadastropjUncheckedUpdateInput>
  }

  /**
   * cadastropj delete
   */
  export type cadastropjDeleteArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cadastropj
     */
    select?: cadastropjSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cadastropj
     */
    omit?: cadastropjOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: cadastropjInclude<ExtArgs> | null
    /**
     * Filter which cadastropj to delete.
     */
    where: cadastropjWhereUniqueInput
  }

  /**
   * cadastropj deleteMany
   */
  export type cadastropjDeleteManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Filter which cadastropjs to delete
     */
    where?: cadastropjWhereInput
    /**
     * Limit how many cadastropjs to delete.
     */
    limit?: number
  }

  /**
   * cadastropj.checkinvisita
   */
  export type cadastropj$checkinvisitaArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the checkinvisita
     */
    select?: checkinvisitaSelect<ExtArgs> | null
    /**
     * Omit specific fields from the checkinvisita
     */
    omit?: checkinvisitaOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: checkinvisitaInclude<ExtArgs> | null
    where?: checkinvisitaWhereInput
  }

  /**
   * cadastropj without action
   */
  export type cadastropjDefaultArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cadastropj
     */
    select?: cadastropjSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cadastropj
     */
    omit?: cadastropjOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: cadastropjInclude<ExtArgs> | null
  }


  /**
   * Model planoacao
   */

  export type AggregatePlanoacao = {
    _count: PlanoacaoCountAggregateOutputType | null
    _min: PlanoacaoMinAggregateOutputType | null
    _max: PlanoacaoMaxAggregateOutputType | null
  }

  export type PlanoacaoMinAggregateOutputType = {
    id: string | null
    userId: string | null
    planoAcao: string | null
    checkinvisitaId: string | null
    createdAt: Date | null
    updatedAt: Date | null
  }

  export type PlanoacaoMaxAggregateOutputType = {
    id: string | null
    userId: string | null
    planoAcao: string | null
    checkinvisitaId: string | null
    createdAt: Date | null
    updatedAt: Date | null
  }

  export type PlanoacaoCountAggregateOutputType = {
    id: number
    userId: number
    planoAcao: number
    checkinvisitaId: number
    createdAt: number
    updatedAt: number
    _all: number
  }


  export type PlanoacaoMinAggregateInputType = {
    id?: true
    userId?: true
    planoAcao?: true
    checkinvisitaId?: true
    createdAt?: true
    updatedAt?: true
  }

  export type PlanoacaoMaxAggregateInputType = {
    id?: true
    userId?: true
    planoAcao?: true
    checkinvisitaId?: true
    createdAt?: true
    updatedAt?: true
  }

  export type PlanoacaoCountAggregateInputType = {
    id?: true
    userId?: true
    planoAcao?: true
    checkinvisitaId?: true
    createdAt?: true
    updatedAt?: true
    _all?: true
  }

  export type PlanoacaoAggregateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Filter which planoacao to aggregate.
     */
    where?: planoacaoWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of planoacaos to fetch.
     */
    orderBy?: planoacaoOrderByWithRelationInput | planoacaoOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the start position
     */
    cursor?: planoacaoWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` planoacaos 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` planoacaos.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Count returned planoacaos
    **/
    _count?: true | PlanoacaoCountAggregateInputType
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Select which fields to find the minimum value
    **/
    _min?: PlanoacaoMinAggregateInputType
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Select which fields to find the maximum value
    **/
    _max?: PlanoacaoMaxAggregateInputType
  }

  export type GetPlanoacaoAggregateType<T extends PlanoacaoAggregateArgs> = {
        [P in keyof T & keyof AggregatePlanoacao]: P extends '_count' | 'count'
      ? T[P] extends true
        ? number
        : GetScalarType<T[P], AggregatePlanoacao[P]>
      : GetScalarType<T[P], AggregatePlanoacao[P]>
  }




  export type planoacaoGroupByArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    where?: planoacaoWhereInput
    orderBy?: planoacaoOrderByWithAggregationInput | planoacaoOrderByWithAggregationInput[]
    by: PlanoacaoScalarFieldEnum[] | PlanoacaoScalarFieldEnum
    having?: planoacaoScalarWhereWithAggregatesInput
    take?: number
    skip?: number
    _count?: PlanoacaoCountAggregateInputType | true
    _min?: PlanoacaoMinAggregateInputType
    _max?: PlanoacaoMaxAggregateInputType
  }

  export type PlanoacaoGroupByOutputType = {
    id: string
    userId: string
    planoAcao: string
    checkinvisitaId: string
    createdAt: Date
    updatedAt: Date
    _count: PlanoacaoCountAggregateOutputType | null
    _min: PlanoacaoMinAggregateOutputType | null
    _max: PlanoacaoMaxAggregateOutputType | null
  }

  type GetPlanoacaoGroupByPayload<T extends planoacaoGroupByArgs> = Prisma.PrismaPromise<
    Array<
      PickEnumerable<PlanoacaoGroupByOutputType, T['by']> &
        {
          [P in ((keyof T) & (keyof PlanoacaoGroupByOutputType))]: P extends '_count'
            ? T[P] extends boolean
              ? number
              : GetScalarType<T[P], PlanoacaoGroupByOutputType[P]>
            : GetScalarType<T[P], PlanoacaoGroupByOutputType[P]>
        }
      >
    >


  export type planoacaoSelect<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetSelect<{
    id?: boolean
    userId?: boolean
    planoAcao?: boolean
    checkinvisitaId?: boolean
    createdAt?: boolean
    updatedAt?: boolean
    checkinvisita?: boolean | planoacao$checkinvisitaArgs<ExtArgs>
  }, ExtArgs["result"]["planoacao"]>



  export type planoacaoSelectScalar = {
    id?: boolean
    userId?: boolean
    planoAcao?: boolean
    checkinvisitaId?: boolean
    createdAt?: boolean
    updatedAt?: boolean
  }

  export type planoacaoOmit<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetOmit<"id" | "userId" | "planoAcao" | "checkinvisitaId" | "createdAt" | "updatedAt", ExtArgs["result"]["planoacao"]>
  export type planoacaoInclude<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    checkinvisita?: boolean | planoacao$checkinvisitaArgs<ExtArgs>
  }

  export type $planoacaoPayload<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    name: "planoacao"
    objects: {
      checkinvisita: Prisma.$checkinvisitaPayload<ExtArgs> | null
    }
    scalars: $Extensions.GetPayloadResult<{
      id: string
      userId: string
      planoAcao: string
      checkinvisitaId: string
      createdAt: Date
      updatedAt: Date
    }, ExtArgs["result"]["planoacao"]>
    composites: {}
  }

  type planoacaoGetPayload<S extends boolean | null | undefined | planoacaoDefaultArgs> = $Result.GetResult<Prisma.$planoacaoPayload, S>

  type planoacaoCountArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> =
    Omit<planoacaoFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
      select?: PlanoacaoCountAggregateInputType | true
    }

  export interface planoacaoDelegate<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> {
    [K: symbol]: { types: Prisma.TypeMap<ExtArgs>['model']['planoacao'], meta: { name: 'planoacao' } }
    /**
     * Find zero or one Planoacao that matches the filter.
     * @param {planoacaoFindUniqueArgs} args - Arguments to find a Planoacao
     * @example
     * // Get one Planoacao
     * const planoacao = await prisma.planoacao.findUnique({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUnique<T extends planoacaoFindUniqueArgs>(args: SelectSubset<T, planoacaoFindUniqueArgs<ExtArgs>>): Prisma__planoacaoClient<$Result.GetResult<Prisma.$planoacaoPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>

    /**
     * Find one Planoacao that matches the filter or throw an error with `error.code='P2025'`
     * if no matches were found.
     * @param {planoacaoFindUniqueOrThrowArgs} args - Arguments to find a Planoacao
     * @example
     * // Get one Planoacao
     * const planoacao = await prisma.planoacao.findUniqueOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUniqueOrThrow<T extends planoacaoFindUniqueOrThrowArgs>(args: SelectSubset<T, planoacaoFindUniqueOrThrowArgs<ExtArgs>>): Prisma__planoacaoClient<$Result.GetResult<Prisma.$planoacaoPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Find the first Planoacao 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 {planoacaoFindFirstArgs} args - Arguments to find a Planoacao
     * @example
     * // Get one Planoacao
     * const planoacao = await prisma.planoacao.findFirst({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirst<T extends planoacaoFindFirstArgs>(args?: SelectSubset<T, planoacaoFindFirstArgs<ExtArgs>>): Prisma__planoacaoClient<$Result.GetResult<Prisma.$planoacaoPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>

    /**
     * Find the first Planoacao 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 {planoacaoFindFirstOrThrowArgs} args - Arguments to find a Planoacao
     * @example
     * // Get one Planoacao
     * const planoacao = await prisma.planoacao.findFirstOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirstOrThrow<T extends planoacaoFindFirstOrThrowArgs>(args?: SelectSubset<T, planoacaoFindFirstOrThrowArgs<ExtArgs>>): Prisma__planoacaoClient<$Result.GetResult<Prisma.$planoacaoPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Find zero or more Planoacaos 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 {planoacaoFindManyArgs} args - Arguments to filter and select certain fields only.
     * @example
     * // Get all Planoacaos
     * const planoacaos = await prisma.planoacao.findMany()
     * 
     * // Get first 10 Planoacaos
     * const planoacaos = await prisma.planoacao.findMany({ take: 10 })
     * 
     * // Only select the `id`
     * const planoacaoWithIdOnly = await prisma.planoacao.findMany({ select: { id: true } })
     * 
     */
    findMany<T extends planoacaoFindManyArgs>(args?: SelectSubset<T, planoacaoFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$planoacaoPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>

    /**
     * Create a Planoacao.
     * @param {planoacaoCreateArgs} args - Arguments to create a Planoacao.
     * @example
     * // Create one Planoacao
     * const Planoacao = await prisma.planoacao.create({
     *   data: {
     *     // ... data to create a Planoacao
     *   }
     * })
     * 
     */
    create<T extends planoacaoCreateArgs>(args: SelectSubset<T, planoacaoCreateArgs<ExtArgs>>): Prisma__planoacaoClient<$Result.GetResult<Prisma.$planoacaoPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Create many Planoacaos.
     * @param {planoacaoCreateManyArgs} args - Arguments to create many Planoacaos.
     * @example
     * // Create many Planoacaos
     * const planoacao = await prisma.planoacao.createMany({
     *   data: [
     *     // ... provide data here
     *   ]
     * })
     *     
     */
    createMany<T extends planoacaoCreateManyArgs>(args?: SelectSubset<T, planoacaoCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Delete a Planoacao.
     * @param {planoacaoDeleteArgs} args - Arguments to delete one Planoacao.
     * @example
     * // Delete one Planoacao
     * const Planoacao = await prisma.planoacao.delete({
     *   where: {
     *     // ... filter to delete one Planoacao
     *   }
     * })
     * 
     */
    delete<T extends planoacaoDeleteArgs>(args: SelectSubset<T, planoacaoDeleteArgs<ExtArgs>>): Prisma__planoacaoClient<$Result.GetResult<Prisma.$planoacaoPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Update one Planoacao.
     * @param {planoacaoUpdateArgs} args - Arguments to update one Planoacao.
     * @example
     * // Update one Planoacao
     * const planoacao = await prisma.planoacao.update({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     * 
     */
    update<T extends planoacaoUpdateArgs>(args: SelectSubset<T, planoacaoUpdateArgs<ExtArgs>>): Prisma__planoacaoClient<$Result.GetResult<Prisma.$planoacaoPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Delete zero or more Planoacaos.
     * @param {planoacaoDeleteManyArgs} args - Arguments to filter Planoacaos to delete.
     * @example
     * // Delete a few Planoacaos
     * const { count } = await prisma.planoacao.deleteMany({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     * 
     */
    deleteMany<T extends planoacaoDeleteManyArgs>(args?: SelectSubset<T, planoacaoDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Update zero or more Planoacaos.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {planoacaoUpdateManyArgs} args - Arguments to update one or more rows.
     * @example
     * // Update many Planoacaos
     * const planoacao = await prisma.planoacao.updateMany({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     * 
     */
    updateMany<T extends planoacaoUpdateManyArgs>(args: SelectSubset<T, planoacaoUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Create or update one Planoacao.
     * @param {planoacaoUpsertArgs} args - Arguments to update or create a Planoacao.
     * @example
     * // Update or create a Planoacao
     * const planoacao = await prisma.planoacao.upsert({
     *   create: {
     *     // ... data to create a Planoacao
     *   },
     *   update: {
     *     // ... in case it already exists, update
     *   },
     *   where: {
     *     // ... the filter for the Planoacao we want to update
     *   }
     * })
     */
    upsert<T extends planoacaoUpsertArgs>(args: SelectSubset<T, planoacaoUpsertArgs<ExtArgs>>): Prisma__planoacaoClient<$Result.GetResult<Prisma.$planoacaoPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>


    /**
     * Count the number of Planoacaos.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {planoacaoCountArgs} args - Arguments to filter Planoacaos to count.
     * @example
     * // Count the number of Planoacaos
     * const count = await prisma.planoacao.count({
     *   where: {
     *     // ... the filter for the Planoacaos we want to count
     *   }
     * })
    **/
    count<T extends planoacaoCountArgs>(
      args?: Subset<T, planoacaoCountArgs>,
    ): Prisma.PrismaPromise<
      T extends $Utils.Record<'select', any>
        ? T['select'] extends true
          ? number
          : GetScalarType<T['select'], PlanoacaoCountAggregateOutputType>
        : number
    >

    /**
     * Allows you to perform aggregations operations on a Planoacao.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {PlanoacaoAggregateArgs} 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<T extends PlanoacaoAggregateArgs>(args: Subset<T, PlanoacaoAggregateArgs>): Prisma.PrismaPromise<GetPlanoacaoAggregateType<T>>

    /**
     * Group by Planoacao.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {planoacaoGroupByArgs} 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 planoacaoGroupByArgs,
      HasSelectOrTake extends Or<
        Extends<'skip', Keys<T>>,
        Extends<'take', Keys<T>>
      >,
      OrderByArg extends True extends HasSelectOrTake
        ? { orderBy: planoacaoGroupByArgs['orderBy'] }
        : { orderBy?: planoacaoGroupByArgs['orderBy'] },
      OrderFields extends ExcludeUnderscoreKeys<Keys<MaybeTupleToUnion<T['orderBy']>>>,
      ByFields extends MaybeTupleToUnion<T['by']>,
      ByValid extends Has<ByFields, OrderFields>,
      HavingFields extends GetHavingFields<T['having']>,
      HavingValid extends Has<ByFields, HavingFields>,
      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<T>
      ? 'orderBy' extends Keys<T>
        ? 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<T>
      ? 'orderBy' extends Keys<T>
        ? 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<T, planoacaoGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetPlanoacaoGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>
  /**
   * Fields of the planoacao model
   */
  readonly fields: planoacaoFieldRefs;
  }

  /**
   * The delegate class that acts as a "Promise-like" for planoacao.
   * 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__planoacaoClient<T, Null = never, ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
    readonly [Symbol.toStringTag]: "PrismaPromise"
    checkinvisita<T extends planoacao$checkinvisitaArgs<ExtArgs> = {}>(args?: Subset<T, planoacao$checkinvisitaArgs<ExtArgs>>): Prisma__checkinvisitaClient<$Result.GetResult<Prisma.$checkinvisitaPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
    /**
     * 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<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): $Utils.JsPromise<TResult1 | TResult2>
    /**
     * 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<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): $Utils.JsPromise<T | TResult>
    /**
     * 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<T>
  }




  /**
   * Fields of the planoacao model
   */
  interface planoacaoFieldRefs {
    readonly id: FieldRef<"planoacao", 'String'>
    readonly userId: FieldRef<"planoacao", 'String'>
    readonly planoAcao: FieldRef<"planoacao", 'String'>
    readonly checkinvisitaId: FieldRef<"planoacao", 'String'>
    readonly createdAt: FieldRef<"planoacao", 'DateTime'>
    readonly updatedAt: FieldRef<"planoacao", 'DateTime'>
  }
    

  // Custom InputTypes
  /**
   * planoacao findUnique
   */
  export type planoacaoFindUniqueArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the planoacao
     */
    select?: planoacaoSelect<ExtArgs> | null
    /**
     * Omit specific fields from the planoacao
     */
    omit?: planoacaoOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: planoacaoInclude<ExtArgs> | null
    /**
     * Filter, which planoacao to fetch.
     */
    where: planoacaoWhereUniqueInput
  }

  /**
   * planoacao findUniqueOrThrow
   */
  export type planoacaoFindUniqueOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the planoacao
     */
    select?: planoacaoSelect<ExtArgs> | null
    /**
     * Omit specific fields from the planoacao
     */
    omit?: planoacaoOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: planoacaoInclude<ExtArgs> | null
    /**
     * Filter, which planoacao to fetch.
     */
    where: planoacaoWhereUniqueInput
  }

  /**
   * planoacao findFirst
   */
  export type planoacaoFindFirstArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the planoacao
     */
    select?: planoacaoSelect<ExtArgs> | null
    /**
     * Omit specific fields from the planoacao
     */
    omit?: planoacaoOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: planoacaoInclude<ExtArgs> | null
    /**
     * Filter, which planoacao to fetch.
     */
    where?: planoacaoWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of planoacaos to fetch.
     */
    orderBy?: planoacaoOrderByWithRelationInput | planoacaoOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for searching for planoacaos.
     */
    cursor?: planoacaoWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` planoacaos 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` planoacaos.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     * 
     * Filter by unique combinations of planoacaos.
     */
    distinct?: PlanoacaoScalarFieldEnum | PlanoacaoScalarFieldEnum[]
  }

  /**
   * planoacao findFirstOrThrow
   */
  export type planoacaoFindFirstOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the planoacao
     */
    select?: planoacaoSelect<ExtArgs> | null
    /**
     * Omit specific fields from the planoacao
     */
    omit?: planoacaoOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: planoacaoInclude<ExtArgs> | null
    /**
     * Filter, which planoacao to fetch.
     */
    where?: planoacaoWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of planoacaos to fetch.
     */
    orderBy?: planoacaoOrderByWithRelationInput | planoacaoOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for searching for planoacaos.
     */
    cursor?: planoacaoWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` planoacaos 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` planoacaos.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     * 
     * Filter by unique combinations of planoacaos.
     */
    distinct?: PlanoacaoScalarFieldEnum | PlanoacaoScalarFieldEnum[]
  }

  /**
   * planoacao findMany
   */
  export type planoacaoFindManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the planoacao
     */
    select?: planoacaoSelect<ExtArgs> | null
    /**
     * Omit specific fields from the planoacao
     */
    omit?: planoacaoOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: planoacaoInclude<ExtArgs> | null
    /**
     * Filter, which planoacaos to fetch.
     */
    where?: planoacaoWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of planoacaos to fetch.
     */
    orderBy?: planoacaoOrderByWithRelationInput | planoacaoOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for listing planoacaos.
     */
    cursor?: planoacaoWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` planoacaos 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` planoacaos.
     */
    skip?: number
    distinct?: PlanoacaoScalarFieldEnum | PlanoacaoScalarFieldEnum[]
  }

  /**
   * planoacao create
   */
  export type planoacaoCreateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the planoacao
     */
    select?: planoacaoSelect<ExtArgs> | null
    /**
     * Omit specific fields from the planoacao
     */
    omit?: planoacaoOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: planoacaoInclude<ExtArgs> | null
    /**
     * The data needed to create a planoacao.
     */
    data: XOR<planoacaoCreateInput, planoacaoUncheckedCreateInput>
  }

  /**
   * planoacao createMany
   */
  export type planoacaoCreateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * The data used to create many planoacaos.
     */
    data: planoacaoCreateManyInput | planoacaoCreateManyInput[]
    skipDuplicates?: boolean
  }

  /**
   * planoacao update
   */
  export type planoacaoUpdateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the planoacao
     */
    select?: planoacaoSelect<ExtArgs> | null
    /**
     * Omit specific fields from the planoacao
     */
    omit?: planoacaoOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: planoacaoInclude<ExtArgs> | null
    /**
     * The data needed to update a planoacao.
     */
    data: XOR<planoacaoUpdateInput, planoacaoUncheckedUpdateInput>
    /**
     * Choose, which planoacao to update.
     */
    where: planoacaoWhereUniqueInput
  }

  /**
   * planoacao updateMany
   */
  export type planoacaoUpdateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * The data used to update planoacaos.
     */
    data: XOR<planoacaoUpdateManyMutationInput, planoacaoUncheckedUpdateManyInput>
    /**
     * Filter which planoacaos to update
     */
    where?: planoacaoWhereInput
    /**
     * Limit how many planoacaos to update.
     */
    limit?: number
  }

  /**
   * planoacao upsert
   */
  export type planoacaoUpsertArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the planoacao
     */
    select?: planoacaoSelect<ExtArgs> | null
    /**
     * Omit specific fields from the planoacao
     */
    omit?: planoacaoOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: planoacaoInclude<ExtArgs> | null
    /**
     * The filter to search for the planoacao to update in case it exists.
     */
    where: planoacaoWhereUniqueInput
    /**
     * In case the planoacao found by the `where` argument doesn't exist, create a new planoacao with this data.
     */
    create: XOR<planoacaoCreateInput, planoacaoUncheckedCreateInput>
    /**
     * In case the planoacao was found with the provided `where` argument, update it with this data.
     */
    update: XOR<planoacaoUpdateInput, planoacaoUncheckedUpdateInput>
  }

  /**
   * planoacao delete
   */
  export type planoacaoDeleteArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the planoacao
     */
    select?: planoacaoSelect<ExtArgs> | null
    /**
     * Omit specific fields from the planoacao
     */
    omit?: planoacaoOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: planoacaoInclude<ExtArgs> | null
    /**
     * Filter which planoacao to delete.
     */
    where: planoacaoWhereUniqueInput
  }

  /**
   * planoacao deleteMany
   */
  export type planoacaoDeleteManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Filter which planoacaos to delete
     */
    where?: planoacaoWhereInput
    /**
     * Limit how many planoacaos to delete.
     */
    limit?: number
  }

  /**
   * planoacao.checkinvisita
   */
  export type planoacao$checkinvisitaArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the checkinvisita
     */
    select?: checkinvisitaSelect<ExtArgs> | null
    /**
     * Omit specific fields from the checkinvisita
     */
    omit?: checkinvisitaOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: checkinvisitaInclude<ExtArgs> | null
    where?: checkinvisitaWhereInput
  }

  /**
   * planoacao without action
   */
  export type planoacaoDefaultArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the planoacao
     */
    select?: planoacaoSelect<ExtArgs> | null
    /**
     * Omit specific fields from the planoacao
     */
    omit?: planoacaoOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: planoacaoInclude<ExtArgs> | null
  }


  /**
   * Model entrevistaDiagnostico
   */

  export type AggregateEntrevistaDiagnostico = {
    _count: EntrevistaDiagnosticoCountAggregateOutputType | null
    _avg: EntrevistaDiagnosticoAvgAggregateOutputType | null
    _sum: EntrevistaDiagnosticoSumAggregateOutputType | null
    _min: EntrevistaDiagnosticoMinAggregateOutputType | null
    _max: EntrevistaDiagnosticoMaxAggregateOutputType | null
  }

  export type EntrevistaDiagnosticoAvgAggregateOutputType = {
    formacao_preco_venda: number | null
    credito_capital_giro: number | null
    credito_expansao: number | null
    controle_financeiro: number | null
    outro_financas: number | null
    divulgacao_ecommerce: number | null
    visual_ponto_loja: number | null
    atendimento_clientes: number | null
    concorrencia: number | null
    outro_marketing: number | null
    selecao_pessoas: number | null
    retencao_motivacao: number | null
    outro_rh: number | null
  }

  export type EntrevistaDiagnosticoSumAggregateOutputType = {
    formacao_preco_venda: number | null
    credito_capital_giro: number | null
    credito_expansao: number | null
    controle_financeiro: number | null
    outro_financas: number | null
    divulgacao_ecommerce: number | null
    visual_ponto_loja: number | null
    atendimento_clientes: number | null
    concorrencia: number | null
    outro_marketing: number | null
    selecao_pessoas: number | null
    retencao_motivacao: number | null
    outro_rh: number | null
  }

  export type EntrevistaDiagnosticoMinAggregateOutputType = {
    id: string | null
    userId: string | null
    areaEscolhida: string | null
    formacao_preco_venda: number | null
    credito_capital_giro: number | null
    credito_expansao: number | null
    controle_financeiro: number | null
    outro_financas: number | null
    divulgacao_ecommerce: number | null
    visual_ponto_loja: number | null
    atendimento_clientes: number | null
    concorrencia: number | null
    outro_marketing: number | null
    selecao_pessoas: number | null
    retencao_motivacao: number | null
    outro_rh: number | null
    caixa_edicao: string | null
    checkinvisitaId: string | null
    createdAt: Date | null
    updatedAt: Date | null
  }

  export type EntrevistaDiagnosticoMaxAggregateOutputType = {
    id: string | null
    userId: string | null
    areaEscolhida: string | null
    formacao_preco_venda: number | null
    credito_capital_giro: number | null
    credito_expansao: number | null
    controle_financeiro: number | null
    outro_financas: number | null
    divulgacao_ecommerce: number | null
    visual_ponto_loja: number | null
    atendimento_clientes: number | null
    concorrencia: number | null
    outro_marketing: number | null
    selecao_pessoas: number | null
    retencao_motivacao: number | null
    outro_rh: number | null
    caixa_edicao: string | null
    checkinvisitaId: string | null
    createdAt: Date | null
    updatedAt: Date | null
  }

  export type EntrevistaDiagnosticoCountAggregateOutputType = {
    id: number
    userId: number
    areaEscolhida: number
    formacao_preco_venda: number
    credito_capital_giro: number
    credito_expansao: number
    controle_financeiro: number
    outro_financas: number
    divulgacao_ecommerce: number
    visual_ponto_loja: number
    atendimento_clientes: number
    concorrencia: number
    outro_marketing: number
    selecao_pessoas: number
    retencao_motivacao: number
    outro_rh: number
    caixa_edicao: number
    checkinvisitaId: number
    createdAt: number
    updatedAt: number
    _all: number
  }


  export type EntrevistaDiagnosticoAvgAggregateInputType = {
    formacao_preco_venda?: true
    credito_capital_giro?: true
    credito_expansao?: true
    controle_financeiro?: true
    outro_financas?: true
    divulgacao_ecommerce?: true
    visual_ponto_loja?: true
    atendimento_clientes?: true
    concorrencia?: true
    outro_marketing?: true
    selecao_pessoas?: true
    retencao_motivacao?: true
    outro_rh?: true
  }

  export type EntrevistaDiagnosticoSumAggregateInputType = {
    formacao_preco_venda?: true
    credito_capital_giro?: true
    credito_expansao?: true
    controle_financeiro?: true
    outro_financas?: true
    divulgacao_ecommerce?: true
    visual_ponto_loja?: true
    atendimento_clientes?: true
    concorrencia?: true
    outro_marketing?: true
    selecao_pessoas?: true
    retencao_motivacao?: true
    outro_rh?: true
  }

  export type EntrevistaDiagnosticoMinAggregateInputType = {
    id?: true
    userId?: true
    areaEscolhida?: true
    formacao_preco_venda?: true
    credito_capital_giro?: true
    credito_expansao?: true
    controle_financeiro?: true
    outro_financas?: true
    divulgacao_ecommerce?: true
    visual_ponto_loja?: true
    atendimento_clientes?: true
    concorrencia?: true
    outro_marketing?: true
    selecao_pessoas?: true
    retencao_motivacao?: true
    outro_rh?: true
    caixa_edicao?: true
    checkinvisitaId?: true
    createdAt?: true
    updatedAt?: true
  }

  export type EntrevistaDiagnosticoMaxAggregateInputType = {
    id?: true
    userId?: true
    areaEscolhida?: true
    formacao_preco_venda?: true
    credito_capital_giro?: true
    credito_expansao?: true
    controle_financeiro?: true
    outro_financas?: true
    divulgacao_ecommerce?: true
    visual_ponto_loja?: true
    atendimento_clientes?: true
    concorrencia?: true
    outro_marketing?: true
    selecao_pessoas?: true
    retencao_motivacao?: true
    outro_rh?: true
    caixa_edicao?: true
    checkinvisitaId?: true
    createdAt?: true
    updatedAt?: true
  }

  export type EntrevistaDiagnosticoCountAggregateInputType = {
    id?: true
    userId?: true
    areaEscolhida?: true
    formacao_preco_venda?: true
    credito_capital_giro?: true
    credito_expansao?: true
    controle_financeiro?: true
    outro_financas?: true
    divulgacao_ecommerce?: true
    visual_ponto_loja?: true
    atendimento_clientes?: true
    concorrencia?: true
    outro_marketing?: true
    selecao_pessoas?: true
    retencao_motivacao?: true
    outro_rh?: true
    caixa_edicao?: true
    checkinvisitaId?: true
    createdAt?: true
    updatedAt?: true
    _all?: true
  }

  export type EntrevistaDiagnosticoAggregateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Filter which entrevistaDiagnostico to aggregate.
     */
    where?: entrevistaDiagnosticoWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of entrevistaDiagnosticos to fetch.
     */
    orderBy?: entrevistaDiagnosticoOrderByWithRelationInput | entrevistaDiagnosticoOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the start position
     */
    cursor?: entrevistaDiagnosticoWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` entrevistaDiagnosticos 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` entrevistaDiagnosticos.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Count returned entrevistaDiagnosticos
    **/
    _count?: true | EntrevistaDiagnosticoCountAggregateInputType
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Select which fields to average
    **/
    _avg?: EntrevistaDiagnosticoAvgAggregateInputType
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Select which fields to sum
    **/
    _sum?: EntrevistaDiagnosticoSumAggregateInputType
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Select which fields to find the minimum value
    **/
    _min?: EntrevistaDiagnosticoMinAggregateInputType
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Select which fields to find the maximum value
    **/
    _max?: EntrevistaDiagnosticoMaxAggregateInputType
  }

  export type GetEntrevistaDiagnosticoAggregateType<T extends EntrevistaDiagnosticoAggregateArgs> = {
        [P in keyof T & keyof AggregateEntrevistaDiagnostico]: P extends '_count' | 'count'
      ? T[P] extends true
        ? number
        : GetScalarType<T[P], AggregateEntrevistaDiagnostico[P]>
      : GetScalarType<T[P], AggregateEntrevistaDiagnostico[P]>
  }




  export type entrevistaDiagnosticoGroupByArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    where?: entrevistaDiagnosticoWhereInput
    orderBy?: entrevistaDiagnosticoOrderByWithAggregationInput | entrevistaDiagnosticoOrderByWithAggregationInput[]
    by: EntrevistaDiagnosticoScalarFieldEnum[] | EntrevistaDiagnosticoScalarFieldEnum
    having?: entrevistaDiagnosticoScalarWhereWithAggregatesInput
    take?: number
    skip?: number
    _count?: EntrevistaDiagnosticoCountAggregateInputType | true
    _avg?: EntrevistaDiagnosticoAvgAggregateInputType
    _sum?: EntrevistaDiagnosticoSumAggregateInputType
    _min?: EntrevistaDiagnosticoMinAggregateInputType
    _max?: EntrevistaDiagnosticoMaxAggregateInputType
  }

  export type EntrevistaDiagnosticoGroupByOutputType = {
    id: string
    userId: string
    areaEscolhida: string
    formacao_preco_venda: number | null
    credito_capital_giro: number | null
    credito_expansao: number | null
    controle_financeiro: number | null
    outro_financas: number | null
    divulgacao_ecommerce: number | null
    visual_ponto_loja: number | null
    atendimento_clientes: number | null
    concorrencia: number | null
    outro_marketing: number | null
    selecao_pessoas: number | null
    retencao_motivacao: number | null
    outro_rh: number | null
    caixa_edicao: string | null
    checkinvisitaId: string
    createdAt: Date
    updatedAt: Date
    _count: EntrevistaDiagnosticoCountAggregateOutputType | null
    _avg: EntrevistaDiagnosticoAvgAggregateOutputType | null
    _sum: EntrevistaDiagnosticoSumAggregateOutputType | null
    _min: EntrevistaDiagnosticoMinAggregateOutputType | null
    _max: EntrevistaDiagnosticoMaxAggregateOutputType | null
  }

  type GetEntrevistaDiagnosticoGroupByPayload<T extends entrevistaDiagnosticoGroupByArgs> = Prisma.PrismaPromise<
    Array<
      PickEnumerable<EntrevistaDiagnosticoGroupByOutputType, T['by']> &
        {
          [P in ((keyof T) & (keyof EntrevistaDiagnosticoGroupByOutputType))]: P extends '_count'
            ? T[P] extends boolean
              ? number
              : GetScalarType<T[P], EntrevistaDiagnosticoGroupByOutputType[P]>
            : GetScalarType<T[P], EntrevistaDiagnosticoGroupByOutputType[P]>
        }
      >
    >


  export type entrevistaDiagnosticoSelect<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetSelect<{
    id?: boolean
    userId?: boolean
    areaEscolhida?: boolean
    formacao_preco_venda?: boolean
    credito_capital_giro?: boolean
    credito_expansao?: boolean
    controle_financeiro?: boolean
    outro_financas?: boolean
    divulgacao_ecommerce?: boolean
    visual_ponto_loja?: boolean
    atendimento_clientes?: boolean
    concorrencia?: boolean
    outro_marketing?: boolean
    selecao_pessoas?: boolean
    retencao_motivacao?: boolean
    outro_rh?: boolean
    caixa_edicao?: boolean
    checkinvisitaId?: boolean
    createdAt?: boolean
    updatedAt?: boolean
    checkinvisita?: boolean | entrevistaDiagnostico$checkinvisitaArgs<ExtArgs>
  }, ExtArgs["result"]["entrevistaDiagnostico"]>



  export type entrevistaDiagnosticoSelectScalar = {
    id?: boolean
    userId?: boolean
    areaEscolhida?: boolean
    formacao_preco_venda?: boolean
    credito_capital_giro?: boolean
    credito_expansao?: boolean
    controle_financeiro?: boolean
    outro_financas?: boolean
    divulgacao_ecommerce?: boolean
    visual_ponto_loja?: boolean
    atendimento_clientes?: boolean
    concorrencia?: boolean
    outro_marketing?: boolean
    selecao_pessoas?: boolean
    retencao_motivacao?: boolean
    outro_rh?: boolean
    caixa_edicao?: boolean
    checkinvisitaId?: boolean
    createdAt?: boolean
    updatedAt?: boolean
  }

  export type entrevistaDiagnosticoOmit<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetOmit<"id" | "userId" | "areaEscolhida" | "formacao_preco_venda" | "credito_capital_giro" | "credito_expansao" | "controle_financeiro" | "outro_financas" | "divulgacao_ecommerce" | "visual_ponto_loja" | "atendimento_clientes" | "concorrencia" | "outro_marketing" | "selecao_pessoas" | "retencao_motivacao" | "outro_rh" | "caixa_edicao" | "checkinvisitaId" | "createdAt" | "updatedAt", ExtArgs["result"]["entrevistaDiagnostico"]>
  export type entrevistaDiagnosticoInclude<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    checkinvisita?: boolean | entrevistaDiagnostico$checkinvisitaArgs<ExtArgs>
  }

  export type $entrevistaDiagnosticoPayload<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    name: "entrevistaDiagnostico"
    objects: {
      checkinvisita: Prisma.$checkinvisitaPayload<ExtArgs> | null
    }
    scalars: $Extensions.GetPayloadResult<{
      id: string
      userId: string
      areaEscolhida: string
      formacao_preco_venda: number | null
      credito_capital_giro: number | null
      credito_expansao: number | null
      controle_financeiro: number | null
      outro_financas: number | null
      divulgacao_ecommerce: number | null
      visual_ponto_loja: number | null
      atendimento_clientes: number | null
      concorrencia: number | null
      outro_marketing: number | null
      selecao_pessoas: number | null
      retencao_motivacao: number | null
      outro_rh: number | null
      caixa_edicao: string | null
      checkinvisitaId: string
      createdAt: Date
      updatedAt: Date
    }, ExtArgs["result"]["entrevistaDiagnostico"]>
    composites: {}
  }

  type entrevistaDiagnosticoGetPayload<S extends boolean | null | undefined | entrevistaDiagnosticoDefaultArgs> = $Result.GetResult<Prisma.$entrevistaDiagnosticoPayload, S>

  type entrevistaDiagnosticoCountArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> =
    Omit<entrevistaDiagnosticoFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
      select?: EntrevistaDiagnosticoCountAggregateInputType | true
    }

  export interface entrevistaDiagnosticoDelegate<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> {
    [K: symbol]: { types: Prisma.TypeMap<ExtArgs>['model']['entrevistaDiagnostico'], meta: { name: 'entrevistaDiagnostico' } }
    /**
     * Find zero or one EntrevistaDiagnostico that matches the filter.
     * @param {entrevistaDiagnosticoFindUniqueArgs} args - Arguments to find a EntrevistaDiagnostico
     * @example
     * // Get one EntrevistaDiagnostico
     * const entrevistaDiagnostico = await prisma.entrevistaDiagnostico.findUnique({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUnique<T extends entrevistaDiagnosticoFindUniqueArgs>(args: SelectSubset<T, entrevistaDiagnosticoFindUniqueArgs<ExtArgs>>): Prisma__entrevistaDiagnosticoClient<$Result.GetResult<Prisma.$entrevistaDiagnosticoPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>

    /**
     * Find one EntrevistaDiagnostico that matches the filter or throw an error with `error.code='P2025'`
     * if no matches were found.
     * @param {entrevistaDiagnosticoFindUniqueOrThrowArgs} args - Arguments to find a EntrevistaDiagnostico
     * @example
     * // Get one EntrevistaDiagnostico
     * const entrevistaDiagnostico = await prisma.entrevistaDiagnostico.findUniqueOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUniqueOrThrow<T extends entrevistaDiagnosticoFindUniqueOrThrowArgs>(args: SelectSubset<T, entrevistaDiagnosticoFindUniqueOrThrowArgs<ExtArgs>>): Prisma__entrevistaDiagnosticoClient<$Result.GetResult<Prisma.$entrevistaDiagnosticoPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Find the first EntrevistaDiagnostico 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 {entrevistaDiagnosticoFindFirstArgs} args - Arguments to find a EntrevistaDiagnostico
     * @example
     * // Get one EntrevistaDiagnostico
     * const entrevistaDiagnostico = await prisma.entrevistaDiagnostico.findFirst({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirst<T extends entrevistaDiagnosticoFindFirstArgs>(args?: SelectSubset<T, entrevistaDiagnosticoFindFirstArgs<ExtArgs>>): Prisma__entrevistaDiagnosticoClient<$Result.GetResult<Prisma.$entrevistaDiagnosticoPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>

    /**
     * Find the first EntrevistaDiagnostico 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 {entrevistaDiagnosticoFindFirstOrThrowArgs} args - Arguments to find a EntrevistaDiagnostico
     * @example
     * // Get one EntrevistaDiagnostico
     * const entrevistaDiagnostico = await prisma.entrevistaDiagnostico.findFirstOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirstOrThrow<T extends entrevistaDiagnosticoFindFirstOrThrowArgs>(args?: SelectSubset<T, entrevistaDiagnosticoFindFirstOrThrowArgs<ExtArgs>>): Prisma__entrevistaDiagnosticoClient<$Result.GetResult<Prisma.$entrevistaDiagnosticoPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Find zero or more EntrevistaDiagnosticos 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 {entrevistaDiagnosticoFindManyArgs} args - Arguments to filter and select certain fields only.
     * @example
     * // Get all EntrevistaDiagnosticos
     * const entrevistaDiagnosticos = await prisma.entrevistaDiagnostico.findMany()
     * 
     * // Get first 10 EntrevistaDiagnosticos
     * const entrevistaDiagnosticos = await prisma.entrevistaDiagnostico.findMany({ take: 10 })
     * 
     * // Only select the `id`
     * const entrevistaDiagnosticoWithIdOnly = await prisma.entrevistaDiagnostico.findMany({ select: { id: true } })
     * 
     */
    findMany<T extends entrevistaDiagnosticoFindManyArgs>(args?: SelectSubset<T, entrevistaDiagnosticoFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$entrevistaDiagnosticoPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>

    /**
     * Create a EntrevistaDiagnostico.
     * @param {entrevistaDiagnosticoCreateArgs} args - Arguments to create a EntrevistaDiagnostico.
     * @example
     * // Create one EntrevistaDiagnostico
     * const EntrevistaDiagnostico = await prisma.entrevistaDiagnostico.create({
     *   data: {
     *     // ... data to create a EntrevistaDiagnostico
     *   }
     * })
     * 
     */
    create<T extends entrevistaDiagnosticoCreateArgs>(args: SelectSubset<T, entrevistaDiagnosticoCreateArgs<ExtArgs>>): Prisma__entrevistaDiagnosticoClient<$Result.GetResult<Prisma.$entrevistaDiagnosticoPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Create many EntrevistaDiagnosticos.
     * @param {entrevistaDiagnosticoCreateManyArgs} args - Arguments to create many EntrevistaDiagnosticos.
     * @example
     * // Create many EntrevistaDiagnosticos
     * const entrevistaDiagnostico = await prisma.entrevistaDiagnostico.createMany({
     *   data: [
     *     // ... provide data here
     *   ]
     * })
     *     
     */
    createMany<T extends entrevistaDiagnosticoCreateManyArgs>(args?: SelectSubset<T, entrevistaDiagnosticoCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Delete a EntrevistaDiagnostico.
     * @param {entrevistaDiagnosticoDeleteArgs} args - Arguments to delete one EntrevistaDiagnostico.
     * @example
     * // Delete one EntrevistaDiagnostico
     * const EntrevistaDiagnostico = await prisma.entrevistaDiagnostico.delete({
     *   where: {
     *     // ... filter to delete one EntrevistaDiagnostico
     *   }
     * })
     * 
     */
    delete<T extends entrevistaDiagnosticoDeleteArgs>(args: SelectSubset<T, entrevistaDiagnosticoDeleteArgs<ExtArgs>>): Prisma__entrevistaDiagnosticoClient<$Result.GetResult<Prisma.$entrevistaDiagnosticoPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Update one EntrevistaDiagnostico.
     * @param {entrevistaDiagnosticoUpdateArgs} args - Arguments to update one EntrevistaDiagnostico.
     * @example
     * // Update one EntrevistaDiagnostico
     * const entrevistaDiagnostico = await prisma.entrevistaDiagnostico.update({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     * 
     */
    update<T extends entrevistaDiagnosticoUpdateArgs>(args: SelectSubset<T, entrevistaDiagnosticoUpdateArgs<ExtArgs>>): Prisma__entrevistaDiagnosticoClient<$Result.GetResult<Prisma.$entrevistaDiagnosticoPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Delete zero or more EntrevistaDiagnosticos.
     * @param {entrevistaDiagnosticoDeleteManyArgs} args - Arguments to filter EntrevistaDiagnosticos to delete.
     * @example
     * // Delete a few EntrevistaDiagnosticos
     * const { count } = await prisma.entrevistaDiagnostico.deleteMany({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     * 
     */
    deleteMany<T extends entrevistaDiagnosticoDeleteManyArgs>(args?: SelectSubset<T, entrevistaDiagnosticoDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Update zero or more EntrevistaDiagnosticos.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {entrevistaDiagnosticoUpdateManyArgs} args - Arguments to update one or more rows.
     * @example
     * // Update many EntrevistaDiagnosticos
     * const entrevistaDiagnostico = await prisma.entrevistaDiagnostico.updateMany({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     * 
     */
    updateMany<T extends entrevistaDiagnosticoUpdateManyArgs>(args: SelectSubset<T, entrevistaDiagnosticoUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Create or update one EntrevistaDiagnostico.
     * @param {entrevistaDiagnosticoUpsertArgs} args - Arguments to update or create a EntrevistaDiagnostico.
     * @example
     * // Update or create a EntrevistaDiagnostico
     * const entrevistaDiagnostico = await prisma.entrevistaDiagnostico.upsert({
     *   create: {
     *     // ... data to create a EntrevistaDiagnostico
     *   },
     *   update: {
     *     // ... in case it already exists, update
     *   },
     *   where: {
     *     // ... the filter for the EntrevistaDiagnostico we want to update
     *   }
     * })
     */
    upsert<T extends entrevistaDiagnosticoUpsertArgs>(args: SelectSubset<T, entrevistaDiagnosticoUpsertArgs<ExtArgs>>): Prisma__entrevistaDiagnosticoClient<$Result.GetResult<Prisma.$entrevistaDiagnosticoPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>


    /**
     * Count the number of EntrevistaDiagnosticos.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {entrevistaDiagnosticoCountArgs} args - Arguments to filter EntrevistaDiagnosticos to count.
     * @example
     * // Count the number of EntrevistaDiagnosticos
     * const count = await prisma.entrevistaDiagnostico.count({
     *   where: {
     *     // ... the filter for the EntrevistaDiagnosticos we want to count
     *   }
     * })
    **/
    count<T extends entrevistaDiagnosticoCountArgs>(
      args?: Subset<T, entrevistaDiagnosticoCountArgs>,
    ): Prisma.PrismaPromise<
      T extends $Utils.Record<'select', any>
        ? T['select'] extends true
          ? number
          : GetScalarType<T['select'], EntrevistaDiagnosticoCountAggregateOutputType>
        : number
    >

    /**
     * Allows you to perform aggregations operations on a EntrevistaDiagnostico.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {EntrevistaDiagnosticoAggregateArgs} 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<T extends EntrevistaDiagnosticoAggregateArgs>(args: Subset<T, EntrevistaDiagnosticoAggregateArgs>): Prisma.PrismaPromise<GetEntrevistaDiagnosticoAggregateType<T>>

    /**
     * Group by EntrevistaDiagnostico.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {entrevistaDiagnosticoGroupByArgs} 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 entrevistaDiagnosticoGroupByArgs,
      HasSelectOrTake extends Or<
        Extends<'skip', Keys<T>>,
        Extends<'take', Keys<T>>
      >,
      OrderByArg extends True extends HasSelectOrTake
        ? { orderBy: entrevistaDiagnosticoGroupByArgs['orderBy'] }
        : { orderBy?: entrevistaDiagnosticoGroupByArgs['orderBy'] },
      OrderFields extends ExcludeUnderscoreKeys<Keys<MaybeTupleToUnion<T['orderBy']>>>,
      ByFields extends MaybeTupleToUnion<T['by']>,
      ByValid extends Has<ByFields, OrderFields>,
      HavingFields extends GetHavingFields<T['having']>,
      HavingValid extends Has<ByFields, HavingFields>,
      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<T>
      ? 'orderBy' extends Keys<T>
        ? 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<T>
      ? 'orderBy' extends Keys<T>
        ? 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<T, entrevistaDiagnosticoGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetEntrevistaDiagnosticoGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>
  /**
   * Fields of the entrevistaDiagnostico model
   */
  readonly fields: entrevistaDiagnosticoFieldRefs;
  }

  /**
   * The delegate class that acts as a "Promise-like" for entrevistaDiagnostico.
   * 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__entrevistaDiagnosticoClient<T, Null = never, ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
    readonly [Symbol.toStringTag]: "PrismaPromise"
    checkinvisita<T extends entrevistaDiagnostico$checkinvisitaArgs<ExtArgs> = {}>(args?: Subset<T, entrevistaDiagnostico$checkinvisitaArgs<ExtArgs>>): Prisma__checkinvisitaClient<$Result.GetResult<Prisma.$checkinvisitaPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
    /**
     * 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<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): $Utils.JsPromise<TResult1 | TResult2>
    /**
     * 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<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): $Utils.JsPromise<T | TResult>
    /**
     * 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<T>
  }




  /**
   * Fields of the entrevistaDiagnostico model
   */
  interface entrevistaDiagnosticoFieldRefs {
    readonly id: FieldRef<"entrevistaDiagnostico", 'String'>
    readonly userId: FieldRef<"entrevistaDiagnostico", 'String'>
    readonly areaEscolhida: FieldRef<"entrevistaDiagnostico", 'String'>
    readonly formacao_preco_venda: FieldRef<"entrevistaDiagnostico", 'Int'>
    readonly credito_capital_giro: FieldRef<"entrevistaDiagnostico", 'Int'>
    readonly credito_expansao: FieldRef<"entrevistaDiagnostico", 'Int'>
    readonly controle_financeiro: FieldRef<"entrevistaDiagnostico", 'Int'>
    readonly outro_financas: FieldRef<"entrevistaDiagnostico", 'Int'>
    readonly divulgacao_ecommerce: FieldRef<"entrevistaDiagnostico", 'Int'>
    readonly visual_ponto_loja: FieldRef<"entrevistaDiagnostico", 'Int'>
    readonly atendimento_clientes: FieldRef<"entrevistaDiagnostico", 'Int'>
    readonly concorrencia: FieldRef<"entrevistaDiagnostico", 'Int'>
    readonly outro_marketing: FieldRef<"entrevistaDiagnostico", 'Int'>
    readonly selecao_pessoas: FieldRef<"entrevistaDiagnostico", 'Int'>
    readonly retencao_motivacao: FieldRef<"entrevistaDiagnostico", 'Int'>
    readonly outro_rh: FieldRef<"entrevistaDiagnostico", 'Int'>
    readonly caixa_edicao: FieldRef<"entrevistaDiagnostico", 'String'>
    readonly checkinvisitaId: FieldRef<"entrevistaDiagnostico", 'String'>
    readonly createdAt: FieldRef<"entrevistaDiagnostico", 'DateTime'>
    readonly updatedAt: FieldRef<"entrevistaDiagnostico", 'DateTime'>
  }
    

  // Custom InputTypes
  /**
   * entrevistaDiagnostico findUnique
   */
  export type entrevistaDiagnosticoFindUniqueArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the entrevistaDiagnostico
     */
    select?: entrevistaDiagnosticoSelect<ExtArgs> | null
    /**
     * Omit specific fields from the entrevistaDiagnostico
     */
    omit?: entrevistaDiagnosticoOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: entrevistaDiagnosticoInclude<ExtArgs> | null
    /**
     * Filter, which entrevistaDiagnostico to fetch.
     */
    where: entrevistaDiagnosticoWhereUniqueInput
  }

  /**
   * entrevistaDiagnostico findUniqueOrThrow
   */
  export type entrevistaDiagnosticoFindUniqueOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the entrevistaDiagnostico
     */
    select?: entrevistaDiagnosticoSelect<ExtArgs> | null
    /**
     * Omit specific fields from the entrevistaDiagnostico
     */
    omit?: entrevistaDiagnosticoOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: entrevistaDiagnosticoInclude<ExtArgs> | null
    /**
     * Filter, which entrevistaDiagnostico to fetch.
     */
    where: entrevistaDiagnosticoWhereUniqueInput
  }

  /**
   * entrevistaDiagnostico findFirst
   */
  export type entrevistaDiagnosticoFindFirstArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the entrevistaDiagnostico
     */
    select?: entrevistaDiagnosticoSelect<ExtArgs> | null
    /**
     * Omit specific fields from the entrevistaDiagnostico
     */
    omit?: entrevistaDiagnosticoOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: entrevistaDiagnosticoInclude<ExtArgs> | null
    /**
     * Filter, which entrevistaDiagnostico to fetch.
     */
    where?: entrevistaDiagnosticoWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of entrevistaDiagnosticos to fetch.
     */
    orderBy?: entrevistaDiagnosticoOrderByWithRelationInput | entrevistaDiagnosticoOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for searching for entrevistaDiagnosticos.
     */
    cursor?: entrevistaDiagnosticoWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` entrevistaDiagnosticos 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` entrevistaDiagnosticos.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     * 
     * Filter by unique combinations of entrevistaDiagnosticos.
     */
    distinct?: EntrevistaDiagnosticoScalarFieldEnum | EntrevistaDiagnosticoScalarFieldEnum[]
  }

  /**
   * entrevistaDiagnostico findFirstOrThrow
   */
  export type entrevistaDiagnosticoFindFirstOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the entrevistaDiagnostico
     */
    select?: entrevistaDiagnosticoSelect<ExtArgs> | null
    /**
     * Omit specific fields from the entrevistaDiagnostico
     */
    omit?: entrevistaDiagnosticoOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: entrevistaDiagnosticoInclude<ExtArgs> | null
    /**
     * Filter, which entrevistaDiagnostico to fetch.
     */
    where?: entrevistaDiagnosticoWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of entrevistaDiagnosticos to fetch.
     */
    orderBy?: entrevistaDiagnosticoOrderByWithRelationInput | entrevistaDiagnosticoOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for searching for entrevistaDiagnosticos.
     */
    cursor?: entrevistaDiagnosticoWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` entrevistaDiagnosticos 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` entrevistaDiagnosticos.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     * 
     * Filter by unique combinations of entrevistaDiagnosticos.
     */
    distinct?: EntrevistaDiagnosticoScalarFieldEnum | EntrevistaDiagnosticoScalarFieldEnum[]
  }

  /**
   * entrevistaDiagnostico findMany
   */
  export type entrevistaDiagnosticoFindManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the entrevistaDiagnostico
     */
    select?: entrevistaDiagnosticoSelect<ExtArgs> | null
    /**
     * Omit specific fields from the entrevistaDiagnostico
     */
    omit?: entrevistaDiagnosticoOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: entrevistaDiagnosticoInclude<ExtArgs> | null
    /**
     * Filter, which entrevistaDiagnosticos to fetch.
     */
    where?: entrevistaDiagnosticoWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of entrevistaDiagnosticos to fetch.
     */
    orderBy?: entrevistaDiagnosticoOrderByWithRelationInput | entrevistaDiagnosticoOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for listing entrevistaDiagnosticos.
     */
    cursor?: entrevistaDiagnosticoWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` entrevistaDiagnosticos 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` entrevistaDiagnosticos.
     */
    skip?: number
    distinct?: EntrevistaDiagnosticoScalarFieldEnum | EntrevistaDiagnosticoScalarFieldEnum[]
  }

  /**
   * entrevistaDiagnostico create
   */
  export type entrevistaDiagnosticoCreateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the entrevistaDiagnostico
     */
    select?: entrevistaDiagnosticoSelect<ExtArgs> | null
    /**
     * Omit specific fields from the entrevistaDiagnostico
     */
    omit?: entrevistaDiagnosticoOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: entrevistaDiagnosticoInclude<ExtArgs> | null
    /**
     * The data needed to create a entrevistaDiagnostico.
     */
    data: XOR<entrevistaDiagnosticoCreateInput, entrevistaDiagnosticoUncheckedCreateInput>
  }

  /**
   * entrevistaDiagnostico createMany
   */
  export type entrevistaDiagnosticoCreateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * The data used to create many entrevistaDiagnosticos.
     */
    data: entrevistaDiagnosticoCreateManyInput | entrevistaDiagnosticoCreateManyInput[]
    skipDuplicates?: boolean
  }

  /**
   * entrevistaDiagnostico update
   */
  export type entrevistaDiagnosticoUpdateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the entrevistaDiagnostico
     */
    select?: entrevistaDiagnosticoSelect<ExtArgs> | null
    /**
     * Omit specific fields from the entrevistaDiagnostico
     */
    omit?: entrevistaDiagnosticoOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: entrevistaDiagnosticoInclude<ExtArgs> | null
    /**
     * The data needed to update a entrevistaDiagnostico.
     */
    data: XOR<entrevistaDiagnosticoUpdateInput, entrevistaDiagnosticoUncheckedUpdateInput>
    /**
     * Choose, which entrevistaDiagnostico to update.
     */
    where: entrevistaDiagnosticoWhereUniqueInput
  }

  /**
   * entrevistaDiagnostico updateMany
   */
  export type entrevistaDiagnosticoUpdateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * The data used to update entrevistaDiagnosticos.
     */
    data: XOR<entrevistaDiagnosticoUpdateManyMutationInput, entrevistaDiagnosticoUncheckedUpdateManyInput>
    /**
     * Filter which entrevistaDiagnosticos to update
     */
    where?: entrevistaDiagnosticoWhereInput
    /**
     * Limit how many entrevistaDiagnosticos to update.
     */
    limit?: number
  }

  /**
   * entrevistaDiagnostico upsert
   */
  export type entrevistaDiagnosticoUpsertArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the entrevistaDiagnostico
     */
    select?: entrevistaDiagnosticoSelect<ExtArgs> | null
    /**
     * Omit specific fields from the entrevistaDiagnostico
     */
    omit?: entrevistaDiagnosticoOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: entrevistaDiagnosticoInclude<ExtArgs> | null
    /**
     * The filter to search for the entrevistaDiagnostico to update in case it exists.
     */
    where: entrevistaDiagnosticoWhereUniqueInput
    /**
     * In case the entrevistaDiagnostico found by the `where` argument doesn't exist, create a new entrevistaDiagnostico with this data.
     */
    create: XOR<entrevistaDiagnosticoCreateInput, entrevistaDiagnosticoUncheckedCreateInput>
    /**
     * In case the entrevistaDiagnostico was found with the provided `where` argument, update it with this data.
     */
    update: XOR<entrevistaDiagnosticoUpdateInput, entrevistaDiagnosticoUncheckedUpdateInput>
  }

  /**
   * entrevistaDiagnostico delete
   */
  export type entrevistaDiagnosticoDeleteArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the entrevistaDiagnostico
     */
    select?: entrevistaDiagnosticoSelect<ExtArgs> | null
    /**
     * Omit specific fields from the entrevistaDiagnostico
     */
    omit?: entrevistaDiagnosticoOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: entrevistaDiagnosticoInclude<ExtArgs> | null
    /**
     * Filter which entrevistaDiagnostico to delete.
     */
    where: entrevistaDiagnosticoWhereUniqueInput
  }

  /**
   * entrevistaDiagnostico deleteMany
   */
  export type entrevistaDiagnosticoDeleteManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Filter which entrevistaDiagnosticos to delete
     */
    where?: entrevistaDiagnosticoWhereInput
    /**
     * Limit how many entrevistaDiagnosticos to delete.
     */
    limit?: number
  }

  /**
   * entrevistaDiagnostico.checkinvisita
   */
  export type entrevistaDiagnostico$checkinvisitaArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the checkinvisita
     */
    select?: checkinvisitaSelect<ExtArgs> | null
    /**
     * Omit specific fields from the checkinvisita
     */
    omit?: checkinvisitaOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: checkinvisitaInclude<ExtArgs> | null
    where?: checkinvisitaWhereInput
  }

  /**
   * entrevistaDiagnostico without action
   */
  export type entrevistaDiagnosticoDefaultArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the entrevistaDiagnostico
     */
    select?: entrevistaDiagnosticoSelect<ExtArgs> | null
    /**
     * Omit specific fields from the entrevistaDiagnostico
     */
    omit?: entrevistaDiagnosticoOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: entrevistaDiagnosticoInclude<ExtArgs> | null
  }


  /**
   * Model assinaturadigital
   */

  export type AggregateAssinaturadigital = {
    _count: AssinaturadigitalCountAggregateOutputType | null
    _min: AssinaturadigitalMinAggregateOutputType | null
    _max: AssinaturadigitalMaxAggregateOutputType | null
  }

  export type AssinaturadigitalMinAggregateOutputType = {
    id: string | null
    assinaturaDigital: string | null
    checkinvisitaId: string | null
    userId: string | null
    createdAt: Date | null
    updatedAt: Date | null
  }

  export type AssinaturadigitalMaxAggregateOutputType = {
    id: string | null
    assinaturaDigital: string | null
    checkinvisitaId: string | null
    userId: string | null
    createdAt: Date | null
    updatedAt: Date | null
  }

  export type AssinaturadigitalCountAggregateOutputType = {
    id: number
    assinaturaDigital: number
    checkinvisitaId: number
    userId: number
    createdAt: number
    updatedAt: number
    _all: number
  }


  export type AssinaturadigitalMinAggregateInputType = {
    id?: true
    assinaturaDigital?: true
    checkinvisitaId?: true
    userId?: true
    createdAt?: true
    updatedAt?: true
  }

  export type AssinaturadigitalMaxAggregateInputType = {
    id?: true
    assinaturaDigital?: true
    checkinvisitaId?: true
    userId?: true
    createdAt?: true
    updatedAt?: true
  }

  export type AssinaturadigitalCountAggregateInputType = {
    id?: true
    assinaturaDigital?: true
    checkinvisitaId?: true
    userId?: true
    createdAt?: true
    updatedAt?: true
    _all?: true
  }

  export type AssinaturadigitalAggregateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Filter which assinaturadigital to aggregate.
     */
    where?: assinaturadigitalWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of assinaturadigitals to fetch.
     */
    orderBy?: assinaturadigitalOrderByWithRelationInput | assinaturadigitalOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the start position
     */
    cursor?: assinaturadigitalWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` assinaturadigitals 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` assinaturadigitals.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Count returned assinaturadigitals
    **/
    _count?: true | AssinaturadigitalCountAggregateInputType
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Select which fields to find the minimum value
    **/
    _min?: AssinaturadigitalMinAggregateInputType
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Select which fields to find the maximum value
    **/
    _max?: AssinaturadigitalMaxAggregateInputType
  }

  export type GetAssinaturadigitalAggregateType<T extends AssinaturadigitalAggregateArgs> = {
        [P in keyof T & keyof AggregateAssinaturadigital]: P extends '_count' | 'count'
      ? T[P] extends true
        ? number
        : GetScalarType<T[P], AggregateAssinaturadigital[P]>
      : GetScalarType<T[P], AggregateAssinaturadigital[P]>
  }




  export type assinaturadigitalGroupByArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    where?: assinaturadigitalWhereInput
    orderBy?: assinaturadigitalOrderByWithAggregationInput | assinaturadigitalOrderByWithAggregationInput[]
    by: AssinaturadigitalScalarFieldEnum[] | AssinaturadigitalScalarFieldEnum
    having?: assinaturadigitalScalarWhereWithAggregatesInput
    take?: number
    skip?: number
    _count?: AssinaturadigitalCountAggregateInputType | true
    _min?: AssinaturadigitalMinAggregateInputType
    _max?: AssinaturadigitalMaxAggregateInputType
  }

  export type AssinaturadigitalGroupByOutputType = {
    id: string
    assinaturaDigital: string
    checkinvisitaId: string
    userId: string
    createdAt: Date
    updatedAt: Date
    _count: AssinaturadigitalCountAggregateOutputType | null
    _min: AssinaturadigitalMinAggregateOutputType | null
    _max: AssinaturadigitalMaxAggregateOutputType | null
  }

  type GetAssinaturadigitalGroupByPayload<T extends assinaturadigitalGroupByArgs> = Prisma.PrismaPromise<
    Array<
      PickEnumerable<AssinaturadigitalGroupByOutputType, T['by']> &
        {
          [P in ((keyof T) & (keyof AssinaturadigitalGroupByOutputType))]: P extends '_count'
            ? T[P] extends boolean
              ? number
              : GetScalarType<T[P], AssinaturadigitalGroupByOutputType[P]>
            : GetScalarType<T[P], AssinaturadigitalGroupByOutputType[P]>
        }
      >
    >


  export type assinaturadigitalSelect<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetSelect<{
    id?: boolean
    assinaturaDigital?: boolean
    checkinvisitaId?: boolean
    userId?: boolean
    createdAt?: boolean
    updatedAt?: boolean
    checkinvisita?: boolean | assinaturadigital$checkinvisitaArgs<ExtArgs>
  }, ExtArgs["result"]["assinaturadigital"]>



  export type assinaturadigitalSelectScalar = {
    id?: boolean
    assinaturaDigital?: boolean
    checkinvisitaId?: boolean
    userId?: boolean
    createdAt?: boolean
    updatedAt?: boolean
  }

  export type assinaturadigitalOmit<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetOmit<"id" | "assinaturaDigital" | "checkinvisitaId" | "userId" | "createdAt" | "updatedAt", ExtArgs["result"]["assinaturadigital"]>
  export type assinaturadigitalInclude<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    checkinvisita?: boolean | assinaturadigital$checkinvisitaArgs<ExtArgs>
  }

  export type $assinaturadigitalPayload<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    name: "assinaturadigital"
    objects: {
      checkinvisita: Prisma.$checkinvisitaPayload<ExtArgs> | null
    }
    scalars: $Extensions.GetPayloadResult<{
      id: string
      assinaturaDigital: string
      checkinvisitaId: string
      userId: string
      createdAt: Date
      updatedAt: Date
    }, ExtArgs["result"]["assinaturadigital"]>
    composites: {}
  }

  type assinaturadigitalGetPayload<S extends boolean | null | undefined | assinaturadigitalDefaultArgs> = $Result.GetResult<Prisma.$assinaturadigitalPayload, S>

  type assinaturadigitalCountArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> =
    Omit<assinaturadigitalFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
      select?: AssinaturadigitalCountAggregateInputType | true
    }

  export interface assinaturadigitalDelegate<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> {
    [K: symbol]: { types: Prisma.TypeMap<ExtArgs>['model']['assinaturadigital'], meta: { name: 'assinaturadigital' } }
    /**
     * Find zero or one Assinaturadigital that matches the filter.
     * @param {assinaturadigitalFindUniqueArgs} args - Arguments to find a Assinaturadigital
     * @example
     * // Get one Assinaturadigital
     * const assinaturadigital = await prisma.assinaturadigital.findUnique({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUnique<T extends assinaturadigitalFindUniqueArgs>(args: SelectSubset<T, assinaturadigitalFindUniqueArgs<ExtArgs>>): Prisma__assinaturadigitalClient<$Result.GetResult<Prisma.$assinaturadigitalPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>

    /**
     * Find one Assinaturadigital that matches the filter or throw an error with `error.code='P2025'`
     * if no matches were found.
     * @param {assinaturadigitalFindUniqueOrThrowArgs} args - Arguments to find a Assinaturadigital
     * @example
     * // Get one Assinaturadigital
     * const assinaturadigital = await prisma.assinaturadigital.findUniqueOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUniqueOrThrow<T extends assinaturadigitalFindUniqueOrThrowArgs>(args: SelectSubset<T, assinaturadigitalFindUniqueOrThrowArgs<ExtArgs>>): Prisma__assinaturadigitalClient<$Result.GetResult<Prisma.$assinaturadigitalPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Find the first Assinaturadigital 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 {assinaturadigitalFindFirstArgs} args - Arguments to find a Assinaturadigital
     * @example
     * // Get one Assinaturadigital
     * const assinaturadigital = await prisma.assinaturadigital.findFirst({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirst<T extends assinaturadigitalFindFirstArgs>(args?: SelectSubset<T, assinaturadigitalFindFirstArgs<ExtArgs>>): Prisma__assinaturadigitalClient<$Result.GetResult<Prisma.$assinaturadigitalPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>

    /**
     * Find the first Assinaturadigital 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 {assinaturadigitalFindFirstOrThrowArgs} args - Arguments to find a Assinaturadigital
     * @example
     * // Get one Assinaturadigital
     * const assinaturadigital = await prisma.assinaturadigital.findFirstOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirstOrThrow<T extends assinaturadigitalFindFirstOrThrowArgs>(args?: SelectSubset<T, assinaturadigitalFindFirstOrThrowArgs<ExtArgs>>): Prisma__assinaturadigitalClient<$Result.GetResult<Prisma.$assinaturadigitalPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Find zero or more Assinaturadigitals 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 {assinaturadigitalFindManyArgs} args - Arguments to filter and select certain fields only.
     * @example
     * // Get all Assinaturadigitals
     * const assinaturadigitals = await prisma.assinaturadigital.findMany()
     * 
     * // Get first 10 Assinaturadigitals
     * const assinaturadigitals = await prisma.assinaturadigital.findMany({ take: 10 })
     * 
     * // Only select the `id`
     * const assinaturadigitalWithIdOnly = await prisma.assinaturadigital.findMany({ select: { id: true } })
     * 
     */
    findMany<T extends assinaturadigitalFindManyArgs>(args?: SelectSubset<T, assinaturadigitalFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$assinaturadigitalPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>

    /**
     * Create a Assinaturadigital.
     * @param {assinaturadigitalCreateArgs} args - Arguments to create a Assinaturadigital.
     * @example
     * // Create one Assinaturadigital
     * const Assinaturadigital = await prisma.assinaturadigital.create({
     *   data: {
     *     // ... data to create a Assinaturadigital
     *   }
     * })
     * 
     */
    create<T extends assinaturadigitalCreateArgs>(args: SelectSubset<T, assinaturadigitalCreateArgs<ExtArgs>>): Prisma__assinaturadigitalClient<$Result.GetResult<Prisma.$assinaturadigitalPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Create many Assinaturadigitals.
     * @param {assinaturadigitalCreateManyArgs} args - Arguments to create many Assinaturadigitals.
     * @example
     * // Create many Assinaturadigitals
     * const assinaturadigital = await prisma.assinaturadigital.createMany({
     *   data: [
     *     // ... provide data here
     *   ]
     * })
     *     
     */
    createMany<T extends assinaturadigitalCreateManyArgs>(args?: SelectSubset<T, assinaturadigitalCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Delete a Assinaturadigital.
     * @param {assinaturadigitalDeleteArgs} args - Arguments to delete one Assinaturadigital.
     * @example
     * // Delete one Assinaturadigital
     * const Assinaturadigital = await prisma.assinaturadigital.delete({
     *   where: {
     *     // ... filter to delete one Assinaturadigital
     *   }
     * })
     * 
     */
    delete<T extends assinaturadigitalDeleteArgs>(args: SelectSubset<T, assinaturadigitalDeleteArgs<ExtArgs>>): Prisma__assinaturadigitalClient<$Result.GetResult<Prisma.$assinaturadigitalPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Update one Assinaturadigital.
     * @param {assinaturadigitalUpdateArgs} args - Arguments to update one Assinaturadigital.
     * @example
     * // Update one Assinaturadigital
     * const assinaturadigital = await prisma.assinaturadigital.update({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     * 
     */
    update<T extends assinaturadigitalUpdateArgs>(args: SelectSubset<T, assinaturadigitalUpdateArgs<ExtArgs>>): Prisma__assinaturadigitalClient<$Result.GetResult<Prisma.$assinaturadigitalPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Delete zero or more Assinaturadigitals.
     * @param {assinaturadigitalDeleteManyArgs} args - Arguments to filter Assinaturadigitals to delete.
     * @example
     * // Delete a few Assinaturadigitals
     * const { count } = await prisma.assinaturadigital.deleteMany({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     * 
     */
    deleteMany<T extends assinaturadigitalDeleteManyArgs>(args?: SelectSubset<T, assinaturadigitalDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Update zero or more Assinaturadigitals.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {assinaturadigitalUpdateManyArgs} args - Arguments to update one or more rows.
     * @example
     * // Update many Assinaturadigitals
     * const assinaturadigital = await prisma.assinaturadigital.updateMany({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     * 
     */
    updateMany<T extends assinaturadigitalUpdateManyArgs>(args: SelectSubset<T, assinaturadigitalUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Create or update one Assinaturadigital.
     * @param {assinaturadigitalUpsertArgs} args - Arguments to update or create a Assinaturadigital.
     * @example
     * // Update or create a Assinaturadigital
     * const assinaturadigital = await prisma.assinaturadigital.upsert({
     *   create: {
     *     // ... data to create a Assinaturadigital
     *   },
     *   update: {
     *     // ... in case it already exists, update
     *   },
     *   where: {
     *     // ... the filter for the Assinaturadigital we want to update
     *   }
     * })
     */
    upsert<T extends assinaturadigitalUpsertArgs>(args: SelectSubset<T, assinaturadigitalUpsertArgs<ExtArgs>>): Prisma__assinaturadigitalClient<$Result.GetResult<Prisma.$assinaturadigitalPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>


    /**
     * Count the number of Assinaturadigitals.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {assinaturadigitalCountArgs} args - Arguments to filter Assinaturadigitals to count.
     * @example
     * // Count the number of Assinaturadigitals
     * const count = await prisma.assinaturadigital.count({
     *   where: {
     *     // ... the filter for the Assinaturadigitals we want to count
     *   }
     * })
    **/
    count<T extends assinaturadigitalCountArgs>(
      args?: Subset<T, assinaturadigitalCountArgs>,
    ): Prisma.PrismaPromise<
      T extends $Utils.Record<'select', any>
        ? T['select'] extends true
          ? number
          : GetScalarType<T['select'], AssinaturadigitalCountAggregateOutputType>
        : number
    >

    /**
     * Allows you to perform aggregations operations on a Assinaturadigital.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {AssinaturadigitalAggregateArgs} 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<T extends AssinaturadigitalAggregateArgs>(args: Subset<T, AssinaturadigitalAggregateArgs>): Prisma.PrismaPromise<GetAssinaturadigitalAggregateType<T>>

    /**
     * Group by Assinaturadigital.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {assinaturadigitalGroupByArgs} 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 assinaturadigitalGroupByArgs,
      HasSelectOrTake extends Or<
        Extends<'skip', Keys<T>>,
        Extends<'take', Keys<T>>
      >,
      OrderByArg extends True extends HasSelectOrTake
        ? { orderBy: assinaturadigitalGroupByArgs['orderBy'] }
        : { orderBy?: assinaturadigitalGroupByArgs['orderBy'] },
      OrderFields extends ExcludeUnderscoreKeys<Keys<MaybeTupleToUnion<T['orderBy']>>>,
      ByFields extends MaybeTupleToUnion<T['by']>,
      ByValid extends Has<ByFields, OrderFields>,
      HavingFields extends GetHavingFields<T['having']>,
      HavingValid extends Has<ByFields, HavingFields>,
      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<T>
      ? 'orderBy' extends Keys<T>
        ? 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<T>
      ? 'orderBy' extends Keys<T>
        ? 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<T, assinaturadigitalGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetAssinaturadigitalGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>
  /**
   * Fields of the assinaturadigital model
   */
  readonly fields: assinaturadigitalFieldRefs;
  }

  /**
   * The delegate class that acts as a "Promise-like" for assinaturadigital.
   * 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__assinaturadigitalClient<T, Null = never, ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
    readonly [Symbol.toStringTag]: "PrismaPromise"
    checkinvisita<T extends assinaturadigital$checkinvisitaArgs<ExtArgs> = {}>(args?: Subset<T, assinaturadigital$checkinvisitaArgs<ExtArgs>>): Prisma__checkinvisitaClient<$Result.GetResult<Prisma.$checkinvisitaPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
    /**
     * 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<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): $Utils.JsPromise<TResult1 | TResult2>
    /**
     * 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<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): $Utils.JsPromise<T | TResult>
    /**
     * 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<T>
  }




  /**
   * Fields of the assinaturadigital model
   */
  interface assinaturadigitalFieldRefs {
    readonly id: FieldRef<"assinaturadigital", 'String'>
    readonly assinaturaDigital: FieldRef<"assinaturadigital", 'String'>
    readonly checkinvisitaId: FieldRef<"assinaturadigital", 'String'>
    readonly userId: FieldRef<"assinaturadigital", 'String'>
    readonly createdAt: FieldRef<"assinaturadigital", 'DateTime'>
    readonly updatedAt: FieldRef<"assinaturadigital", 'DateTime'>
  }
    

  // Custom InputTypes
  /**
   * assinaturadigital findUnique
   */
  export type assinaturadigitalFindUniqueArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the assinaturadigital
     */
    select?: assinaturadigitalSelect<ExtArgs> | null
    /**
     * Omit specific fields from the assinaturadigital
     */
    omit?: assinaturadigitalOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: assinaturadigitalInclude<ExtArgs> | null
    /**
     * Filter, which assinaturadigital to fetch.
     */
    where: assinaturadigitalWhereUniqueInput
  }

  /**
   * assinaturadigital findUniqueOrThrow
   */
  export type assinaturadigitalFindUniqueOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the assinaturadigital
     */
    select?: assinaturadigitalSelect<ExtArgs> | null
    /**
     * Omit specific fields from the assinaturadigital
     */
    omit?: assinaturadigitalOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: assinaturadigitalInclude<ExtArgs> | null
    /**
     * Filter, which assinaturadigital to fetch.
     */
    where: assinaturadigitalWhereUniqueInput
  }

  /**
   * assinaturadigital findFirst
   */
  export type assinaturadigitalFindFirstArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the assinaturadigital
     */
    select?: assinaturadigitalSelect<ExtArgs> | null
    /**
     * Omit specific fields from the assinaturadigital
     */
    omit?: assinaturadigitalOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: assinaturadigitalInclude<ExtArgs> | null
    /**
     * Filter, which assinaturadigital to fetch.
     */
    where?: assinaturadigitalWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of assinaturadigitals to fetch.
     */
    orderBy?: assinaturadigitalOrderByWithRelationInput | assinaturadigitalOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for searching for assinaturadigitals.
     */
    cursor?: assinaturadigitalWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` assinaturadigitals 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` assinaturadigitals.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     * 
     * Filter by unique combinations of assinaturadigitals.
     */
    distinct?: AssinaturadigitalScalarFieldEnum | AssinaturadigitalScalarFieldEnum[]
  }

  /**
   * assinaturadigital findFirstOrThrow
   */
  export type assinaturadigitalFindFirstOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the assinaturadigital
     */
    select?: assinaturadigitalSelect<ExtArgs> | null
    /**
     * Omit specific fields from the assinaturadigital
     */
    omit?: assinaturadigitalOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: assinaturadigitalInclude<ExtArgs> | null
    /**
     * Filter, which assinaturadigital to fetch.
     */
    where?: assinaturadigitalWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of assinaturadigitals to fetch.
     */
    orderBy?: assinaturadigitalOrderByWithRelationInput | assinaturadigitalOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for searching for assinaturadigitals.
     */
    cursor?: assinaturadigitalWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` assinaturadigitals 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` assinaturadigitals.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     * 
     * Filter by unique combinations of assinaturadigitals.
     */
    distinct?: AssinaturadigitalScalarFieldEnum | AssinaturadigitalScalarFieldEnum[]
  }

  /**
   * assinaturadigital findMany
   */
  export type assinaturadigitalFindManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the assinaturadigital
     */
    select?: assinaturadigitalSelect<ExtArgs> | null
    /**
     * Omit specific fields from the assinaturadigital
     */
    omit?: assinaturadigitalOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: assinaturadigitalInclude<ExtArgs> | null
    /**
     * Filter, which assinaturadigitals to fetch.
     */
    where?: assinaturadigitalWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of assinaturadigitals to fetch.
     */
    orderBy?: assinaturadigitalOrderByWithRelationInput | assinaturadigitalOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for listing assinaturadigitals.
     */
    cursor?: assinaturadigitalWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` assinaturadigitals 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` assinaturadigitals.
     */
    skip?: number
    distinct?: AssinaturadigitalScalarFieldEnum | AssinaturadigitalScalarFieldEnum[]
  }

  /**
   * assinaturadigital create
   */
  export type assinaturadigitalCreateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the assinaturadigital
     */
    select?: assinaturadigitalSelect<ExtArgs> | null
    /**
     * Omit specific fields from the assinaturadigital
     */
    omit?: assinaturadigitalOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: assinaturadigitalInclude<ExtArgs> | null
    /**
     * The data needed to create a assinaturadigital.
     */
    data: XOR<assinaturadigitalCreateInput, assinaturadigitalUncheckedCreateInput>
  }

  /**
   * assinaturadigital createMany
   */
  export type assinaturadigitalCreateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * The data used to create many assinaturadigitals.
     */
    data: assinaturadigitalCreateManyInput | assinaturadigitalCreateManyInput[]
    skipDuplicates?: boolean
  }

  /**
   * assinaturadigital update
   */
  export type assinaturadigitalUpdateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the assinaturadigital
     */
    select?: assinaturadigitalSelect<ExtArgs> | null
    /**
     * Omit specific fields from the assinaturadigital
     */
    omit?: assinaturadigitalOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: assinaturadigitalInclude<ExtArgs> | null
    /**
     * The data needed to update a assinaturadigital.
     */
    data: XOR<assinaturadigitalUpdateInput, assinaturadigitalUncheckedUpdateInput>
    /**
     * Choose, which assinaturadigital to update.
     */
    where: assinaturadigitalWhereUniqueInput
  }

  /**
   * assinaturadigital updateMany
   */
  export type assinaturadigitalUpdateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * The data used to update assinaturadigitals.
     */
    data: XOR<assinaturadigitalUpdateManyMutationInput, assinaturadigitalUncheckedUpdateManyInput>
    /**
     * Filter which assinaturadigitals to update
     */
    where?: assinaturadigitalWhereInput
    /**
     * Limit how many assinaturadigitals to update.
     */
    limit?: number
  }

  /**
   * assinaturadigital upsert
   */
  export type assinaturadigitalUpsertArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the assinaturadigital
     */
    select?: assinaturadigitalSelect<ExtArgs> | null
    /**
     * Omit specific fields from the assinaturadigital
     */
    omit?: assinaturadigitalOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: assinaturadigitalInclude<ExtArgs> | null
    /**
     * The filter to search for the assinaturadigital to update in case it exists.
     */
    where: assinaturadigitalWhereUniqueInput
    /**
     * In case the assinaturadigital found by the `where` argument doesn't exist, create a new assinaturadigital with this data.
     */
    create: XOR<assinaturadigitalCreateInput, assinaturadigitalUncheckedCreateInput>
    /**
     * In case the assinaturadigital was found with the provided `where` argument, update it with this data.
     */
    update: XOR<assinaturadigitalUpdateInput, assinaturadigitalUncheckedUpdateInput>
  }

  /**
   * assinaturadigital delete
   */
  export type assinaturadigitalDeleteArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the assinaturadigital
     */
    select?: assinaturadigitalSelect<ExtArgs> | null
    /**
     * Omit specific fields from the assinaturadigital
     */
    omit?: assinaturadigitalOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: assinaturadigitalInclude<ExtArgs> | null
    /**
     * Filter which assinaturadigital to delete.
     */
    where: assinaturadigitalWhereUniqueInput
  }

  /**
   * assinaturadigital deleteMany
   */
  export type assinaturadigitalDeleteManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Filter which assinaturadigitals to delete
     */
    where?: assinaturadigitalWhereInput
    /**
     * Limit how many assinaturadigitals to delete.
     */
    limit?: number
  }

  /**
   * assinaturadigital.checkinvisita
   */
  export type assinaturadigital$checkinvisitaArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the checkinvisita
     */
    select?: checkinvisitaSelect<ExtArgs> | null
    /**
     * Omit specific fields from the checkinvisita
     */
    omit?: checkinvisitaOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: checkinvisitaInclude<ExtArgs> | null
    where?: checkinvisitaWhereInput
  }

  /**
   * assinaturadigital without action
   */
  export type assinaturadigitalDefaultArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the assinaturadigital
     */
    select?: assinaturadigitalSelect<ExtArgs> | null
    /**
     * Omit specific fields from the assinaturadigital
     */
    omit?: assinaturadigitalOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: assinaturadigitalInclude<ExtArgs> | null
  }


  /**
   * Model checkout
   */

  export type AggregateCheckout = {
    _count: CheckoutCountAggregateOutputType | null
    _min: CheckoutMinAggregateOutputType | null
    _max: CheckoutMaxAggregateOutputType | null
  }

  export type CheckoutMinAggregateOutputType = {
    id: string | null
    interessePrograma: boolean | null
    horarioContato: string | null
    aceitaEmail: boolean | null
    deixouComentarios: boolean | null
    comentarios: string | null
    checkinvisitaId: string | null
    userId: string | null
    createdAt: Date | null
    updatedAt: Date | null
  }

  export type CheckoutMaxAggregateOutputType = {
    id: string | null
    interessePrograma: boolean | null
    horarioContato: string | null
    aceitaEmail: boolean | null
    deixouComentarios: boolean | null
    comentarios: string | null
    checkinvisitaId: string | null
    userId: string | null
    createdAt: Date | null
    updatedAt: Date | null
  }

  export type CheckoutCountAggregateOutputType = {
    id: number
    interessePrograma: number
    horarioContato: number
    aceitaEmail: number
    deixouComentarios: number
    comentarios: number
    checkinvisitaId: number
    userId: number
    createdAt: number
    updatedAt: number
    _all: number
  }


  export type CheckoutMinAggregateInputType = {
    id?: true
    interessePrograma?: true
    horarioContato?: true
    aceitaEmail?: true
    deixouComentarios?: true
    comentarios?: true
    checkinvisitaId?: true
    userId?: true
    createdAt?: true
    updatedAt?: true
  }

  export type CheckoutMaxAggregateInputType = {
    id?: true
    interessePrograma?: true
    horarioContato?: true
    aceitaEmail?: true
    deixouComentarios?: true
    comentarios?: true
    checkinvisitaId?: true
    userId?: true
    createdAt?: true
    updatedAt?: true
  }

  export type CheckoutCountAggregateInputType = {
    id?: true
    interessePrograma?: true
    horarioContato?: true
    aceitaEmail?: true
    deixouComentarios?: true
    comentarios?: true
    checkinvisitaId?: true
    userId?: true
    createdAt?: true
    updatedAt?: true
    _all?: true
  }

  export type CheckoutAggregateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Filter which checkout to aggregate.
     */
    where?: checkoutWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of checkouts to fetch.
     */
    orderBy?: checkoutOrderByWithRelationInput | checkoutOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the start position
     */
    cursor?: checkoutWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` checkouts 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` checkouts.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Count returned checkouts
    **/
    _count?: true | CheckoutCountAggregateInputType
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Select which fields to find the minimum value
    **/
    _min?: CheckoutMinAggregateInputType
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Select which fields to find the maximum value
    **/
    _max?: CheckoutMaxAggregateInputType
  }

  export type GetCheckoutAggregateType<T extends CheckoutAggregateArgs> = {
        [P in keyof T & keyof AggregateCheckout]: P extends '_count' | 'count'
      ? T[P] extends true
        ? number
        : GetScalarType<T[P], AggregateCheckout[P]>
      : GetScalarType<T[P], AggregateCheckout[P]>
  }




  export type checkoutGroupByArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    where?: checkoutWhereInput
    orderBy?: checkoutOrderByWithAggregationInput | checkoutOrderByWithAggregationInput[]
    by: CheckoutScalarFieldEnum[] | CheckoutScalarFieldEnum
    having?: checkoutScalarWhereWithAggregatesInput
    take?: number
    skip?: number
    _count?: CheckoutCountAggregateInputType | true
    _min?: CheckoutMinAggregateInputType
    _max?: CheckoutMaxAggregateInputType
  }

  export type CheckoutGroupByOutputType = {
    id: string
    interessePrograma: boolean
    horarioContato: string
    aceitaEmail: boolean
    deixouComentarios: boolean
    comentarios: string
    checkinvisitaId: string
    userId: string
    createdAt: Date
    updatedAt: Date
    _count: CheckoutCountAggregateOutputType | null
    _min: CheckoutMinAggregateOutputType | null
    _max: CheckoutMaxAggregateOutputType | null
  }

  type GetCheckoutGroupByPayload<T extends checkoutGroupByArgs> = Prisma.PrismaPromise<
    Array<
      PickEnumerable<CheckoutGroupByOutputType, T['by']> &
        {
          [P in ((keyof T) & (keyof CheckoutGroupByOutputType))]: P extends '_count'
            ? T[P] extends boolean
              ? number
              : GetScalarType<T[P], CheckoutGroupByOutputType[P]>
            : GetScalarType<T[P], CheckoutGroupByOutputType[P]>
        }
      >
    >


  export type checkoutSelect<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetSelect<{
    id?: boolean
    interessePrograma?: boolean
    horarioContato?: boolean
    aceitaEmail?: boolean
    deixouComentarios?: boolean
    comentarios?: boolean
    checkinvisitaId?: boolean
    userId?: boolean
    createdAt?: boolean
    updatedAt?: boolean
    checkinvisita?: boolean | checkout$checkinvisitaArgs<ExtArgs>
  }, ExtArgs["result"]["checkout"]>



  export type checkoutSelectScalar = {
    id?: boolean
    interessePrograma?: boolean
    horarioContato?: boolean
    aceitaEmail?: boolean
    deixouComentarios?: boolean
    comentarios?: boolean
    checkinvisitaId?: boolean
    userId?: boolean
    createdAt?: boolean
    updatedAt?: boolean
  }

  export type checkoutOmit<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetOmit<"id" | "interessePrograma" | "horarioContato" | "aceitaEmail" | "deixouComentarios" | "comentarios" | "checkinvisitaId" | "userId" | "createdAt" | "updatedAt", ExtArgs["result"]["checkout"]>
  export type checkoutInclude<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    checkinvisita?: boolean | checkout$checkinvisitaArgs<ExtArgs>
  }

  export type $checkoutPayload<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    name: "checkout"
    objects: {
      checkinvisita: Prisma.$checkinvisitaPayload<ExtArgs> | null
    }
    scalars: $Extensions.GetPayloadResult<{
      id: string
      interessePrograma: boolean
      horarioContato: string
      aceitaEmail: boolean
      deixouComentarios: boolean
      comentarios: string
      checkinvisitaId: string
      userId: string
      createdAt: Date
      updatedAt: Date
    }, ExtArgs["result"]["checkout"]>
    composites: {}
  }

  type checkoutGetPayload<S extends boolean | null | undefined | checkoutDefaultArgs> = $Result.GetResult<Prisma.$checkoutPayload, S>

  type checkoutCountArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> =
    Omit<checkoutFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
      select?: CheckoutCountAggregateInputType | true
    }

  export interface checkoutDelegate<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> {
    [K: symbol]: { types: Prisma.TypeMap<ExtArgs>['model']['checkout'], meta: { name: 'checkout' } }
    /**
     * Find zero or one Checkout that matches the filter.
     * @param {checkoutFindUniqueArgs} args - Arguments to find a Checkout
     * @example
     * // Get one Checkout
     * const checkout = await prisma.checkout.findUnique({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUnique<T extends checkoutFindUniqueArgs>(args: SelectSubset<T, checkoutFindUniqueArgs<ExtArgs>>): Prisma__checkoutClient<$Result.GetResult<Prisma.$checkoutPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>

    /**
     * Find one Checkout that matches the filter or throw an error with `error.code='P2025'`
     * if no matches were found.
     * @param {checkoutFindUniqueOrThrowArgs} args - Arguments to find a Checkout
     * @example
     * // Get one Checkout
     * const checkout = await prisma.checkout.findUniqueOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUniqueOrThrow<T extends checkoutFindUniqueOrThrowArgs>(args: SelectSubset<T, checkoutFindUniqueOrThrowArgs<ExtArgs>>): Prisma__checkoutClient<$Result.GetResult<Prisma.$checkoutPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Find the first Checkout 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 {checkoutFindFirstArgs} args - Arguments to find a Checkout
     * @example
     * // Get one Checkout
     * const checkout = await prisma.checkout.findFirst({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirst<T extends checkoutFindFirstArgs>(args?: SelectSubset<T, checkoutFindFirstArgs<ExtArgs>>): Prisma__checkoutClient<$Result.GetResult<Prisma.$checkoutPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>

    /**
     * Find the first Checkout 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 {checkoutFindFirstOrThrowArgs} args - Arguments to find a Checkout
     * @example
     * // Get one Checkout
     * const checkout = await prisma.checkout.findFirstOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirstOrThrow<T extends checkoutFindFirstOrThrowArgs>(args?: SelectSubset<T, checkoutFindFirstOrThrowArgs<ExtArgs>>): Prisma__checkoutClient<$Result.GetResult<Prisma.$checkoutPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Find zero or more Checkouts 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 {checkoutFindManyArgs} args - Arguments to filter and select certain fields only.
     * @example
     * // Get all Checkouts
     * const checkouts = await prisma.checkout.findMany()
     * 
     * // Get first 10 Checkouts
     * const checkouts = await prisma.checkout.findMany({ take: 10 })
     * 
     * // Only select the `id`
     * const checkoutWithIdOnly = await prisma.checkout.findMany({ select: { id: true } })
     * 
     */
    findMany<T extends checkoutFindManyArgs>(args?: SelectSubset<T, checkoutFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$checkoutPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>

    /**
     * Create a Checkout.
     * @param {checkoutCreateArgs} args - Arguments to create a Checkout.
     * @example
     * // Create one Checkout
     * const Checkout = await prisma.checkout.create({
     *   data: {
     *     // ... data to create a Checkout
     *   }
     * })
     * 
     */
    create<T extends checkoutCreateArgs>(args: SelectSubset<T, checkoutCreateArgs<ExtArgs>>): Prisma__checkoutClient<$Result.GetResult<Prisma.$checkoutPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Create many Checkouts.
     * @param {checkoutCreateManyArgs} args - Arguments to create many Checkouts.
     * @example
     * // Create many Checkouts
     * const checkout = await prisma.checkout.createMany({
     *   data: [
     *     // ... provide data here
     *   ]
     * })
     *     
     */
    createMany<T extends checkoutCreateManyArgs>(args?: SelectSubset<T, checkoutCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Delete a Checkout.
     * @param {checkoutDeleteArgs} args - Arguments to delete one Checkout.
     * @example
     * // Delete one Checkout
     * const Checkout = await prisma.checkout.delete({
     *   where: {
     *     // ... filter to delete one Checkout
     *   }
     * })
     * 
     */
    delete<T extends checkoutDeleteArgs>(args: SelectSubset<T, checkoutDeleteArgs<ExtArgs>>): Prisma__checkoutClient<$Result.GetResult<Prisma.$checkoutPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Update one Checkout.
     * @param {checkoutUpdateArgs} args - Arguments to update one Checkout.
     * @example
     * // Update one Checkout
     * const checkout = await prisma.checkout.update({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     * 
     */
    update<T extends checkoutUpdateArgs>(args: SelectSubset<T, checkoutUpdateArgs<ExtArgs>>): Prisma__checkoutClient<$Result.GetResult<Prisma.$checkoutPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Delete zero or more Checkouts.
     * @param {checkoutDeleteManyArgs} args - Arguments to filter Checkouts to delete.
     * @example
     * // Delete a few Checkouts
     * const { count } = await prisma.checkout.deleteMany({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     * 
     */
    deleteMany<T extends checkoutDeleteManyArgs>(args?: SelectSubset<T, checkoutDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Update zero or more Checkouts.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {checkoutUpdateManyArgs} args - Arguments to update one or more rows.
     * @example
     * // Update many Checkouts
     * const checkout = await prisma.checkout.updateMany({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     * 
     */
    updateMany<T extends checkoutUpdateManyArgs>(args: SelectSubset<T, checkoutUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Create or update one Checkout.
     * @param {checkoutUpsertArgs} args - Arguments to update or create a Checkout.
     * @example
     * // Update or create a Checkout
     * const checkout = await prisma.checkout.upsert({
     *   create: {
     *     // ... data to create a Checkout
     *   },
     *   update: {
     *     // ... in case it already exists, update
     *   },
     *   where: {
     *     // ... the filter for the Checkout we want to update
     *   }
     * })
     */
    upsert<T extends checkoutUpsertArgs>(args: SelectSubset<T, checkoutUpsertArgs<ExtArgs>>): Prisma__checkoutClient<$Result.GetResult<Prisma.$checkoutPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>


    /**
     * Count the number of Checkouts.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {checkoutCountArgs} args - Arguments to filter Checkouts to count.
     * @example
     * // Count the number of Checkouts
     * const count = await prisma.checkout.count({
     *   where: {
     *     // ... the filter for the Checkouts we want to count
     *   }
     * })
    **/
    count<T extends checkoutCountArgs>(
      args?: Subset<T, checkoutCountArgs>,
    ): Prisma.PrismaPromise<
      T extends $Utils.Record<'select', any>
        ? T['select'] extends true
          ? number
          : GetScalarType<T['select'], CheckoutCountAggregateOutputType>
        : number
    >

    /**
     * Allows you to perform aggregations operations on a Checkout.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {CheckoutAggregateArgs} 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<T extends CheckoutAggregateArgs>(args: Subset<T, CheckoutAggregateArgs>): Prisma.PrismaPromise<GetCheckoutAggregateType<T>>

    /**
     * Group by Checkout.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {checkoutGroupByArgs} 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 checkoutGroupByArgs,
      HasSelectOrTake extends Or<
        Extends<'skip', Keys<T>>,
        Extends<'take', Keys<T>>
      >,
      OrderByArg extends True extends HasSelectOrTake
        ? { orderBy: checkoutGroupByArgs['orderBy'] }
        : { orderBy?: checkoutGroupByArgs['orderBy'] },
      OrderFields extends ExcludeUnderscoreKeys<Keys<MaybeTupleToUnion<T['orderBy']>>>,
      ByFields extends MaybeTupleToUnion<T['by']>,
      ByValid extends Has<ByFields, OrderFields>,
      HavingFields extends GetHavingFields<T['having']>,
      HavingValid extends Has<ByFields, HavingFields>,
      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<T>
      ? 'orderBy' extends Keys<T>
        ? 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<T>
      ? 'orderBy' extends Keys<T>
        ? 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<T, checkoutGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetCheckoutGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>
  /**
   * Fields of the checkout model
   */
  readonly fields: checkoutFieldRefs;
  }

  /**
   * The delegate class that acts as a "Promise-like" for checkout.
   * 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__checkoutClient<T, Null = never, ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
    readonly [Symbol.toStringTag]: "PrismaPromise"
    checkinvisita<T extends checkout$checkinvisitaArgs<ExtArgs> = {}>(args?: Subset<T, checkout$checkinvisitaArgs<ExtArgs>>): Prisma__checkinvisitaClient<$Result.GetResult<Prisma.$checkinvisitaPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
    /**
     * 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<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): $Utils.JsPromise<TResult1 | TResult2>
    /**
     * 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<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): $Utils.JsPromise<T | TResult>
    /**
     * 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<T>
  }




  /**
   * Fields of the checkout model
   */
  interface checkoutFieldRefs {
    readonly id: FieldRef<"checkout", 'String'>
    readonly interessePrograma: FieldRef<"checkout", 'Boolean'>
    readonly horarioContato: FieldRef<"checkout", 'String'>
    readonly aceitaEmail: FieldRef<"checkout", 'Boolean'>
    readonly deixouComentarios: FieldRef<"checkout", 'Boolean'>
    readonly comentarios: FieldRef<"checkout", 'String'>
    readonly checkinvisitaId: FieldRef<"checkout", 'String'>
    readonly userId: FieldRef<"checkout", 'String'>
    readonly createdAt: FieldRef<"checkout", 'DateTime'>
    readonly updatedAt: FieldRef<"checkout", 'DateTime'>
  }
    

  // Custom InputTypes
  /**
   * checkout findUnique
   */
  export type checkoutFindUniqueArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the checkout
     */
    select?: checkoutSelect<ExtArgs> | null
    /**
     * Omit specific fields from the checkout
     */
    omit?: checkoutOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: checkoutInclude<ExtArgs> | null
    /**
     * Filter, which checkout to fetch.
     */
    where: checkoutWhereUniqueInput
  }

  /**
   * checkout findUniqueOrThrow
   */
  export type checkoutFindUniqueOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the checkout
     */
    select?: checkoutSelect<ExtArgs> | null
    /**
     * Omit specific fields from the checkout
     */
    omit?: checkoutOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: checkoutInclude<ExtArgs> | null
    /**
     * Filter, which checkout to fetch.
     */
    where: checkoutWhereUniqueInput
  }

  /**
   * checkout findFirst
   */
  export type checkoutFindFirstArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the checkout
     */
    select?: checkoutSelect<ExtArgs> | null
    /**
     * Omit specific fields from the checkout
     */
    omit?: checkoutOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: checkoutInclude<ExtArgs> | null
    /**
     * Filter, which checkout to fetch.
     */
    where?: checkoutWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of checkouts to fetch.
     */
    orderBy?: checkoutOrderByWithRelationInput | checkoutOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for searching for checkouts.
     */
    cursor?: checkoutWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` checkouts 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` checkouts.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     * 
     * Filter by unique combinations of checkouts.
     */
    distinct?: CheckoutScalarFieldEnum | CheckoutScalarFieldEnum[]
  }

  /**
   * checkout findFirstOrThrow
   */
  export type checkoutFindFirstOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the checkout
     */
    select?: checkoutSelect<ExtArgs> | null
    /**
     * Omit specific fields from the checkout
     */
    omit?: checkoutOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: checkoutInclude<ExtArgs> | null
    /**
     * Filter, which checkout to fetch.
     */
    where?: checkoutWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of checkouts to fetch.
     */
    orderBy?: checkoutOrderByWithRelationInput | checkoutOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for searching for checkouts.
     */
    cursor?: checkoutWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` checkouts 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` checkouts.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     * 
     * Filter by unique combinations of checkouts.
     */
    distinct?: CheckoutScalarFieldEnum | CheckoutScalarFieldEnum[]
  }

  /**
   * checkout findMany
   */
  export type checkoutFindManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the checkout
     */
    select?: checkoutSelect<ExtArgs> | null
    /**
     * Omit specific fields from the checkout
     */
    omit?: checkoutOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: checkoutInclude<ExtArgs> | null
    /**
     * Filter, which checkouts to fetch.
     */
    where?: checkoutWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of checkouts to fetch.
     */
    orderBy?: checkoutOrderByWithRelationInput | checkoutOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for listing checkouts.
     */
    cursor?: checkoutWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` checkouts 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` checkouts.
     */
    skip?: number
    distinct?: CheckoutScalarFieldEnum | CheckoutScalarFieldEnum[]
  }

  /**
   * checkout create
   */
  export type checkoutCreateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the checkout
     */
    select?: checkoutSelect<ExtArgs> | null
    /**
     * Omit specific fields from the checkout
     */
    omit?: checkoutOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: checkoutInclude<ExtArgs> | null
    /**
     * The data needed to create a checkout.
     */
    data: XOR<checkoutCreateInput, checkoutUncheckedCreateInput>
  }

  /**
   * checkout createMany
   */
  export type checkoutCreateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * The data used to create many checkouts.
     */
    data: checkoutCreateManyInput | checkoutCreateManyInput[]
    skipDuplicates?: boolean
  }

  /**
   * checkout update
   */
  export type checkoutUpdateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the checkout
     */
    select?: checkoutSelect<ExtArgs> | null
    /**
     * Omit specific fields from the checkout
     */
    omit?: checkoutOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: checkoutInclude<ExtArgs> | null
    /**
     * The data needed to update a checkout.
     */
    data: XOR<checkoutUpdateInput, checkoutUncheckedUpdateInput>
    /**
     * Choose, which checkout to update.
     */
    where: checkoutWhereUniqueInput
  }

  /**
   * checkout updateMany
   */
  export type checkoutUpdateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * The data used to update checkouts.
     */
    data: XOR<checkoutUpdateManyMutationInput, checkoutUncheckedUpdateManyInput>
    /**
     * Filter which checkouts to update
     */
    where?: checkoutWhereInput
    /**
     * Limit how many checkouts to update.
     */
    limit?: number
  }

  /**
   * checkout upsert
   */
  export type checkoutUpsertArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the checkout
     */
    select?: checkoutSelect<ExtArgs> | null
    /**
     * Omit specific fields from the checkout
     */
    omit?: checkoutOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: checkoutInclude<ExtArgs> | null
    /**
     * The filter to search for the checkout to update in case it exists.
     */
    where: checkoutWhereUniqueInput
    /**
     * In case the checkout found by the `where` argument doesn't exist, create a new checkout with this data.
     */
    create: XOR<checkoutCreateInput, checkoutUncheckedCreateInput>
    /**
     * In case the checkout was found with the provided `where` argument, update it with this data.
     */
    update: XOR<checkoutUpdateInput, checkoutUncheckedUpdateInput>
  }

  /**
   * checkout delete
   */
  export type checkoutDeleteArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the checkout
     */
    select?: checkoutSelect<ExtArgs> | null
    /**
     * Omit specific fields from the checkout
     */
    omit?: checkoutOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: checkoutInclude<ExtArgs> | null
    /**
     * Filter which checkout to delete.
     */
    where: checkoutWhereUniqueInput
  }

  /**
   * checkout deleteMany
   */
  export type checkoutDeleteManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Filter which checkouts to delete
     */
    where?: checkoutWhereInput
    /**
     * Limit how many checkouts to delete.
     */
    limit?: number
  }

  /**
   * checkout.checkinvisita
   */
  export type checkout$checkinvisitaArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the checkinvisita
     */
    select?: checkinvisitaSelect<ExtArgs> | null
    /**
     * Omit specific fields from the checkinvisita
     */
    omit?: checkinvisitaOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: checkinvisitaInclude<ExtArgs> | null
    where?: checkinvisitaWhereInput
  }

  /**
   * checkout without action
   */
  export type checkoutDefaultArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the checkout
     */
    select?: checkoutSelect<ExtArgs> | null
    /**
     * Omit specific fields from the checkout
     */
    omit?: checkoutOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: checkoutInclude<ExtArgs> | null
  }


  /**
   * Model recordings
   */

  export type AggregateRecordings = {
    _count: RecordingsCountAggregateOutputType | null
    _min: RecordingsMinAggregateOutputType | null
    _max: RecordingsMaxAggregateOutputType | null
  }

  export type RecordingsMinAggregateOutputType = {
    id: string | null
    title: string | null
    filename: string | null
    mimeType: string | null
    base64: string | null
    checkinvisitaId: string | null
    createdAt: Date | null
    updatedAt: Date | null
  }

  export type RecordingsMaxAggregateOutputType = {
    id: string | null
    title: string | null
    filename: string | null
    mimeType: string | null
    base64: string | null
    checkinvisitaId: string | null
    createdAt: Date | null
    updatedAt: Date | null
  }

  export type RecordingsCountAggregateOutputType = {
    id: number
    title: number
    filename: number
    mimeType: number
    base64: number
    checkinvisitaId: number
    createdAt: number
    updatedAt: number
    _all: number
  }


  export type RecordingsMinAggregateInputType = {
    id?: true
    title?: true
    filename?: true
    mimeType?: true
    base64?: true
    checkinvisitaId?: true
    createdAt?: true
    updatedAt?: true
  }

  export type RecordingsMaxAggregateInputType = {
    id?: true
    title?: true
    filename?: true
    mimeType?: true
    base64?: true
    checkinvisitaId?: true
    createdAt?: true
    updatedAt?: true
  }

  export type RecordingsCountAggregateInputType = {
    id?: true
    title?: true
    filename?: true
    mimeType?: true
    base64?: true
    checkinvisitaId?: true
    createdAt?: true
    updatedAt?: true
    _all?: true
  }

  export type RecordingsAggregateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Filter which recordings to aggregate.
     */
    where?: recordingsWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of recordings to fetch.
     */
    orderBy?: recordingsOrderByWithRelationInput | recordingsOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the start position
     */
    cursor?: recordingsWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` recordings 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` recordings.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Count returned recordings
    **/
    _count?: true | RecordingsCountAggregateInputType
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Select which fields to find the minimum value
    **/
    _min?: RecordingsMinAggregateInputType
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Select which fields to find the maximum value
    **/
    _max?: RecordingsMaxAggregateInputType
  }

  export type GetRecordingsAggregateType<T extends RecordingsAggregateArgs> = {
        [P in keyof T & keyof AggregateRecordings]: P extends '_count' | 'count'
      ? T[P] extends true
        ? number
        : GetScalarType<T[P], AggregateRecordings[P]>
      : GetScalarType<T[P], AggregateRecordings[P]>
  }




  export type recordingsGroupByArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    where?: recordingsWhereInput
    orderBy?: recordingsOrderByWithAggregationInput | recordingsOrderByWithAggregationInput[]
    by: RecordingsScalarFieldEnum[] | RecordingsScalarFieldEnum
    having?: recordingsScalarWhereWithAggregatesInput
    take?: number
    skip?: number
    _count?: RecordingsCountAggregateInputType | true
    _min?: RecordingsMinAggregateInputType
    _max?: RecordingsMaxAggregateInputType
  }

  export type RecordingsGroupByOutputType = {
    id: string
    title: string
    filename: string
    mimeType: string
    base64: string
    checkinvisitaId: string
    createdAt: Date
    updatedAt: Date
    _count: RecordingsCountAggregateOutputType | null
    _min: RecordingsMinAggregateOutputType | null
    _max: RecordingsMaxAggregateOutputType | null
  }

  type GetRecordingsGroupByPayload<T extends recordingsGroupByArgs> = Prisma.PrismaPromise<
    Array<
      PickEnumerable<RecordingsGroupByOutputType, T['by']> &
        {
          [P in ((keyof T) & (keyof RecordingsGroupByOutputType))]: P extends '_count'
            ? T[P] extends boolean
              ? number
              : GetScalarType<T[P], RecordingsGroupByOutputType[P]>
            : GetScalarType<T[P], RecordingsGroupByOutputType[P]>
        }
      >
    >


  export type recordingsSelect<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetSelect<{
    id?: boolean
    title?: boolean
    filename?: boolean
    mimeType?: boolean
    base64?: boolean
    checkinvisitaId?: boolean
    createdAt?: boolean
    updatedAt?: boolean
    checkinvisita?: boolean | recordings$checkinvisitaArgs<ExtArgs>
  }, ExtArgs["result"]["recordings"]>



  export type recordingsSelectScalar = {
    id?: boolean
    title?: boolean
    filename?: boolean
    mimeType?: boolean
    base64?: boolean
    checkinvisitaId?: boolean
    createdAt?: boolean
    updatedAt?: boolean
  }

  export type recordingsOmit<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetOmit<"id" | "title" | "filename" | "mimeType" | "base64" | "checkinvisitaId" | "createdAt" | "updatedAt", ExtArgs["result"]["recordings"]>
  export type recordingsInclude<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    checkinvisita?: boolean | recordings$checkinvisitaArgs<ExtArgs>
  }

  export type $recordingsPayload<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    name: "recordings"
    objects: {
      checkinvisita: Prisma.$checkinvisitaPayload<ExtArgs> | null
    }
    scalars: $Extensions.GetPayloadResult<{
      id: string
      title: string
      filename: string
      mimeType: string
      base64: string
      checkinvisitaId: string
      createdAt: Date
      updatedAt: Date
    }, ExtArgs["result"]["recordings"]>
    composites: {}
  }

  type recordingsGetPayload<S extends boolean | null | undefined | recordingsDefaultArgs> = $Result.GetResult<Prisma.$recordingsPayload, S>

  type recordingsCountArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> =
    Omit<recordingsFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
      select?: RecordingsCountAggregateInputType | true
    }

  export interface recordingsDelegate<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> {
    [K: symbol]: { types: Prisma.TypeMap<ExtArgs>['model']['recordings'], meta: { name: 'recordings' } }
    /**
     * Find zero or one Recordings that matches the filter.
     * @param {recordingsFindUniqueArgs} args - Arguments to find a Recordings
     * @example
     * // Get one Recordings
     * const recordings = await prisma.recordings.findUnique({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUnique<T extends recordingsFindUniqueArgs>(args: SelectSubset<T, recordingsFindUniqueArgs<ExtArgs>>): Prisma__recordingsClient<$Result.GetResult<Prisma.$recordingsPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>

    /**
     * Find one Recordings that matches the filter or throw an error with `error.code='P2025'`
     * if no matches were found.
     * @param {recordingsFindUniqueOrThrowArgs} args - Arguments to find a Recordings
     * @example
     * // Get one Recordings
     * const recordings = await prisma.recordings.findUniqueOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUniqueOrThrow<T extends recordingsFindUniqueOrThrowArgs>(args: SelectSubset<T, recordingsFindUniqueOrThrowArgs<ExtArgs>>): Prisma__recordingsClient<$Result.GetResult<Prisma.$recordingsPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Find the first Recordings 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 {recordingsFindFirstArgs} args - Arguments to find a Recordings
     * @example
     * // Get one Recordings
     * const recordings = await prisma.recordings.findFirst({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirst<T extends recordingsFindFirstArgs>(args?: SelectSubset<T, recordingsFindFirstArgs<ExtArgs>>): Prisma__recordingsClient<$Result.GetResult<Prisma.$recordingsPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>

    /**
     * Find the first Recordings 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 {recordingsFindFirstOrThrowArgs} args - Arguments to find a Recordings
     * @example
     * // Get one Recordings
     * const recordings = await prisma.recordings.findFirstOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirstOrThrow<T extends recordingsFindFirstOrThrowArgs>(args?: SelectSubset<T, recordingsFindFirstOrThrowArgs<ExtArgs>>): Prisma__recordingsClient<$Result.GetResult<Prisma.$recordingsPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Find zero or more Recordings 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 {recordingsFindManyArgs} args - Arguments to filter and select certain fields only.
     * @example
     * // Get all Recordings
     * const recordings = await prisma.recordings.findMany()
     * 
     * // Get first 10 Recordings
     * const recordings = await prisma.recordings.findMany({ take: 10 })
     * 
     * // Only select the `id`
     * const recordingsWithIdOnly = await prisma.recordings.findMany({ select: { id: true } })
     * 
     */
    findMany<T extends recordingsFindManyArgs>(args?: SelectSubset<T, recordingsFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$recordingsPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>

    /**
     * Create a Recordings.
     * @param {recordingsCreateArgs} args - Arguments to create a Recordings.
     * @example
     * // Create one Recordings
     * const Recordings = await prisma.recordings.create({
     *   data: {
     *     // ... data to create a Recordings
     *   }
     * })
     * 
     */
    create<T extends recordingsCreateArgs>(args: SelectSubset<T, recordingsCreateArgs<ExtArgs>>): Prisma__recordingsClient<$Result.GetResult<Prisma.$recordingsPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Create many Recordings.
     * @param {recordingsCreateManyArgs} args - Arguments to create many Recordings.
     * @example
     * // Create many Recordings
     * const recordings = await prisma.recordings.createMany({
     *   data: [
     *     // ... provide data here
     *   ]
     * })
     *     
     */
    createMany<T extends recordingsCreateManyArgs>(args?: SelectSubset<T, recordingsCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Delete a Recordings.
     * @param {recordingsDeleteArgs} args - Arguments to delete one Recordings.
     * @example
     * // Delete one Recordings
     * const Recordings = await prisma.recordings.delete({
     *   where: {
     *     // ... filter to delete one Recordings
     *   }
     * })
     * 
     */
    delete<T extends recordingsDeleteArgs>(args: SelectSubset<T, recordingsDeleteArgs<ExtArgs>>): Prisma__recordingsClient<$Result.GetResult<Prisma.$recordingsPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Update one Recordings.
     * @param {recordingsUpdateArgs} args - Arguments to update one Recordings.
     * @example
     * // Update one Recordings
     * const recordings = await prisma.recordings.update({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     * 
     */
    update<T extends recordingsUpdateArgs>(args: SelectSubset<T, recordingsUpdateArgs<ExtArgs>>): Prisma__recordingsClient<$Result.GetResult<Prisma.$recordingsPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Delete zero or more Recordings.
     * @param {recordingsDeleteManyArgs} args - Arguments to filter Recordings to delete.
     * @example
     * // Delete a few Recordings
     * const { count } = await prisma.recordings.deleteMany({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     * 
     */
    deleteMany<T extends recordingsDeleteManyArgs>(args?: SelectSubset<T, recordingsDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Update zero or more Recordings.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {recordingsUpdateManyArgs} args - Arguments to update one or more rows.
     * @example
     * // Update many Recordings
     * const recordings = await prisma.recordings.updateMany({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     * 
     */
    updateMany<T extends recordingsUpdateManyArgs>(args: SelectSubset<T, recordingsUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Create or update one Recordings.
     * @param {recordingsUpsertArgs} args - Arguments to update or create a Recordings.
     * @example
     * // Update or create a Recordings
     * const recordings = await prisma.recordings.upsert({
     *   create: {
     *     // ... data to create a Recordings
     *   },
     *   update: {
     *     // ... in case it already exists, update
     *   },
     *   where: {
     *     // ... the filter for the Recordings we want to update
     *   }
     * })
     */
    upsert<T extends recordingsUpsertArgs>(args: SelectSubset<T, recordingsUpsertArgs<ExtArgs>>): Prisma__recordingsClient<$Result.GetResult<Prisma.$recordingsPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>


    /**
     * Count the number of Recordings.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {recordingsCountArgs} args - Arguments to filter Recordings to count.
     * @example
     * // Count the number of Recordings
     * const count = await prisma.recordings.count({
     *   where: {
     *     // ... the filter for the Recordings we want to count
     *   }
     * })
    **/
    count<T extends recordingsCountArgs>(
      args?: Subset<T, recordingsCountArgs>,
    ): Prisma.PrismaPromise<
      T extends $Utils.Record<'select', any>
        ? T['select'] extends true
          ? number
          : GetScalarType<T['select'], RecordingsCountAggregateOutputType>
        : number
    >

    /**
     * Allows you to perform aggregations operations on a Recordings.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {RecordingsAggregateArgs} 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<T extends RecordingsAggregateArgs>(args: Subset<T, RecordingsAggregateArgs>): Prisma.PrismaPromise<GetRecordingsAggregateType<T>>

    /**
     * Group by Recordings.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {recordingsGroupByArgs} 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 recordingsGroupByArgs,
      HasSelectOrTake extends Or<
        Extends<'skip', Keys<T>>,
        Extends<'take', Keys<T>>
      >,
      OrderByArg extends True extends HasSelectOrTake
        ? { orderBy: recordingsGroupByArgs['orderBy'] }
        : { orderBy?: recordingsGroupByArgs['orderBy'] },
      OrderFields extends ExcludeUnderscoreKeys<Keys<MaybeTupleToUnion<T['orderBy']>>>,
      ByFields extends MaybeTupleToUnion<T['by']>,
      ByValid extends Has<ByFields, OrderFields>,
      HavingFields extends GetHavingFields<T['having']>,
      HavingValid extends Has<ByFields, HavingFields>,
      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<T>
      ? 'orderBy' extends Keys<T>
        ? 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<T>
      ? 'orderBy' extends Keys<T>
        ? 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<T, recordingsGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetRecordingsGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>
  /**
   * Fields of the recordings model
   */
  readonly fields: recordingsFieldRefs;
  }

  /**
   * The delegate class that acts as a "Promise-like" for recordings.
   * 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__recordingsClient<T, Null = never, ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
    readonly [Symbol.toStringTag]: "PrismaPromise"
    checkinvisita<T extends recordings$checkinvisitaArgs<ExtArgs> = {}>(args?: Subset<T, recordings$checkinvisitaArgs<ExtArgs>>): Prisma__checkinvisitaClient<$Result.GetResult<Prisma.$checkinvisitaPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
    /**
     * 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<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): $Utils.JsPromise<TResult1 | TResult2>
    /**
     * 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<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): $Utils.JsPromise<T | TResult>
    /**
     * 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<T>
  }




  /**
   * Fields of the recordings model
   */
  interface recordingsFieldRefs {
    readonly id: FieldRef<"recordings", 'String'>
    readonly title: FieldRef<"recordings", 'String'>
    readonly filename: FieldRef<"recordings", 'String'>
    readonly mimeType: FieldRef<"recordings", 'String'>
    readonly base64: FieldRef<"recordings", 'String'>
    readonly checkinvisitaId: FieldRef<"recordings", 'String'>
    readonly createdAt: FieldRef<"recordings", 'DateTime'>
    readonly updatedAt: FieldRef<"recordings", 'DateTime'>
  }
    

  // Custom InputTypes
  /**
   * recordings findUnique
   */
  export type recordingsFindUniqueArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the recordings
     */
    select?: recordingsSelect<ExtArgs> | null
    /**
     * Omit specific fields from the recordings
     */
    omit?: recordingsOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: recordingsInclude<ExtArgs> | null
    /**
     * Filter, which recordings to fetch.
     */
    where: recordingsWhereUniqueInput
  }

  /**
   * recordings findUniqueOrThrow
   */
  export type recordingsFindUniqueOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the recordings
     */
    select?: recordingsSelect<ExtArgs> | null
    /**
     * Omit specific fields from the recordings
     */
    omit?: recordingsOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: recordingsInclude<ExtArgs> | null
    /**
     * Filter, which recordings to fetch.
     */
    where: recordingsWhereUniqueInput
  }

  /**
   * recordings findFirst
   */
  export type recordingsFindFirstArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the recordings
     */
    select?: recordingsSelect<ExtArgs> | null
    /**
     * Omit specific fields from the recordings
     */
    omit?: recordingsOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: recordingsInclude<ExtArgs> | null
    /**
     * Filter, which recordings to fetch.
     */
    where?: recordingsWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of recordings to fetch.
     */
    orderBy?: recordingsOrderByWithRelationInput | recordingsOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for searching for recordings.
     */
    cursor?: recordingsWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` recordings 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` recordings.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     * 
     * Filter by unique combinations of recordings.
     */
    distinct?: RecordingsScalarFieldEnum | RecordingsScalarFieldEnum[]
  }

  /**
   * recordings findFirstOrThrow
   */
  export type recordingsFindFirstOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the recordings
     */
    select?: recordingsSelect<ExtArgs> | null
    /**
     * Omit specific fields from the recordings
     */
    omit?: recordingsOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: recordingsInclude<ExtArgs> | null
    /**
     * Filter, which recordings to fetch.
     */
    where?: recordingsWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of recordings to fetch.
     */
    orderBy?: recordingsOrderByWithRelationInput | recordingsOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for searching for recordings.
     */
    cursor?: recordingsWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` recordings 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` recordings.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     * 
     * Filter by unique combinations of recordings.
     */
    distinct?: RecordingsScalarFieldEnum | RecordingsScalarFieldEnum[]
  }

  /**
   * recordings findMany
   */
  export type recordingsFindManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the recordings
     */
    select?: recordingsSelect<ExtArgs> | null
    /**
     * Omit specific fields from the recordings
     */
    omit?: recordingsOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: recordingsInclude<ExtArgs> | null
    /**
     * Filter, which recordings to fetch.
     */
    where?: recordingsWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of recordings to fetch.
     */
    orderBy?: recordingsOrderByWithRelationInput | recordingsOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for listing recordings.
     */
    cursor?: recordingsWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` recordings 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` recordings.
     */
    skip?: number
    distinct?: RecordingsScalarFieldEnum | RecordingsScalarFieldEnum[]
  }

  /**
   * recordings create
   */
  export type recordingsCreateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the recordings
     */
    select?: recordingsSelect<ExtArgs> | null
    /**
     * Omit specific fields from the recordings
     */
    omit?: recordingsOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: recordingsInclude<ExtArgs> | null
    /**
     * The data needed to create a recordings.
     */
    data: XOR<recordingsCreateInput, recordingsUncheckedCreateInput>
  }

  /**
   * recordings createMany
   */
  export type recordingsCreateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * The data used to create many recordings.
     */
    data: recordingsCreateManyInput | recordingsCreateManyInput[]
    skipDuplicates?: boolean
  }

  /**
   * recordings update
   */
  export type recordingsUpdateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the recordings
     */
    select?: recordingsSelect<ExtArgs> | null
    /**
     * Omit specific fields from the recordings
     */
    omit?: recordingsOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: recordingsInclude<ExtArgs> | null
    /**
     * The data needed to update a recordings.
     */
    data: XOR<recordingsUpdateInput, recordingsUncheckedUpdateInput>
    /**
     * Choose, which recordings to update.
     */
    where: recordingsWhereUniqueInput
  }

  /**
   * recordings updateMany
   */
  export type recordingsUpdateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * The data used to update recordings.
     */
    data: XOR<recordingsUpdateManyMutationInput, recordingsUncheckedUpdateManyInput>
    /**
     * Filter which recordings to update
     */
    where?: recordingsWhereInput
    /**
     * Limit how many recordings to update.
     */
    limit?: number
  }

  /**
   * recordings upsert
   */
  export type recordingsUpsertArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the recordings
     */
    select?: recordingsSelect<ExtArgs> | null
    /**
     * Omit specific fields from the recordings
     */
    omit?: recordingsOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: recordingsInclude<ExtArgs> | null
    /**
     * The filter to search for the recordings to update in case it exists.
     */
    where: recordingsWhereUniqueInput
    /**
     * In case the recordings found by the `where` argument doesn't exist, create a new recordings with this data.
     */
    create: XOR<recordingsCreateInput, recordingsUncheckedCreateInput>
    /**
     * In case the recordings was found with the provided `where` argument, update it with this data.
     */
    update: XOR<recordingsUpdateInput, recordingsUncheckedUpdateInput>
  }

  /**
   * recordings delete
   */
  export type recordingsDeleteArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the recordings
     */
    select?: recordingsSelect<ExtArgs> | null
    /**
     * Omit specific fields from the recordings
     */
    omit?: recordingsOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: recordingsInclude<ExtArgs> | null
    /**
     * Filter which recordings to delete.
     */
    where: recordingsWhereUniqueInput
  }

  /**
   * recordings deleteMany
   */
  export type recordingsDeleteManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Filter which recordings to delete
     */
    where?: recordingsWhereInput
    /**
     * Limit how many recordings to delete.
     */
    limit?: number
  }

  /**
   * recordings.checkinvisita
   */
  export type recordings$checkinvisitaArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the checkinvisita
     */
    select?: checkinvisitaSelect<ExtArgs> | null
    /**
     * Omit specific fields from the checkinvisita
     */
    omit?: checkinvisitaOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: checkinvisitaInclude<ExtArgs> | null
    where?: checkinvisitaWhereInput
  }

  /**
   * recordings without action
   */
  export type recordingsDefaultArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the recordings
     */
    select?: recordingsSelect<ExtArgs> | null
    /**
     * Omit specific fields from the recordings
     */
    omit?: recordingsOmit<ExtArgs> | null
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: recordingsInclude<ExtArgs> | null
  }


  /**
   * Model cnae
   */

  export type AggregateCnae = {
    _count: CnaeCountAggregateOutputType | null
    _min: CnaeMinAggregateOutputType | null
    _max: CnaeMaxAggregateOutputType | null
  }

  export type CnaeMinAggregateOutputType = {
    id: string | null
    cnae: string | null
    createdAt: Date | null
    updatedAt: Date | null
  }

  export type CnaeMaxAggregateOutputType = {
    id: string | null
    cnae: string | null
    createdAt: Date | null
    updatedAt: Date | null
  }

  export type CnaeCountAggregateOutputType = {
    id: number
    cnae: number
    createdAt: number
    updatedAt: number
    _all: number
  }


  export type CnaeMinAggregateInputType = {
    id?: true
    cnae?: true
    createdAt?: true
    updatedAt?: true
  }

  export type CnaeMaxAggregateInputType = {
    id?: true
    cnae?: true
    createdAt?: true
    updatedAt?: true
  }

  export type CnaeCountAggregateInputType = {
    id?: true
    cnae?: true
    createdAt?: true
    updatedAt?: true
    _all?: true
  }

  export type CnaeAggregateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Filter which cnae to aggregate.
     */
    where?: cnaeWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of cnaes to fetch.
     */
    orderBy?: cnaeOrderByWithRelationInput | cnaeOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the start position
     */
    cursor?: cnaeWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` cnaes 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` cnaes.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Count returned cnaes
    **/
    _count?: true | CnaeCountAggregateInputType
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Select which fields to find the minimum value
    **/
    _min?: CnaeMinAggregateInputType
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Select which fields to find the maximum value
    **/
    _max?: CnaeMaxAggregateInputType
  }

  export type GetCnaeAggregateType<T extends CnaeAggregateArgs> = {
        [P in keyof T & keyof AggregateCnae]: P extends '_count' | 'count'
      ? T[P] extends true
        ? number
        : GetScalarType<T[P], AggregateCnae[P]>
      : GetScalarType<T[P], AggregateCnae[P]>
  }




  export type cnaeGroupByArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    where?: cnaeWhereInput
    orderBy?: cnaeOrderByWithAggregationInput | cnaeOrderByWithAggregationInput[]
    by: CnaeScalarFieldEnum[] | CnaeScalarFieldEnum
    having?: cnaeScalarWhereWithAggregatesInput
    take?: number
    skip?: number
    _count?: CnaeCountAggregateInputType | true
    _min?: CnaeMinAggregateInputType
    _max?: CnaeMaxAggregateInputType
  }

  export type CnaeGroupByOutputType = {
    id: string
    cnae: string
    createdAt: Date
    updatedAt: Date
    _count: CnaeCountAggregateOutputType | null
    _min: CnaeMinAggregateOutputType | null
    _max: CnaeMaxAggregateOutputType | null
  }

  type GetCnaeGroupByPayload<T extends cnaeGroupByArgs> = Prisma.PrismaPromise<
    Array<
      PickEnumerable<CnaeGroupByOutputType, T['by']> &
        {
          [P in ((keyof T) & (keyof CnaeGroupByOutputType))]: P extends '_count'
            ? T[P] extends boolean
              ? number
              : GetScalarType<T[P], CnaeGroupByOutputType[P]>
            : GetScalarType<T[P], CnaeGroupByOutputType[P]>
        }
      >
    >


  export type cnaeSelect<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetSelect<{
    id?: boolean
    cnae?: boolean
    createdAt?: boolean
    updatedAt?: boolean
  }, ExtArgs["result"]["cnae"]>



  export type cnaeSelectScalar = {
    id?: boolean
    cnae?: boolean
    createdAt?: boolean
    updatedAt?: boolean
  }

  export type cnaeOmit<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetOmit<"id" | "cnae" | "createdAt" | "updatedAt", ExtArgs["result"]["cnae"]>

  export type $cnaePayload<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    name: "cnae"
    objects: {}
    scalars: $Extensions.GetPayloadResult<{
      id: string
      cnae: string
      createdAt: Date
      updatedAt: Date
    }, ExtArgs["result"]["cnae"]>
    composites: {}
  }

  type cnaeGetPayload<S extends boolean | null | undefined | cnaeDefaultArgs> = $Result.GetResult<Prisma.$cnaePayload, S>

  type cnaeCountArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> =
    Omit<cnaeFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
      select?: CnaeCountAggregateInputType | true
    }

  export interface cnaeDelegate<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> {
    [K: symbol]: { types: Prisma.TypeMap<ExtArgs>['model']['cnae'], meta: { name: 'cnae' } }
    /**
     * Find zero or one Cnae that matches the filter.
     * @param {cnaeFindUniqueArgs} args - Arguments to find a Cnae
     * @example
     * // Get one Cnae
     * const cnae = await prisma.cnae.findUnique({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUnique<T extends cnaeFindUniqueArgs>(args: SelectSubset<T, cnaeFindUniqueArgs<ExtArgs>>): Prisma__cnaeClient<$Result.GetResult<Prisma.$cnaePayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>

    /**
     * Find one Cnae that matches the filter or throw an error with `error.code='P2025'`
     * if no matches were found.
     * @param {cnaeFindUniqueOrThrowArgs} args - Arguments to find a Cnae
     * @example
     * // Get one Cnae
     * const cnae = await prisma.cnae.findUniqueOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUniqueOrThrow<T extends cnaeFindUniqueOrThrowArgs>(args: SelectSubset<T, cnaeFindUniqueOrThrowArgs<ExtArgs>>): Prisma__cnaeClient<$Result.GetResult<Prisma.$cnaePayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Find the first Cnae 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 {cnaeFindFirstArgs} args - Arguments to find a Cnae
     * @example
     * // Get one Cnae
     * const cnae = await prisma.cnae.findFirst({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirst<T extends cnaeFindFirstArgs>(args?: SelectSubset<T, cnaeFindFirstArgs<ExtArgs>>): Prisma__cnaeClient<$Result.GetResult<Prisma.$cnaePayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>

    /**
     * Find the first Cnae 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 {cnaeFindFirstOrThrowArgs} args - Arguments to find a Cnae
     * @example
     * // Get one Cnae
     * const cnae = await prisma.cnae.findFirstOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirstOrThrow<T extends cnaeFindFirstOrThrowArgs>(args?: SelectSubset<T, cnaeFindFirstOrThrowArgs<ExtArgs>>): Prisma__cnaeClient<$Result.GetResult<Prisma.$cnaePayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Find zero or more Cnaes 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 {cnaeFindManyArgs} args - Arguments to filter and select certain fields only.
     * @example
     * // Get all Cnaes
     * const cnaes = await prisma.cnae.findMany()
     * 
     * // Get first 10 Cnaes
     * const cnaes = await prisma.cnae.findMany({ take: 10 })
     * 
     * // Only select the `id`
     * const cnaeWithIdOnly = await prisma.cnae.findMany({ select: { id: true } })
     * 
     */
    findMany<T extends cnaeFindManyArgs>(args?: SelectSubset<T, cnaeFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$cnaePayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>

    /**
     * Create a Cnae.
     * @param {cnaeCreateArgs} args - Arguments to create a Cnae.
     * @example
     * // Create one Cnae
     * const Cnae = await prisma.cnae.create({
     *   data: {
     *     // ... data to create a Cnae
     *   }
     * })
     * 
     */
    create<T extends cnaeCreateArgs>(args: SelectSubset<T, cnaeCreateArgs<ExtArgs>>): Prisma__cnaeClient<$Result.GetResult<Prisma.$cnaePayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Create many Cnaes.
     * @param {cnaeCreateManyArgs} args - Arguments to create many Cnaes.
     * @example
     * // Create many Cnaes
     * const cnae = await prisma.cnae.createMany({
     *   data: [
     *     // ... provide data here
     *   ]
     * })
     *     
     */
    createMany<T extends cnaeCreateManyArgs>(args?: SelectSubset<T, cnaeCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Delete a Cnae.
     * @param {cnaeDeleteArgs} args - Arguments to delete one Cnae.
     * @example
     * // Delete one Cnae
     * const Cnae = await prisma.cnae.delete({
     *   where: {
     *     // ... filter to delete one Cnae
     *   }
     * })
     * 
     */
    delete<T extends cnaeDeleteArgs>(args: SelectSubset<T, cnaeDeleteArgs<ExtArgs>>): Prisma__cnaeClient<$Result.GetResult<Prisma.$cnaePayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Update one Cnae.
     * @param {cnaeUpdateArgs} args - Arguments to update one Cnae.
     * @example
     * // Update one Cnae
     * const cnae = await prisma.cnae.update({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     * 
     */
    update<T extends cnaeUpdateArgs>(args: SelectSubset<T, cnaeUpdateArgs<ExtArgs>>): Prisma__cnaeClient<$Result.GetResult<Prisma.$cnaePayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Delete zero or more Cnaes.
     * @param {cnaeDeleteManyArgs} args - Arguments to filter Cnaes to delete.
     * @example
     * // Delete a few Cnaes
     * const { count } = await prisma.cnae.deleteMany({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     * 
     */
    deleteMany<T extends cnaeDeleteManyArgs>(args?: SelectSubset<T, cnaeDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Update zero or more Cnaes.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {cnaeUpdateManyArgs} args - Arguments to update one or more rows.
     * @example
     * // Update many Cnaes
     * const cnae = await prisma.cnae.updateMany({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     * 
     */
    updateMany<T extends cnaeUpdateManyArgs>(args: SelectSubset<T, cnaeUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Create or update one Cnae.
     * @param {cnaeUpsertArgs} args - Arguments to update or create a Cnae.
     * @example
     * // Update or create a Cnae
     * const cnae = await prisma.cnae.upsert({
     *   create: {
     *     // ... data to create a Cnae
     *   },
     *   update: {
     *     // ... in case it already exists, update
     *   },
     *   where: {
     *     // ... the filter for the Cnae we want to update
     *   }
     * })
     */
    upsert<T extends cnaeUpsertArgs>(args: SelectSubset<T, cnaeUpsertArgs<ExtArgs>>): Prisma__cnaeClient<$Result.GetResult<Prisma.$cnaePayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>


    /**
     * Count the number of Cnaes.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {cnaeCountArgs} args - Arguments to filter Cnaes to count.
     * @example
     * // Count the number of Cnaes
     * const count = await prisma.cnae.count({
     *   where: {
     *     // ... the filter for the Cnaes we want to count
     *   }
     * })
    **/
    count<T extends cnaeCountArgs>(
      args?: Subset<T, cnaeCountArgs>,
    ): Prisma.PrismaPromise<
      T extends $Utils.Record<'select', any>
        ? T['select'] extends true
          ? number
          : GetScalarType<T['select'], CnaeCountAggregateOutputType>
        : number
    >

    /**
     * Allows you to perform aggregations operations on a Cnae.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {CnaeAggregateArgs} 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<T extends CnaeAggregateArgs>(args: Subset<T, CnaeAggregateArgs>): Prisma.PrismaPromise<GetCnaeAggregateType<T>>

    /**
     * Group by Cnae.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {cnaeGroupByArgs} 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 cnaeGroupByArgs,
      HasSelectOrTake extends Or<
        Extends<'skip', Keys<T>>,
        Extends<'take', Keys<T>>
      >,
      OrderByArg extends True extends HasSelectOrTake
        ? { orderBy: cnaeGroupByArgs['orderBy'] }
        : { orderBy?: cnaeGroupByArgs['orderBy'] },
      OrderFields extends ExcludeUnderscoreKeys<Keys<MaybeTupleToUnion<T['orderBy']>>>,
      ByFields extends MaybeTupleToUnion<T['by']>,
      ByValid extends Has<ByFields, OrderFields>,
      HavingFields extends GetHavingFields<T['having']>,
      HavingValid extends Has<ByFields, HavingFields>,
      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<T>
      ? 'orderBy' extends Keys<T>
        ? 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<T>
      ? 'orderBy' extends Keys<T>
        ? 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<T, cnaeGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetCnaeGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>
  /**
   * Fields of the cnae model
   */
  readonly fields: cnaeFieldRefs;
  }

  /**
   * The delegate class that acts as a "Promise-like" for cnae.
   * 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__cnaeClient<T, Null = never, ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
    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<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): $Utils.JsPromise<TResult1 | TResult2>
    /**
     * 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<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): $Utils.JsPromise<T | TResult>
    /**
     * 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<T>
  }




  /**
   * Fields of the cnae model
   */
  interface cnaeFieldRefs {
    readonly id: FieldRef<"cnae", 'String'>
    readonly cnae: FieldRef<"cnae", 'String'>
    readonly createdAt: FieldRef<"cnae", 'DateTime'>
    readonly updatedAt: FieldRef<"cnae", 'DateTime'>
  }
    

  // Custom InputTypes
  /**
   * cnae findUnique
   */
  export type cnaeFindUniqueArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cnae
     */
    select?: cnaeSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cnae
     */
    omit?: cnaeOmit<ExtArgs> | null
    /**
     * Filter, which cnae to fetch.
     */
    where: cnaeWhereUniqueInput
  }

  /**
   * cnae findUniqueOrThrow
   */
  export type cnaeFindUniqueOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cnae
     */
    select?: cnaeSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cnae
     */
    omit?: cnaeOmit<ExtArgs> | null
    /**
     * Filter, which cnae to fetch.
     */
    where: cnaeWhereUniqueInput
  }

  /**
   * cnae findFirst
   */
  export type cnaeFindFirstArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cnae
     */
    select?: cnaeSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cnae
     */
    omit?: cnaeOmit<ExtArgs> | null
    /**
     * Filter, which cnae to fetch.
     */
    where?: cnaeWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of cnaes to fetch.
     */
    orderBy?: cnaeOrderByWithRelationInput | cnaeOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for searching for cnaes.
     */
    cursor?: cnaeWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` cnaes 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` cnaes.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     * 
     * Filter by unique combinations of cnaes.
     */
    distinct?: CnaeScalarFieldEnum | CnaeScalarFieldEnum[]
  }

  /**
   * cnae findFirstOrThrow
   */
  export type cnaeFindFirstOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cnae
     */
    select?: cnaeSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cnae
     */
    omit?: cnaeOmit<ExtArgs> | null
    /**
     * Filter, which cnae to fetch.
     */
    where?: cnaeWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of cnaes to fetch.
     */
    orderBy?: cnaeOrderByWithRelationInput | cnaeOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for searching for cnaes.
     */
    cursor?: cnaeWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` cnaes 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` cnaes.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     * 
     * Filter by unique combinations of cnaes.
     */
    distinct?: CnaeScalarFieldEnum | CnaeScalarFieldEnum[]
  }

  /**
   * cnae findMany
   */
  export type cnaeFindManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cnae
     */
    select?: cnaeSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cnae
     */
    omit?: cnaeOmit<ExtArgs> | null
    /**
     * Filter, which cnaes to fetch.
     */
    where?: cnaeWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of cnaes to fetch.
     */
    orderBy?: cnaeOrderByWithRelationInput | cnaeOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for listing cnaes.
     */
    cursor?: cnaeWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` cnaes 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` cnaes.
     */
    skip?: number
    distinct?: CnaeScalarFieldEnum | CnaeScalarFieldEnum[]
  }

  /**
   * cnae create
   */
  export type cnaeCreateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cnae
     */
    select?: cnaeSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cnae
     */
    omit?: cnaeOmit<ExtArgs> | null
    /**
     * The data needed to create a cnae.
     */
    data: XOR<cnaeCreateInput, cnaeUncheckedCreateInput>
  }

  /**
   * cnae createMany
   */
  export type cnaeCreateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * The data used to create many cnaes.
     */
    data: cnaeCreateManyInput | cnaeCreateManyInput[]
    skipDuplicates?: boolean
  }

  /**
   * cnae update
   */
  export type cnaeUpdateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cnae
     */
    select?: cnaeSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cnae
     */
    omit?: cnaeOmit<ExtArgs> | null
    /**
     * The data needed to update a cnae.
     */
    data: XOR<cnaeUpdateInput, cnaeUncheckedUpdateInput>
    /**
     * Choose, which cnae to update.
     */
    where: cnaeWhereUniqueInput
  }

  /**
   * cnae updateMany
   */
  export type cnaeUpdateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * The data used to update cnaes.
     */
    data: XOR<cnaeUpdateManyMutationInput, cnaeUncheckedUpdateManyInput>
    /**
     * Filter which cnaes to update
     */
    where?: cnaeWhereInput
    /**
     * Limit how many cnaes to update.
     */
    limit?: number
  }

  /**
   * cnae upsert
   */
  export type cnaeUpsertArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cnae
     */
    select?: cnaeSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cnae
     */
    omit?: cnaeOmit<ExtArgs> | null
    /**
     * The filter to search for the cnae to update in case it exists.
     */
    where: cnaeWhereUniqueInput
    /**
     * In case the cnae found by the `where` argument doesn't exist, create a new cnae with this data.
     */
    create: XOR<cnaeCreateInput, cnaeUncheckedCreateInput>
    /**
     * In case the cnae was found with the provided `where` argument, update it with this data.
     */
    update: XOR<cnaeUpdateInput, cnaeUncheckedUpdateInput>
  }

  /**
   * cnae delete
   */
  export type cnaeDeleteArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cnae
     */
    select?: cnaeSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cnae
     */
    omit?: cnaeOmit<ExtArgs> | null
    /**
     * Filter which cnae to delete.
     */
    where: cnaeWhereUniqueInput
  }

  /**
   * cnae deleteMany
   */
  export type cnaeDeleteManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Filter which cnaes to delete
     */
    where?: cnaeWhereInput
    /**
     * Limit how many cnaes to delete.
     */
    limit?: number
  }

  /**
   * cnae without action
   */
  export type cnaeDefaultArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cnae
     */
    select?: cnaeSelect<ExtArgs> | null
    /**
     * Omit specific fields from the cnae
     */
    omit?: cnaeOmit<ExtArgs> | null
  }


  /**
   * Model visitasreceived
   */

  export type AggregateVisitasreceived = {
    _count: VisitasreceivedCountAggregateOutputType | null
    _min: VisitasreceivedMinAggregateOutputType | null
    _max: VisitasreceivedMaxAggregateOutputType | null
  }

  export type VisitasreceivedMinAggregateOutputType = {
    id: string | null
    visita: string | null
    createdAt: Date | null
    updatedAt: Date | null
  }

  export type VisitasreceivedMaxAggregateOutputType = {
    id: string | null
    visita: string | null
    createdAt: Date | null
    updatedAt: Date | null
  }

  export type VisitasreceivedCountAggregateOutputType = {
    id: number
    visita: number
    createdAt: number
    updatedAt: number
    _all: number
  }


  export type VisitasreceivedMinAggregateInputType = {
    id?: true
    visita?: true
    createdAt?: true
    updatedAt?: true
  }

  export type VisitasreceivedMaxAggregateInputType = {
    id?: true
    visita?: true
    createdAt?: true
    updatedAt?: true
  }

  export type VisitasreceivedCountAggregateInputType = {
    id?: true
    visita?: true
    createdAt?: true
    updatedAt?: true
    _all?: true
  }

  export type VisitasreceivedAggregateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Filter which visitasreceived to aggregate.
     */
    where?: visitasreceivedWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of visitasreceiveds to fetch.
     */
    orderBy?: visitasreceivedOrderByWithRelationInput | visitasreceivedOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the start position
     */
    cursor?: visitasreceivedWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` visitasreceiveds 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` visitasreceiveds.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Count returned visitasreceiveds
    **/
    _count?: true | VisitasreceivedCountAggregateInputType
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Select which fields to find the minimum value
    **/
    _min?: VisitasreceivedMinAggregateInputType
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     * 
     * Select which fields to find the maximum value
    **/
    _max?: VisitasreceivedMaxAggregateInputType
  }

  export type GetVisitasreceivedAggregateType<T extends VisitasreceivedAggregateArgs> = {
        [P in keyof T & keyof AggregateVisitasreceived]: P extends '_count' | 'count'
      ? T[P] extends true
        ? number
        : GetScalarType<T[P], AggregateVisitasreceived[P]>
      : GetScalarType<T[P], AggregateVisitasreceived[P]>
  }




  export type visitasreceivedGroupByArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    where?: visitasreceivedWhereInput
    orderBy?: visitasreceivedOrderByWithAggregationInput | visitasreceivedOrderByWithAggregationInput[]
    by: VisitasreceivedScalarFieldEnum[] | VisitasreceivedScalarFieldEnum
    having?: visitasreceivedScalarWhereWithAggregatesInput
    take?: number
    skip?: number
    _count?: VisitasreceivedCountAggregateInputType | true
    _min?: VisitasreceivedMinAggregateInputType
    _max?: VisitasreceivedMaxAggregateInputType
  }

  export type VisitasreceivedGroupByOutputType = {
    id: string
    visita: string
    createdAt: Date
    updatedAt: Date
    _count: VisitasreceivedCountAggregateOutputType | null
    _min: VisitasreceivedMinAggregateOutputType | null
    _max: VisitasreceivedMaxAggregateOutputType | null
  }

  type GetVisitasreceivedGroupByPayload<T extends visitasreceivedGroupByArgs> = Prisma.PrismaPromise<
    Array<
      PickEnumerable<VisitasreceivedGroupByOutputType, T['by']> &
        {
          [P in ((keyof T) & (keyof VisitasreceivedGroupByOutputType))]: P extends '_count'
            ? T[P] extends boolean
              ? number
              : GetScalarType<T[P], VisitasreceivedGroupByOutputType[P]>
            : GetScalarType<T[P], VisitasreceivedGroupByOutputType[P]>
        }
      >
    >


  export type visitasreceivedSelect<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetSelect<{
    id?: boolean
    visita?: boolean
    createdAt?: boolean
    updatedAt?: boolean
  }, ExtArgs["result"]["visitasreceived"]>



  export type visitasreceivedSelectScalar = {
    id?: boolean
    visita?: boolean
    createdAt?: boolean
    updatedAt?: boolean
  }

  export type visitasreceivedOmit<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetOmit<"id" | "visita" | "createdAt" | "updatedAt", ExtArgs["result"]["visitasreceived"]>

  export type $visitasreceivedPayload<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    name: "visitasreceived"
    objects: {}
    scalars: $Extensions.GetPayloadResult<{
      id: string
      visita: string
      createdAt: Date
      updatedAt: Date
    }, ExtArgs["result"]["visitasreceived"]>
    composites: {}
  }

  type visitasreceivedGetPayload<S extends boolean | null | undefined | visitasreceivedDefaultArgs> = $Result.GetResult<Prisma.$visitasreceivedPayload, S>

  type visitasreceivedCountArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> =
    Omit<visitasreceivedFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
      select?: VisitasreceivedCountAggregateInputType | true
    }

  export interface visitasreceivedDelegate<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> {
    [K: symbol]: { types: Prisma.TypeMap<ExtArgs>['model']['visitasreceived'], meta: { name: 'visitasreceived' } }
    /**
     * Find zero or one Visitasreceived that matches the filter.
     * @param {visitasreceivedFindUniqueArgs} args - Arguments to find a Visitasreceived
     * @example
     * // Get one Visitasreceived
     * const visitasreceived = await prisma.visitasreceived.findUnique({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUnique<T extends visitasreceivedFindUniqueArgs>(args: SelectSubset<T, visitasreceivedFindUniqueArgs<ExtArgs>>): Prisma__visitasreceivedClient<$Result.GetResult<Prisma.$visitasreceivedPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>

    /**
     * Find one Visitasreceived that matches the filter or throw an error with `error.code='P2025'`
     * if no matches were found.
     * @param {visitasreceivedFindUniqueOrThrowArgs} args - Arguments to find a Visitasreceived
     * @example
     * // Get one Visitasreceived
     * const visitasreceived = await prisma.visitasreceived.findUniqueOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUniqueOrThrow<T extends visitasreceivedFindUniqueOrThrowArgs>(args: SelectSubset<T, visitasreceivedFindUniqueOrThrowArgs<ExtArgs>>): Prisma__visitasreceivedClient<$Result.GetResult<Prisma.$visitasreceivedPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Find the first Visitasreceived 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 {visitasreceivedFindFirstArgs} args - Arguments to find a Visitasreceived
     * @example
     * // Get one Visitasreceived
     * const visitasreceived = await prisma.visitasreceived.findFirst({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirst<T extends visitasreceivedFindFirstArgs>(args?: SelectSubset<T, visitasreceivedFindFirstArgs<ExtArgs>>): Prisma__visitasreceivedClient<$Result.GetResult<Prisma.$visitasreceivedPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>

    /**
     * Find the first Visitasreceived 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 {visitasreceivedFindFirstOrThrowArgs} args - Arguments to find a Visitasreceived
     * @example
     * // Get one Visitasreceived
     * const visitasreceived = await prisma.visitasreceived.findFirstOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirstOrThrow<T extends visitasreceivedFindFirstOrThrowArgs>(args?: SelectSubset<T, visitasreceivedFindFirstOrThrowArgs<ExtArgs>>): Prisma__visitasreceivedClient<$Result.GetResult<Prisma.$visitasreceivedPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Find zero or more Visitasreceiveds 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 {visitasreceivedFindManyArgs} args - Arguments to filter and select certain fields only.
     * @example
     * // Get all Visitasreceiveds
     * const visitasreceiveds = await prisma.visitasreceived.findMany()
     * 
     * // Get first 10 Visitasreceiveds
     * const visitasreceiveds = await prisma.visitasreceived.findMany({ take: 10 })
     * 
     * // Only select the `id`
     * const visitasreceivedWithIdOnly = await prisma.visitasreceived.findMany({ select: { id: true } })
     * 
     */
    findMany<T extends visitasreceivedFindManyArgs>(args?: SelectSubset<T, visitasreceivedFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$visitasreceivedPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>

    /**
     * Create a Visitasreceived.
     * @param {visitasreceivedCreateArgs} args - Arguments to create a Visitasreceived.
     * @example
     * // Create one Visitasreceived
     * const Visitasreceived = await prisma.visitasreceived.create({
     *   data: {
     *     // ... data to create a Visitasreceived
     *   }
     * })
     * 
     */
    create<T extends visitasreceivedCreateArgs>(args: SelectSubset<T, visitasreceivedCreateArgs<ExtArgs>>): Prisma__visitasreceivedClient<$Result.GetResult<Prisma.$visitasreceivedPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Create many Visitasreceiveds.
     * @param {visitasreceivedCreateManyArgs} args - Arguments to create many Visitasreceiveds.
     * @example
     * // Create many Visitasreceiveds
     * const visitasreceived = await prisma.visitasreceived.createMany({
     *   data: [
     *     // ... provide data here
     *   ]
     * })
     *     
     */
    createMany<T extends visitasreceivedCreateManyArgs>(args?: SelectSubset<T, visitasreceivedCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Delete a Visitasreceived.
     * @param {visitasreceivedDeleteArgs} args - Arguments to delete one Visitasreceived.
     * @example
     * // Delete one Visitasreceived
     * const Visitasreceived = await prisma.visitasreceived.delete({
     *   where: {
     *     // ... filter to delete one Visitasreceived
     *   }
     * })
     * 
     */
    delete<T extends visitasreceivedDeleteArgs>(args: SelectSubset<T, visitasreceivedDeleteArgs<ExtArgs>>): Prisma__visitasreceivedClient<$Result.GetResult<Prisma.$visitasreceivedPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Update one Visitasreceived.
     * @param {visitasreceivedUpdateArgs} args - Arguments to update one Visitasreceived.
     * @example
     * // Update one Visitasreceived
     * const visitasreceived = await prisma.visitasreceived.update({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     * 
     */
    update<T extends visitasreceivedUpdateArgs>(args: SelectSubset<T, visitasreceivedUpdateArgs<ExtArgs>>): Prisma__visitasreceivedClient<$Result.GetResult<Prisma.$visitasreceivedPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

    /**
     * Delete zero or more Visitasreceiveds.
     * @param {visitasreceivedDeleteManyArgs} args - Arguments to filter Visitasreceiveds to delete.
     * @example
     * // Delete a few Visitasreceiveds
     * const { count } = await prisma.visitasreceived.deleteMany({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     * 
     */
    deleteMany<T extends visitasreceivedDeleteManyArgs>(args?: SelectSubset<T, visitasreceivedDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Update zero or more Visitasreceiveds.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {visitasreceivedUpdateManyArgs} args - Arguments to update one or more rows.
     * @example
     * // Update many Visitasreceiveds
     * const visitasreceived = await prisma.visitasreceived.updateMany({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     * 
     */
    updateMany<T extends visitasreceivedUpdateManyArgs>(args: SelectSubset<T, visitasreceivedUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>

    /**
     * Create or update one Visitasreceived.
     * @param {visitasreceivedUpsertArgs} args - Arguments to update or create a Visitasreceived.
     * @example
     * // Update or create a Visitasreceived
     * const visitasreceived = await prisma.visitasreceived.upsert({
     *   create: {
     *     // ... data to create a Visitasreceived
     *   },
     *   update: {
     *     // ... in case it already exists, update
     *   },
     *   where: {
     *     // ... the filter for the Visitasreceived we want to update
     *   }
     * })
     */
    upsert<T extends visitasreceivedUpsertArgs>(args: SelectSubset<T, visitasreceivedUpsertArgs<ExtArgs>>): Prisma__visitasreceivedClient<$Result.GetResult<Prisma.$visitasreceivedPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>


    /**
     * Count the number of Visitasreceiveds.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {visitasreceivedCountArgs} args - Arguments to filter Visitasreceiveds to count.
     * @example
     * // Count the number of Visitasreceiveds
     * const count = await prisma.visitasreceived.count({
     *   where: {
     *     // ... the filter for the Visitasreceiveds we want to count
     *   }
     * })
    **/
    count<T extends visitasreceivedCountArgs>(
      args?: Subset<T, visitasreceivedCountArgs>,
    ): Prisma.PrismaPromise<
      T extends $Utils.Record<'select', any>
        ? T['select'] extends true
          ? number
          : GetScalarType<T['select'], VisitasreceivedCountAggregateOutputType>
        : number
    >

    /**
     * Allows you to perform aggregations operations on a Visitasreceived.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {VisitasreceivedAggregateArgs} 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<T extends VisitasreceivedAggregateArgs>(args: Subset<T, VisitasreceivedAggregateArgs>): Prisma.PrismaPromise<GetVisitasreceivedAggregateType<T>>

    /**
     * Group by Visitasreceived.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {visitasreceivedGroupByArgs} 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 visitasreceivedGroupByArgs,
      HasSelectOrTake extends Or<
        Extends<'skip', Keys<T>>,
        Extends<'take', Keys<T>>
      >,
      OrderByArg extends True extends HasSelectOrTake
        ? { orderBy: visitasreceivedGroupByArgs['orderBy'] }
        : { orderBy?: visitasreceivedGroupByArgs['orderBy'] },
      OrderFields extends ExcludeUnderscoreKeys<Keys<MaybeTupleToUnion<T['orderBy']>>>,
      ByFields extends MaybeTupleToUnion<T['by']>,
      ByValid extends Has<ByFields, OrderFields>,
      HavingFields extends GetHavingFields<T['having']>,
      HavingValid extends Has<ByFields, HavingFields>,
      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<T>
      ? 'orderBy' extends Keys<T>
        ? 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<T>
      ? 'orderBy' extends Keys<T>
        ? 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<T, visitasreceivedGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetVisitasreceivedGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>
  /**
   * Fields of the visitasreceived model
   */
  readonly fields: visitasreceivedFieldRefs;
  }

  /**
   * The delegate class that acts as a "Promise-like" for visitasreceived.
   * 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__visitasreceivedClient<T, Null = never, ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
    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<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): $Utils.JsPromise<TResult1 | TResult2>
    /**
     * 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<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): $Utils.JsPromise<T | TResult>
    /**
     * 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<T>
  }




  /**
   * Fields of the visitasreceived model
   */
  interface visitasreceivedFieldRefs {
    readonly id: FieldRef<"visitasreceived", 'String'>
    readonly visita: FieldRef<"visitasreceived", 'String'>
    readonly createdAt: FieldRef<"visitasreceived", 'DateTime'>
    readonly updatedAt: FieldRef<"visitasreceived", 'DateTime'>
  }
    

  // Custom InputTypes
  /**
   * visitasreceived findUnique
   */
  export type visitasreceivedFindUniqueArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the visitasreceived
     */
    select?: visitasreceivedSelect<ExtArgs> | null
    /**
     * Omit specific fields from the visitasreceived
     */
    omit?: visitasreceivedOmit<ExtArgs> | null
    /**
     * Filter, which visitasreceived to fetch.
     */
    where: visitasreceivedWhereUniqueInput
  }

  /**
   * visitasreceived findUniqueOrThrow
   */
  export type visitasreceivedFindUniqueOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the visitasreceived
     */
    select?: visitasreceivedSelect<ExtArgs> | null
    /**
     * Omit specific fields from the visitasreceived
     */
    omit?: visitasreceivedOmit<ExtArgs> | null
    /**
     * Filter, which visitasreceived to fetch.
     */
    where: visitasreceivedWhereUniqueInput
  }

  /**
   * visitasreceived findFirst
   */
  export type visitasreceivedFindFirstArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the visitasreceived
     */
    select?: visitasreceivedSelect<ExtArgs> | null
    /**
     * Omit specific fields from the visitasreceived
     */
    omit?: visitasreceivedOmit<ExtArgs> | null
    /**
     * Filter, which visitasreceived to fetch.
     */
    where?: visitasreceivedWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of visitasreceiveds to fetch.
     */
    orderBy?: visitasreceivedOrderByWithRelationInput | visitasreceivedOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for searching for visitasreceiveds.
     */
    cursor?: visitasreceivedWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` visitasreceiveds 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` visitasreceiveds.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     * 
     * Filter by unique combinations of visitasreceiveds.
     */
    distinct?: VisitasreceivedScalarFieldEnum | VisitasreceivedScalarFieldEnum[]
  }

  /**
   * visitasreceived findFirstOrThrow
   */
  export type visitasreceivedFindFirstOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the visitasreceived
     */
    select?: visitasreceivedSelect<ExtArgs> | null
    /**
     * Omit specific fields from the visitasreceived
     */
    omit?: visitasreceivedOmit<ExtArgs> | null
    /**
     * Filter, which visitasreceived to fetch.
     */
    where?: visitasreceivedWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of visitasreceiveds to fetch.
     */
    orderBy?: visitasreceivedOrderByWithRelationInput | visitasreceivedOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for searching for visitasreceiveds.
     */
    cursor?: visitasreceivedWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` visitasreceiveds 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` visitasreceiveds.
     */
    skip?: number
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     * 
     * Filter by unique combinations of visitasreceiveds.
     */
    distinct?: VisitasreceivedScalarFieldEnum | VisitasreceivedScalarFieldEnum[]
  }

  /**
   * visitasreceived findMany
   */
  export type visitasreceivedFindManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the visitasreceived
     */
    select?: visitasreceivedSelect<ExtArgs> | null
    /**
     * Omit specific fields from the visitasreceived
     */
    omit?: visitasreceivedOmit<ExtArgs> | null
    /**
     * Filter, which visitasreceiveds to fetch.
     */
    where?: visitasreceivedWhereInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     * 
     * Determine the order of visitasreceiveds to fetch.
     */
    orderBy?: visitasreceivedOrderByWithRelationInput | visitasreceivedOrderByWithRelationInput[]
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     * 
     * Sets the position for listing visitasreceiveds.
     */
    cursor?: visitasreceivedWhereUniqueInput
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     * 
     * Take `±n` visitasreceiveds 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` visitasreceiveds.
     */
    skip?: number
    distinct?: VisitasreceivedScalarFieldEnum | VisitasreceivedScalarFieldEnum[]
  }

  /**
   * visitasreceived create
   */
  export type visitasreceivedCreateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the visitasreceived
     */
    select?: visitasreceivedSelect<ExtArgs> | null
    /**
     * Omit specific fields from the visitasreceived
     */
    omit?: visitasreceivedOmit<ExtArgs> | null
    /**
     * The data needed to create a visitasreceived.
     */
    data: XOR<visitasreceivedCreateInput, visitasreceivedUncheckedCreateInput>
  }

  /**
   * visitasreceived createMany
   */
  export type visitasreceivedCreateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * The data used to create many visitasreceiveds.
     */
    data: visitasreceivedCreateManyInput | visitasreceivedCreateManyInput[]
    skipDuplicates?: boolean
  }

  /**
   * visitasreceived update
   */
  export type visitasreceivedUpdateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the visitasreceived
     */
    select?: visitasreceivedSelect<ExtArgs> | null
    /**
     * Omit specific fields from the visitasreceived
     */
    omit?: visitasreceivedOmit<ExtArgs> | null
    /**
     * The data needed to update a visitasreceived.
     */
    data: XOR<visitasreceivedUpdateInput, visitasreceivedUncheckedUpdateInput>
    /**
     * Choose, which visitasreceived to update.
     */
    where: visitasreceivedWhereUniqueInput
  }

  /**
   * visitasreceived updateMany
   */
  export type visitasreceivedUpdateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * The data used to update visitasreceiveds.
     */
    data: XOR<visitasreceivedUpdateManyMutationInput, visitasreceivedUncheckedUpdateManyInput>
    /**
     * Filter which visitasreceiveds to update
     */
    where?: visitasreceivedWhereInput
    /**
     * Limit how many visitasreceiveds to update.
     */
    limit?: number
  }

  /**
   * visitasreceived upsert
   */
  export type visitasreceivedUpsertArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the visitasreceived
     */
    select?: visitasreceivedSelect<ExtArgs> | null
    /**
     * Omit specific fields from the visitasreceived
     */
    omit?: visitasreceivedOmit<ExtArgs> | null
    /**
     * The filter to search for the visitasreceived to update in case it exists.
     */
    where: visitasreceivedWhereUniqueInput
    /**
     * In case the visitasreceived found by the `where` argument doesn't exist, create a new visitasreceived with this data.
     */
    create: XOR<visitasreceivedCreateInput, visitasreceivedUncheckedCreateInput>
    /**
     * In case the visitasreceived was found with the provided `where` argument, update it with this data.
     */
    update: XOR<visitasreceivedUpdateInput, visitasreceivedUncheckedUpdateInput>
  }

  /**
   * visitasreceived delete
   */
  export type visitasreceivedDeleteArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the visitasreceived
     */
    select?: visitasreceivedSelect<ExtArgs> | null
    /**
     * Omit specific fields from the visitasreceived
     */
    omit?: visitasreceivedOmit<ExtArgs> | null
    /**
     * Filter which visitasreceived to delete.
     */
    where: visitasreceivedWhereUniqueInput
  }

  /**
   * visitasreceived deleteMany
   */
  export type visitasreceivedDeleteManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Filter which visitasreceiveds to delete
     */
    where?: visitasreceivedWhereInput
    /**
     * Limit how many visitasreceiveds to delete.
     */
    limit?: number
  }

  /**
   * visitasreceived without action
   */
  export type visitasreceivedDefaultArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the visitasreceived
     */
    select?: visitasreceivedSelect<ExtArgs> | null
    /**
     * Omit specific fields from the visitasreceived
     */
    omit?: visitasreceivedOmit<ExtArgs> | 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',
    name: 'name',
    login: 'login',
    password: 'password',
    email: 'email',
    cpf: 'cpf',
    sexo: 'sexo',
    datanasc: 'datanasc',
    escolaridade: 'escolaridade',
    possuinomesocial: 'possuinomesocial',
    nomesocial: 'nomesocial',
    empresa: 'empresa',
    profileImage: 'profileImage',
    profileId: 'profileId',
    active: 'active',
    createdBy: 'createdBy',
    createdAt: 'createdAt',
    updatedAt: 'updatedAt'
  };

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


  export const ForgetpasswordScalarFieldEnum: {
    id: 'id',
    userId: 'userId',
    token: 'token',
    expiration: 'expiration',
    active: 'active',
    createdAt: 'createdAt',
    updatedAt: 'updatedAt'
  };

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


  export const ProfileScalarFieldEnum: {
    id: 'id',
    name: 'name',
    active: 'active',
    createdAt: 'createdAt',
    updatedAt: 'updatedAt'
  };

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


  export const VisitaScalarFieldEnum: {
    id: 'id',
    userId: 'userId',
    lat: 'lat',
    long: 'long',
    createdAt: 'createdAt',
    updatedAt: 'updatedAt'
  };

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


  export const CheckinvisitaScalarFieldEnum: {
    id: 'id',
    isAdmin: 'isAdmin',
    userId: 'userId',
    envolvimentoGestao: 'envolvimentoGestao',
    formalizadaPorteMeEpp: 'formalizadaPorteMeEpp',
    disponibilidademomento: 'disponibilidademomento',
    latitude: 'latitude',
    longitude: 'longitude',
    processedAt: 'processedAt',
    insertedAt: 'insertedAt',
    tipocadastro: 'tipocadastro',
    createdAt: 'createdAt',
    updatedAt: 'updatedAt'
  };

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


  export const CadastropfScalarFieldEnum: {
    id: 'id',
    nome: 'nome',
    cpf: 'cpf',
    sexo: 'sexo',
    possuinomesocial: 'possuinomesocial',
    nomesocial: 'nomesocial',
    datanasc: 'datanasc',
    escolaridade: 'escolaridade',
    possuideficiencia: 'possuideficiencia',
    deficiencia: 'deficiencia',
    possuifuncionariocomdeficiencia: 'possuifuncionariocomdeficiencia',
    cep: 'cep',
    tipologradoro: 'tipologradoro',
    endereco: 'endereco',
    numero: 'numero',
    complemento: 'complemento',
    bairro: 'bairro',
    cidade: 'cidade',
    estado: 'estado',
    aceitacontatopor: 'aceitacontatopor',
    telefone: 'telefone',
    celular: 'celular',
    email: 'email',
    userId: 'userId',
    checkinvisitaId: 'checkinvisitaId',
    createdAt: 'createdAt',
    updatedAt: 'updatedAt'
  };

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


  export const CadastropjScalarFieldEnum: {
    id: 'id',
    cnpj: 'cnpj',
    razaosocial: 'razaosocial',
    nomefantasia: 'nomefantasia',
    faixadefaturamento: 'faixadefaturamento',
    datadeabertura: 'datadeabertura',
    setor: 'setor',
    cnae: 'cnae',
    cep: 'cep',
    tipologradoro: 'tipologradoro',
    endereco: 'endereco',
    numero: 'numero',
    complemento: 'complemento',
    bairro: 'bairro',
    cidade: 'cidade',
    estado: 'estado',
    email: 'email',
    naotememail: 'naotememail',
    telefone: 'telefone',
    celular: 'celular',
    whatsapp: 'whatsapp',
    checkinvisitaId: 'checkinvisitaId',
    userId: 'userId',
    createdAt: 'createdAt',
    updatedAt: 'updatedAt'
  };

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


  export const PlanoacaoScalarFieldEnum: {
    id: 'id',
    userId: 'userId',
    planoAcao: 'planoAcao',
    checkinvisitaId: 'checkinvisitaId',
    createdAt: 'createdAt',
    updatedAt: 'updatedAt'
  };

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


  export const EntrevistaDiagnosticoScalarFieldEnum: {
    id: 'id',
    userId: 'userId',
    areaEscolhida: 'areaEscolhida',
    formacao_preco_venda: 'formacao_preco_venda',
    credito_capital_giro: 'credito_capital_giro',
    credito_expansao: 'credito_expansao',
    controle_financeiro: 'controle_financeiro',
    outro_financas: 'outro_financas',
    divulgacao_ecommerce: 'divulgacao_ecommerce',
    visual_ponto_loja: 'visual_ponto_loja',
    atendimento_clientes: 'atendimento_clientes',
    concorrencia: 'concorrencia',
    outro_marketing: 'outro_marketing',
    selecao_pessoas: 'selecao_pessoas',
    retencao_motivacao: 'retencao_motivacao',
    outro_rh: 'outro_rh',
    caixa_edicao: 'caixa_edicao',
    checkinvisitaId: 'checkinvisitaId',
    createdAt: 'createdAt',
    updatedAt: 'updatedAt'
  };

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


  export const AssinaturadigitalScalarFieldEnum: {
    id: 'id',
    assinaturaDigital: 'assinaturaDigital',
    checkinvisitaId: 'checkinvisitaId',
    userId: 'userId',
    createdAt: 'createdAt',
    updatedAt: 'updatedAt'
  };

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


  export const CheckoutScalarFieldEnum: {
    id: 'id',
    interessePrograma: 'interessePrograma',
    horarioContato: 'horarioContato',
    aceitaEmail: 'aceitaEmail',
    deixouComentarios: 'deixouComentarios',
    comentarios: 'comentarios',
    checkinvisitaId: 'checkinvisitaId',
    userId: 'userId',
    createdAt: 'createdAt',
    updatedAt: 'updatedAt'
  };

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


  export const RecordingsScalarFieldEnum: {
    id: 'id',
    title: 'title',
    filename: 'filename',
    mimeType: 'mimeType',
    base64: 'base64',
    checkinvisitaId: 'checkinvisitaId',
    createdAt: 'createdAt',
    updatedAt: 'updatedAt'
  };

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


  export const CnaeScalarFieldEnum: {
    id: 'id',
    cnae: 'cnae',
    createdAt: 'createdAt',
    updatedAt: 'updatedAt'
  };

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


  export const VisitasreceivedScalarFieldEnum: {
    id: 'id',
    visita: 'visita',
    createdAt: 'createdAt',
    updatedAt: 'updatedAt'
  };

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


  export const SortOrder: {
    asc: 'asc',
    desc: 'desc'
  };

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


  export const NullsOrder: {
    first: 'first',
    last: 'last'
  };

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


  export const userOrderByRelevanceFieldEnum: {
    id: 'id',
    name: 'name',
    login: 'login',
    password: 'password',
    email: 'email',
    cpf: 'cpf',
    datanasc: 'datanasc',
    escolaridade: 'escolaridade',
    nomesocial: 'nomesocial',
    empresa: 'empresa',
    profileImage: 'profileImage',
    profileId: 'profileId',
    createdBy: 'createdBy'
  };

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


  export const forgetpasswordOrderByRelevanceFieldEnum: {
    id: 'id',
    userId: 'userId',
    token: 'token'
  };

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


  export const profileOrderByRelevanceFieldEnum: {
    id: 'id',
    name: 'name'
  };

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


  export const visitaOrderByRelevanceFieldEnum: {
    id: 'id',
    userId: 'userId',
    lat: 'lat',
    long: 'long'
  };

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


  export const checkinvisitaOrderByRelevanceFieldEnum: {
    id: 'id',
    userId: 'userId',
    envolvimentoGestao: 'envolvimentoGestao',
    latitude: 'latitude',
    longitude: 'longitude'
  };

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


  export const cadastropfOrderByRelevanceFieldEnum: {
    id: 'id',
    nome: 'nome',
    cpf: 'cpf',
    sexo: 'sexo',
    nomesocial: 'nomesocial',
    escolaridade: 'escolaridade',
    deficiencia: 'deficiencia',
    cep: 'cep',
    tipologradoro: 'tipologradoro',
    endereco: 'endereco',
    numero: 'numero',
    complemento: 'complemento',
    bairro: 'bairro',
    cidade: 'cidade',
    estado: 'estado',
    aceitacontatopor: 'aceitacontatopor',
    telefone: 'telefone',
    celular: 'celular',
    email: 'email',
    userId: 'userId',
    checkinvisitaId: 'checkinvisitaId'
  };

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


  export const cadastropjOrderByRelevanceFieldEnum: {
    id: 'id',
    cnpj: 'cnpj',
    razaosocial: 'razaosocial',
    nomefantasia: 'nomefantasia',
    faixadefaturamento: 'faixadefaturamento',
    setor: 'setor',
    cnae: 'cnae',
    cep: 'cep',
    tipologradoro: 'tipologradoro',
    endereco: 'endereco',
    numero: 'numero',
    complemento: 'complemento',
    bairro: 'bairro',
    cidade: 'cidade',
    estado: 'estado',
    email: 'email',
    telefone: 'telefone',
    celular: 'celular',
    whatsapp: 'whatsapp',
    checkinvisitaId: 'checkinvisitaId',
    userId: 'userId'
  };

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


  export const planoacaoOrderByRelevanceFieldEnum: {
    id: 'id',
    userId: 'userId',
    planoAcao: 'planoAcao',
    checkinvisitaId: 'checkinvisitaId'
  };

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


  export const entrevistaDiagnosticoOrderByRelevanceFieldEnum: {
    id: 'id',
    userId: 'userId',
    areaEscolhida: 'areaEscolhida',
    caixa_edicao: 'caixa_edicao',
    checkinvisitaId: 'checkinvisitaId'
  };

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


  export const assinaturadigitalOrderByRelevanceFieldEnum: {
    id: 'id',
    assinaturaDigital: 'assinaturaDigital',
    checkinvisitaId: 'checkinvisitaId',
    userId: 'userId'
  };

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


  export const checkoutOrderByRelevanceFieldEnum: {
    id: 'id',
    horarioContato: 'horarioContato',
    comentarios: 'comentarios',
    checkinvisitaId: 'checkinvisitaId',
    userId: 'userId'
  };

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


  export const recordingsOrderByRelevanceFieldEnum: {
    id: 'id',
    title: 'title',
    filename: 'filename',
    mimeType: 'mimeType',
    base64: 'base64',
    checkinvisitaId: 'checkinvisitaId'
  };

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


  export const cnaeOrderByRelevanceFieldEnum: {
    id: 'id',
    cnae: 'cnae'
  };

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


  export const visitasreceivedOrderByRelevanceFieldEnum: {
    id: 'id',
    visita: 'visita'
  };

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


  /**
   * Field references
   */


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


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


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


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


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


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


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


  export type userWhereInput = {
    AND?: userWhereInput | userWhereInput[]
    OR?: userWhereInput[]
    NOT?: userWhereInput | userWhereInput[]
    id?: StringFilter<"user"> | string
    name?: StringFilter<"user"> | string
    login?: StringFilter<"user"> | string
    password?: StringFilter<"user"> | string
    email?: StringFilter<"user"> | string
    cpf?: StringFilter<"user"> | string
    sexo?: EnumUserSexoFilter<"user"> | $Enums.UserSexo
    datanasc?: StringNullableFilter<"user"> | string | null
    escolaridade?: StringNullableFilter<"user"> | string | null
    possuinomesocial?: BoolFilter<"user"> | boolean
    nomesocial?: StringNullableFilter<"user"> | string | null
    empresa?: StringNullableFilter<"user"> | string | null
    profileImage?: StringFilter<"user"> | string
    profileId?: StringFilter<"user"> | string
    active?: BoolFilter<"user"> | boolean
    createdBy?: StringNullableFilter<"user"> | string | null
    createdAt?: DateTimeFilter<"user"> | Date | string
    updatedAt?: DateTimeFilter<"user"> | Date | string
    profile?: XOR<ProfileScalarRelationFilter, profileWhereInput>
    forgetpassword?: ForgetpasswordListRelationFilter
  }

  export type userOrderByWithRelationInput = {
    id?: SortOrder
    name?: SortOrder
    login?: SortOrder
    password?: SortOrder
    email?: SortOrder
    cpf?: SortOrder
    sexo?: SortOrder
    datanasc?: SortOrderInput | SortOrder
    escolaridade?: SortOrderInput | SortOrder
    possuinomesocial?: SortOrder
    nomesocial?: SortOrderInput | SortOrder
    empresa?: SortOrderInput | SortOrder
    profileImage?: SortOrder
    profileId?: SortOrder
    active?: SortOrder
    createdBy?: SortOrderInput | SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
    profile?: profileOrderByWithRelationInput
    forgetpassword?: forgetpasswordOrderByRelationAggregateInput
    _relevance?: userOrderByRelevanceInput
  }

  export type userWhereUniqueInput = Prisma.AtLeast<{
    id?: string
    AND?: userWhereInput | userWhereInput[]
    OR?: userWhereInput[]
    NOT?: userWhereInput | userWhereInput[]
    name?: StringFilter<"user"> | string
    login?: StringFilter<"user"> | string
    password?: StringFilter<"user"> | string
    email?: StringFilter<"user"> | string
    cpf?: StringFilter<"user"> | string
    sexo?: EnumUserSexoFilter<"user"> | $Enums.UserSexo
    datanasc?: StringNullableFilter<"user"> | string | null
    escolaridade?: StringNullableFilter<"user"> | string | null
    possuinomesocial?: BoolFilter<"user"> | boolean
    nomesocial?: StringNullableFilter<"user"> | string | null
    empresa?: StringNullableFilter<"user"> | string | null
    profileImage?: StringFilter<"user"> | string
    profileId?: StringFilter<"user"> | string
    active?: BoolFilter<"user"> | boolean
    createdBy?: StringNullableFilter<"user"> | string | null
    createdAt?: DateTimeFilter<"user"> | Date | string
    updatedAt?: DateTimeFilter<"user"> | Date | string
    profile?: XOR<ProfileScalarRelationFilter, profileWhereInput>
    forgetpassword?: ForgetpasswordListRelationFilter
  }, "id">

  export type userOrderByWithAggregationInput = {
    id?: SortOrder
    name?: SortOrder
    login?: SortOrder
    password?: SortOrder
    email?: SortOrder
    cpf?: SortOrder
    sexo?: SortOrder
    datanasc?: SortOrderInput | SortOrder
    escolaridade?: SortOrderInput | SortOrder
    possuinomesocial?: SortOrder
    nomesocial?: SortOrderInput | SortOrder
    empresa?: SortOrderInput | SortOrder
    profileImage?: SortOrder
    profileId?: SortOrder
    active?: SortOrder
    createdBy?: SortOrderInput | 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
    name?: StringWithAggregatesFilter<"user"> | string
    login?: StringWithAggregatesFilter<"user"> | string
    password?: StringWithAggregatesFilter<"user"> | string
    email?: StringWithAggregatesFilter<"user"> | string
    cpf?: StringWithAggregatesFilter<"user"> | string
    sexo?: EnumUserSexoWithAggregatesFilter<"user"> | $Enums.UserSexo
    datanasc?: StringNullableWithAggregatesFilter<"user"> | string | null
    escolaridade?: StringNullableWithAggregatesFilter<"user"> | string | null
    possuinomesocial?: BoolWithAggregatesFilter<"user"> | boolean
    nomesocial?: StringNullableWithAggregatesFilter<"user"> | string | null
    empresa?: StringNullableWithAggregatesFilter<"user"> | string | null
    profileImage?: StringWithAggregatesFilter<"user"> | string
    profileId?: StringWithAggregatesFilter<"user"> | string
    active?: BoolWithAggregatesFilter<"user"> | boolean
    createdBy?: StringNullableWithAggregatesFilter<"user"> | string | null
    createdAt?: DateTimeWithAggregatesFilter<"user"> | Date | string
    updatedAt?: DateTimeWithAggregatesFilter<"user"> | Date | string
  }

  export type forgetpasswordWhereInput = {
    AND?: forgetpasswordWhereInput | forgetpasswordWhereInput[]
    OR?: forgetpasswordWhereInput[]
    NOT?: forgetpasswordWhereInput | forgetpasswordWhereInput[]
    id?: StringFilter<"forgetpassword"> | string
    userId?: StringFilter<"forgetpassword"> | string
    token?: StringFilter<"forgetpassword"> | string
    expiration?: DateTimeFilter<"forgetpassword"> | Date | string
    active?: BoolFilter<"forgetpassword"> | boolean
    createdAt?: DateTimeFilter<"forgetpassword"> | Date | string
    updatedAt?: DateTimeFilter<"forgetpassword"> | Date | string
    user?: XOR<UserScalarRelationFilter, userWhereInput>
  }

  export type forgetpasswordOrderByWithRelationInput = {
    id?: SortOrder
    userId?: SortOrder
    token?: SortOrder
    expiration?: SortOrder
    active?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
    user?: userOrderByWithRelationInput
    _relevance?: forgetpasswordOrderByRelevanceInput
  }

  export type forgetpasswordWhereUniqueInput = Prisma.AtLeast<{
    id?: string
    AND?: forgetpasswordWhereInput | forgetpasswordWhereInput[]
    OR?: forgetpasswordWhereInput[]
    NOT?: forgetpasswordWhereInput | forgetpasswordWhereInput[]
    userId?: StringFilter<"forgetpassword"> | string
    token?: StringFilter<"forgetpassword"> | string
    expiration?: DateTimeFilter<"forgetpassword"> | Date | string
    active?: BoolFilter<"forgetpassword"> | boolean
    createdAt?: DateTimeFilter<"forgetpassword"> | Date | string
    updatedAt?: DateTimeFilter<"forgetpassword"> | Date | string
    user?: XOR<UserScalarRelationFilter, userWhereInput>
  }, "id">

  export type forgetpasswordOrderByWithAggregationInput = {
    id?: SortOrder
    userId?: SortOrder
    token?: SortOrder
    expiration?: SortOrder
    active?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
    _count?: forgetpasswordCountOrderByAggregateInput
    _max?: forgetpasswordMaxOrderByAggregateInput
    _min?: forgetpasswordMinOrderByAggregateInput
  }

  export type forgetpasswordScalarWhereWithAggregatesInput = {
    AND?: forgetpasswordScalarWhereWithAggregatesInput | forgetpasswordScalarWhereWithAggregatesInput[]
    OR?: forgetpasswordScalarWhereWithAggregatesInput[]
    NOT?: forgetpasswordScalarWhereWithAggregatesInput | forgetpasswordScalarWhereWithAggregatesInput[]
    id?: StringWithAggregatesFilter<"forgetpassword"> | string
    userId?: StringWithAggregatesFilter<"forgetpassword"> | string
    token?: StringWithAggregatesFilter<"forgetpassword"> | string
    expiration?: DateTimeWithAggregatesFilter<"forgetpassword"> | Date | string
    active?: BoolWithAggregatesFilter<"forgetpassword"> | boolean
    createdAt?: DateTimeWithAggregatesFilter<"forgetpassword"> | Date | string
    updatedAt?: DateTimeWithAggregatesFilter<"forgetpassword"> | Date | string
  }

  export type profileWhereInput = {
    AND?: profileWhereInput | profileWhereInput[]
    OR?: profileWhereInput[]
    NOT?: profileWhereInput | profileWhereInput[]
    id?: StringFilter<"profile"> | string
    name?: StringFilter<"profile"> | string
    active?: BoolFilter<"profile"> | boolean
    createdAt?: DateTimeFilter<"profile"> | Date | string
    updatedAt?: DateTimeFilter<"profile"> | Date | string
    user?: UserListRelationFilter
  }

  export type profileOrderByWithRelationInput = {
    id?: SortOrder
    name?: SortOrder
    active?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
    user?: userOrderByRelationAggregateInput
    _relevance?: profileOrderByRelevanceInput
  }

  export type profileWhereUniqueInput = Prisma.AtLeast<{
    id?: string
    AND?: profileWhereInput | profileWhereInput[]
    OR?: profileWhereInput[]
    NOT?: profileWhereInput | profileWhereInput[]
    name?: StringFilter<"profile"> | string
    active?: BoolFilter<"profile"> | boolean
    createdAt?: DateTimeFilter<"profile"> | Date | string
    updatedAt?: DateTimeFilter<"profile"> | Date | string
    user?: UserListRelationFilter
  }, "id">

  export type profileOrderByWithAggregationInput = {
    id?: SortOrder
    name?: SortOrder
    active?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
    _count?: profileCountOrderByAggregateInput
    _max?: profileMaxOrderByAggregateInput
    _min?: profileMinOrderByAggregateInput
  }

  export type profileScalarWhereWithAggregatesInput = {
    AND?: profileScalarWhereWithAggregatesInput | profileScalarWhereWithAggregatesInput[]
    OR?: profileScalarWhereWithAggregatesInput[]
    NOT?: profileScalarWhereWithAggregatesInput | profileScalarWhereWithAggregatesInput[]
    id?: StringWithAggregatesFilter<"profile"> | string
    name?: StringWithAggregatesFilter<"profile"> | string
    active?: BoolWithAggregatesFilter<"profile"> | boolean
    createdAt?: DateTimeWithAggregatesFilter<"profile"> | Date | string
    updatedAt?: DateTimeWithAggregatesFilter<"profile"> | Date | string
  }

  export type visitaWhereInput = {
    AND?: visitaWhereInput | visitaWhereInput[]
    OR?: visitaWhereInput[]
    NOT?: visitaWhereInput | visitaWhereInput[]
    id?: StringFilter<"visita"> | string
    userId?: StringFilter<"visita"> | string
    lat?: StringFilter<"visita"> | string
    long?: StringFilter<"visita"> | string
    createdAt?: DateTimeFilter<"visita"> | Date | string
    updatedAt?: DateTimeFilter<"visita"> | Date | string
  }

  export type visitaOrderByWithRelationInput = {
    id?: SortOrder
    userId?: SortOrder
    lat?: SortOrder
    long?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
    _relevance?: visitaOrderByRelevanceInput
  }

  export type visitaWhereUniqueInput = Prisma.AtLeast<{
    id?: string
    AND?: visitaWhereInput | visitaWhereInput[]
    OR?: visitaWhereInput[]
    NOT?: visitaWhereInput | visitaWhereInput[]
    userId?: StringFilter<"visita"> | string
    lat?: StringFilter<"visita"> | string
    long?: StringFilter<"visita"> | string
    createdAt?: DateTimeFilter<"visita"> | Date | string
    updatedAt?: DateTimeFilter<"visita"> | Date | string
  }, "id">

  export type visitaOrderByWithAggregationInput = {
    id?: SortOrder
    userId?: SortOrder
    lat?: SortOrder
    long?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
    _count?: visitaCountOrderByAggregateInput
    _max?: visitaMaxOrderByAggregateInput
    _min?: visitaMinOrderByAggregateInput
  }

  export type visitaScalarWhereWithAggregatesInput = {
    AND?: visitaScalarWhereWithAggregatesInput | visitaScalarWhereWithAggregatesInput[]
    OR?: visitaScalarWhereWithAggregatesInput[]
    NOT?: visitaScalarWhereWithAggregatesInput | visitaScalarWhereWithAggregatesInput[]
    id?: StringWithAggregatesFilter<"visita"> | string
    userId?: StringWithAggregatesFilter<"visita"> | string
    lat?: StringWithAggregatesFilter<"visita"> | string
    long?: StringWithAggregatesFilter<"visita"> | string
    createdAt?: DateTimeWithAggregatesFilter<"visita"> | Date | string
    updatedAt?: DateTimeWithAggregatesFilter<"visita"> | Date | string
  }

  export type checkinvisitaWhereInput = {
    AND?: checkinvisitaWhereInput | checkinvisitaWhereInput[]
    OR?: checkinvisitaWhereInput[]
    NOT?: checkinvisitaWhereInput | checkinvisitaWhereInput[]
    id?: StringFilter<"checkinvisita"> | string
    isAdmin?: BoolFilter<"checkinvisita"> | boolean
    userId?: StringFilter<"checkinvisita"> | string
    envolvimentoGestao?: StringNullableFilter<"checkinvisita"> | string | null
    formalizadaPorteMeEpp?: BoolFilter<"checkinvisita"> | boolean
    disponibilidademomento?: BoolFilter<"checkinvisita"> | boolean
    latitude?: StringFilter<"checkinvisita"> | string
    longitude?: StringFilter<"checkinvisita"> | string
    processedAt?: DateTimeNullableFilter<"checkinvisita"> | Date | string | null
    insertedAt?: DateTimeNullableFilter<"checkinvisita"> | Date | string | null
    tipocadastro?: EnumTipoCadastroNullableFilter<"checkinvisita"> | $Enums.TipoCadastro | null
    createdAt?: DateTimeFilter<"checkinvisita"> | Date | string
    updatedAt?: DateTimeFilter<"checkinvisita"> | Date | string
    entrevistaDiagnostico?: EntrevistaDiagnosticoListRelationFilter
    cadastropf?: CadastropfListRelationFilter
    cadastropj?: CadastropjListRelationFilter
    planoacao?: PlanoacaoListRelationFilter
    assinaturadigital?: AssinaturadigitalListRelationFilter
    checkout?: CheckoutListRelationFilter
    recordings?: RecordingsListRelationFilter
  }

  export type checkinvisitaOrderByWithRelationInput = {
    id?: SortOrder
    isAdmin?: SortOrder
    userId?: SortOrder
    envolvimentoGestao?: SortOrderInput | SortOrder
    formalizadaPorteMeEpp?: SortOrder
    disponibilidademomento?: SortOrder
    latitude?: SortOrder
    longitude?: SortOrder
    processedAt?: SortOrderInput | SortOrder
    insertedAt?: SortOrderInput | SortOrder
    tipocadastro?: SortOrderInput | SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
    entrevistaDiagnostico?: entrevistaDiagnosticoOrderByRelationAggregateInput
    cadastropf?: cadastropfOrderByRelationAggregateInput
    cadastropj?: cadastropjOrderByRelationAggregateInput
    planoacao?: planoacaoOrderByRelationAggregateInput
    assinaturadigital?: assinaturadigitalOrderByRelationAggregateInput
    checkout?: checkoutOrderByRelationAggregateInput
    recordings?: recordingsOrderByRelationAggregateInput
    _relevance?: checkinvisitaOrderByRelevanceInput
  }

  export type checkinvisitaWhereUniqueInput = Prisma.AtLeast<{
    id?: string
    AND?: checkinvisitaWhereInput | checkinvisitaWhereInput[]
    OR?: checkinvisitaWhereInput[]
    NOT?: checkinvisitaWhereInput | checkinvisitaWhereInput[]
    isAdmin?: BoolFilter<"checkinvisita"> | boolean
    userId?: StringFilter<"checkinvisita"> | string
    envolvimentoGestao?: StringNullableFilter<"checkinvisita"> | string | null
    formalizadaPorteMeEpp?: BoolFilter<"checkinvisita"> | boolean
    disponibilidademomento?: BoolFilter<"checkinvisita"> | boolean
    latitude?: StringFilter<"checkinvisita"> | string
    longitude?: StringFilter<"checkinvisita"> | string
    processedAt?: DateTimeNullableFilter<"checkinvisita"> | Date | string | null
    insertedAt?: DateTimeNullableFilter<"checkinvisita"> | Date | string | null
    tipocadastro?: EnumTipoCadastroNullableFilter<"checkinvisita"> | $Enums.TipoCadastro | null
    createdAt?: DateTimeFilter<"checkinvisita"> | Date | string
    updatedAt?: DateTimeFilter<"checkinvisita"> | Date | string
    entrevistaDiagnostico?: EntrevistaDiagnosticoListRelationFilter
    cadastropf?: CadastropfListRelationFilter
    cadastropj?: CadastropjListRelationFilter
    planoacao?: PlanoacaoListRelationFilter
    assinaturadigital?: AssinaturadigitalListRelationFilter
    checkout?: CheckoutListRelationFilter
    recordings?: RecordingsListRelationFilter
  }, "id">

  export type checkinvisitaOrderByWithAggregationInput = {
    id?: SortOrder
    isAdmin?: SortOrder
    userId?: SortOrder
    envolvimentoGestao?: SortOrderInput | SortOrder
    formalizadaPorteMeEpp?: SortOrder
    disponibilidademomento?: SortOrder
    latitude?: SortOrder
    longitude?: SortOrder
    processedAt?: SortOrderInput | SortOrder
    insertedAt?: SortOrderInput | SortOrder
    tipocadastro?: SortOrderInput | SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
    _count?: checkinvisitaCountOrderByAggregateInput
    _max?: checkinvisitaMaxOrderByAggregateInput
    _min?: checkinvisitaMinOrderByAggregateInput
  }

  export type checkinvisitaScalarWhereWithAggregatesInput = {
    AND?: checkinvisitaScalarWhereWithAggregatesInput | checkinvisitaScalarWhereWithAggregatesInput[]
    OR?: checkinvisitaScalarWhereWithAggregatesInput[]
    NOT?: checkinvisitaScalarWhereWithAggregatesInput | checkinvisitaScalarWhereWithAggregatesInput[]
    id?: StringWithAggregatesFilter<"checkinvisita"> | string
    isAdmin?: BoolWithAggregatesFilter<"checkinvisita"> | boolean
    userId?: StringWithAggregatesFilter<"checkinvisita"> | string
    envolvimentoGestao?: StringNullableWithAggregatesFilter<"checkinvisita"> | string | null
    formalizadaPorteMeEpp?: BoolWithAggregatesFilter<"checkinvisita"> | boolean
    disponibilidademomento?: BoolWithAggregatesFilter<"checkinvisita"> | boolean
    latitude?: StringWithAggregatesFilter<"checkinvisita"> | string
    longitude?: StringWithAggregatesFilter<"checkinvisita"> | string
    processedAt?: DateTimeNullableWithAggregatesFilter<"checkinvisita"> | Date | string | null
    insertedAt?: DateTimeNullableWithAggregatesFilter<"checkinvisita"> | Date | string | null
    tipocadastro?: EnumTipoCadastroNullableWithAggregatesFilter<"checkinvisita"> | $Enums.TipoCadastro | null
    createdAt?: DateTimeWithAggregatesFilter<"checkinvisita"> | Date | string
    updatedAt?: DateTimeWithAggregatesFilter<"checkinvisita"> | Date | string
  }

  export type cadastropfWhereInput = {
    AND?: cadastropfWhereInput | cadastropfWhereInput[]
    OR?: cadastropfWhereInput[]
    NOT?: cadastropfWhereInput | cadastropfWhereInput[]
    id?: StringFilter<"cadastropf"> | string
    nome?: StringFilter<"cadastropf"> | string
    cpf?: StringFilter<"cadastropf"> | string
    sexo?: StringFilter<"cadastropf"> | string
    possuinomesocial?: BoolNullableFilter<"cadastropf"> | boolean | null
    nomesocial?: StringNullableFilter<"cadastropf"> | string | null
    datanasc?: DateTimeFilter<"cadastropf"> | Date | string
    escolaridade?: StringFilter<"cadastropf"> | string
    possuideficiencia?: BoolFilter<"cadastropf"> | boolean
    deficiencia?: StringNullableFilter<"cadastropf"> | string | null
    possuifuncionariocomdeficiencia?: BoolNullableFilter<"cadastropf"> | boolean | null
    cep?: StringFilter<"cadastropf"> | string
    tipologradoro?: StringFilter<"cadastropf"> | string
    endereco?: StringFilter<"cadastropf"> | string
    numero?: StringFilter<"cadastropf"> | string
    complemento?: StringNullableFilter<"cadastropf"> | string | null
    bairro?: StringFilter<"cadastropf"> | string
    cidade?: StringFilter<"cadastropf"> | string
    estado?: StringFilter<"cadastropf"> | string
    aceitacontatopor?: StringFilter<"cadastropf"> | string
    telefone?: StringNullableFilter<"cadastropf"> | string | null
    celular?: StringNullableFilter<"cadastropf"> | string | null
    email?: StringNullableFilter<"cadastropf"> | string | null
    userId?: StringFilter<"cadastropf"> | string
    checkinvisitaId?: StringFilter<"cadastropf"> | string
    createdAt?: DateTimeFilter<"cadastropf"> | Date | string
    updatedAt?: DateTimeFilter<"cadastropf"> | Date | string
    checkinvisita?: XOR<CheckinvisitaNullableScalarRelationFilter, checkinvisitaWhereInput> | null
  }

  export type cadastropfOrderByWithRelationInput = {
    id?: SortOrder
    nome?: SortOrder
    cpf?: SortOrder
    sexo?: SortOrder
    possuinomesocial?: SortOrderInput | SortOrder
    nomesocial?: SortOrderInput | SortOrder
    datanasc?: SortOrder
    escolaridade?: SortOrder
    possuideficiencia?: SortOrder
    deficiencia?: SortOrderInput | SortOrder
    possuifuncionariocomdeficiencia?: SortOrderInput | SortOrder
    cep?: SortOrder
    tipologradoro?: SortOrder
    endereco?: SortOrder
    numero?: SortOrder
    complemento?: SortOrderInput | SortOrder
    bairro?: SortOrder
    cidade?: SortOrder
    estado?: SortOrder
    aceitacontatopor?: SortOrder
    telefone?: SortOrderInput | SortOrder
    celular?: SortOrderInput | SortOrder
    email?: SortOrderInput | SortOrder
    userId?: SortOrder
    checkinvisitaId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
    checkinvisita?: checkinvisitaOrderByWithRelationInput
    _relevance?: cadastropfOrderByRelevanceInput
  }

  export type cadastropfWhereUniqueInput = Prisma.AtLeast<{
    id?: string
    AND?: cadastropfWhereInput | cadastropfWhereInput[]
    OR?: cadastropfWhereInput[]
    NOT?: cadastropfWhereInput | cadastropfWhereInput[]
    nome?: StringFilter<"cadastropf"> | string
    cpf?: StringFilter<"cadastropf"> | string
    sexo?: StringFilter<"cadastropf"> | string
    possuinomesocial?: BoolNullableFilter<"cadastropf"> | boolean | null
    nomesocial?: StringNullableFilter<"cadastropf"> | string | null
    datanasc?: DateTimeFilter<"cadastropf"> | Date | string
    escolaridade?: StringFilter<"cadastropf"> | string
    possuideficiencia?: BoolFilter<"cadastropf"> | boolean
    deficiencia?: StringNullableFilter<"cadastropf"> | string | null
    possuifuncionariocomdeficiencia?: BoolNullableFilter<"cadastropf"> | boolean | null
    cep?: StringFilter<"cadastropf"> | string
    tipologradoro?: StringFilter<"cadastropf"> | string
    endereco?: StringFilter<"cadastropf"> | string
    numero?: StringFilter<"cadastropf"> | string
    complemento?: StringNullableFilter<"cadastropf"> | string | null
    bairro?: StringFilter<"cadastropf"> | string
    cidade?: StringFilter<"cadastropf"> | string
    estado?: StringFilter<"cadastropf"> | string
    aceitacontatopor?: StringFilter<"cadastropf"> | string
    telefone?: StringNullableFilter<"cadastropf"> | string | null
    celular?: StringNullableFilter<"cadastropf"> | string | null
    email?: StringNullableFilter<"cadastropf"> | string | null
    userId?: StringFilter<"cadastropf"> | string
    checkinvisitaId?: StringFilter<"cadastropf"> | string
    createdAt?: DateTimeFilter<"cadastropf"> | Date | string
    updatedAt?: DateTimeFilter<"cadastropf"> | Date | string
    checkinvisita?: XOR<CheckinvisitaNullableScalarRelationFilter, checkinvisitaWhereInput> | null
  }, "id">

  export type cadastropfOrderByWithAggregationInput = {
    id?: SortOrder
    nome?: SortOrder
    cpf?: SortOrder
    sexo?: SortOrder
    possuinomesocial?: SortOrderInput | SortOrder
    nomesocial?: SortOrderInput | SortOrder
    datanasc?: SortOrder
    escolaridade?: SortOrder
    possuideficiencia?: SortOrder
    deficiencia?: SortOrderInput | SortOrder
    possuifuncionariocomdeficiencia?: SortOrderInput | SortOrder
    cep?: SortOrder
    tipologradoro?: SortOrder
    endereco?: SortOrder
    numero?: SortOrder
    complemento?: SortOrderInput | SortOrder
    bairro?: SortOrder
    cidade?: SortOrder
    estado?: SortOrder
    aceitacontatopor?: SortOrder
    telefone?: SortOrderInput | SortOrder
    celular?: SortOrderInput | SortOrder
    email?: SortOrderInput | SortOrder
    userId?: SortOrder
    checkinvisitaId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
    _count?: cadastropfCountOrderByAggregateInput
    _max?: cadastropfMaxOrderByAggregateInput
    _min?: cadastropfMinOrderByAggregateInput
  }

  export type cadastropfScalarWhereWithAggregatesInput = {
    AND?: cadastropfScalarWhereWithAggregatesInput | cadastropfScalarWhereWithAggregatesInput[]
    OR?: cadastropfScalarWhereWithAggregatesInput[]
    NOT?: cadastropfScalarWhereWithAggregatesInput | cadastropfScalarWhereWithAggregatesInput[]
    id?: StringWithAggregatesFilter<"cadastropf"> | string
    nome?: StringWithAggregatesFilter<"cadastropf"> | string
    cpf?: StringWithAggregatesFilter<"cadastropf"> | string
    sexo?: StringWithAggregatesFilter<"cadastropf"> | string
    possuinomesocial?: BoolNullableWithAggregatesFilter<"cadastropf"> | boolean | null
    nomesocial?: StringNullableWithAggregatesFilter<"cadastropf"> | string | null
    datanasc?: DateTimeWithAggregatesFilter<"cadastropf"> | Date | string
    escolaridade?: StringWithAggregatesFilter<"cadastropf"> | string
    possuideficiencia?: BoolWithAggregatesFilter<"cadastropf"> | boolean
    deficiencia?: StringNullableWithAggregatesFilter<"cadastropf"> | string | null
    possuifuncionariocomdeficiencia?: BoolNullableWithAggregatesFilter<"cadastropf"> | boolean | null
    cep?: StringWithAggregatesFilter<"cadastropf"> | string
    tipologradoro?: StringWithAggregatesFilter<"cadastropf"> | string
    endereco?: StringWithAggregatesFilter<"cadastropf"> | string
    numero?: StringWithAggregatesFilter<"cadastropf"> | string
    complemento?: StringNullableWithAggregatesFilter<"cadastropf"> | string | null
    bairro?: StringWithAggregatesFilter<"cadastropf"> | string
    cidade?: StringWithAggregatesFilter<"cadastropf"> | string
    estado?: StringWithAggregatesFilter<"cadastropf"> | string
    aceitacontatopor?: StringWithAggregatesFilter<"cadastropf"> | string
    telefone?: StringNullableWithAggregatesFilter<"cadastropf"> | string | null
    celular?: StringNullableWithAggregatesFilter<"cadastropf"> | string | null
    email?: StringNullableWithAggregatesFilter<"cadastropf"> | string | null
    userId?: StringWithAggregatesFilter<"cadastropf"> | string
    checkinvisitaId?: StringWithAggregatesFilter<"cadastropf"> | string
    createdAt?: DateTimeWithAggregatesFilter<"cadastropf"> | Date | string
    updatedAt?: DateTimeWithAggregatesFilter<"cadastropf"> | Date | string
  }

  export type cadastropjWhereInput = {
    AND?: cadastropjWhereInput | cadastropjWhereInput[]
    OR?: cadastropjWhereInput[]
    NOT?: cadastropjWhereInput | cadastropjWhereInput[]
    id?: StringFilter<"cadastropj"> | string
    cnpj?: StringFilter<"cadastropj"> | string
    razaosocial?: StringFilter<"cadastropj"> | string
    nomefantasia?: StringFilter<"cadastropj"> | string
    faixadefaturamento?: StringFilter<"cadastropj"> | string
    datadeabertura?: DateTimeFilter<"cadastropj"> | Date | string
    setor?: StringFilter<"cadastropj"> | string
    cnae?: StringFilter<"cadastropj"> | string
    cep?: StringFilter<"cadastropj"> | string
    tipologradoro?: StringFilter<"cadastropj"> | string
    endereco?: StringFilter<"cadastropj"> | string
    numero?: StringFilter<"cadastropj"> | string
    complemento?: StringNullableFilter<"cadastropj"> | string | null
    bairro?: StringFilter<"cadastropj"> | string
    cidade?: StringFilter<"cadastropj"> | string
    estado?: StringFilter<"cadastropj"> | string
    email?: StringNullableFilter<"cadastropj"> | string | null
    naotememail?: BoolFilter<"cadastropj"> | boolean
    telefone?: StringFilter<"cadastropj"> | string
    celular?: StringFilter<"cadastropj"> | string
    whatsapp?: StringFilter<"cadastropj"> | string
    checkinvisitaId?: StringFilter<"cadastropj"> | string
    userId?: StringFilter<"cadastropj"> | string
    createdAt?: DateTimeFilter<"cadastropj"> | Date | string
    updatedAt?: DateTimeFilter<"cadastropj"> | Date | string
    checkinvisita?: XOR<CheckinvisitaNullableScalarRelationFilter, checkinvisitaWhereInput> | null
  }

  export type cadastropjOrderByWithRelationInput = {
    id?: SortOrder
    cnpj?: SortOrder
    razaosocial?: SortOrder
    nomefantasia?: SortOrder
    faixadefaturamento?: SortOrder
    datadeabertura?: SortOrder
    setor?: SortOrder
    cnae?: SortOrder
    cep?: SortOrder
    tipologradoro?: SortOrder
    endereco?: SortOrder
    numero?: SortOrder
    complemento?: SortOrderInput | SortOrder
    bairro?: SortOrder
    cidade?: SortOrder
    estado?: SortOrder
    email?: SortOrderInput | SortOrder
    naotememail?: SortOrder
    telefone?: SortOrder
    celular?: SortOrder
    whatsapp?: SortOrder
    checkinvisitaId?: SortOrder
    userId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
    checkinvisita?: checkinvisitaOrderByWithRelationInput
    _relevance?: cadastropjOrderByRelevanceInput
  }

  export type cadastropjWhereUniqueInput = Prisma.AtLeast<{
    id?: string
    AND?: cadastropjWhereInput | cadastropjWhereInput[]
    OR?: cadastropjWhereInput[]
    NOT?: cadastropjWhereInput | cadastropjWhereInput[]
    cnpj?: StringFilter<"cadastropj"> | string
    razaosocial?: StringFilter<"cadastropj"> | string
    nomefantasia?: StringFilter<"cadastropj"> | string
    faixadefaturamento?: StringFilter<"cadastropj"> | string
    datadeabertura?: DateTimeFilter<"cadastropj"> | Date | string
    setor?: StringFilter<"cadastropj"> | string
    cnae?: StringFilter<"cadastropj"> | string
    cep?: StringFilter<"cadastropj"> | string
    tipologradoro?: StringFilter<"cadastropj"> | string
    endereco?: StringFilter<"cadastropj"> | string
    numero?: StringFilter<"cadastropj"> | string
    complemento?: StringNullableFilter<"cadastropj"> | string | null
    bairro?: StringFilter<"cadastropj"> | string
    cidade?: StringFilter<"cadastropj"> | string
    estado?: StringFilter<"cadastropj"> | string
    email?: StringNullableFilter<"cadastropj"> | string | null
    naotememail?: BoolFilter<"cadastropj"> | boolean
    telefone?: StringFilter<"cadastropj"> | string
    celular?: StringFilter<"cadastropj"> | string
    whatsapp?: StringFilter<"cadastropj"> | string
    checkinvisitaId?: StringFilter<"cadastropj"> | string
    userId?: StringFilter<"cadastropj"> | string
    createdAt?: DateTimeFilter<"cadastropj"> | Date | string
    updatedAt?: DateTimeFilter<"cadastropj"> | Date | string
    checkinvisita?: XOR<CheckinvisitaNullableScalarRelationFilter, checkinvisitaWhereInput> | null
  }, "id">

  export type cadastropjOrderByWithAggregationInput = {
    id?: SortOrder
    cnpj?: SortOrder
    razaosocial?: SortOrder
    nomefantasia?: SortOrder
    faixadefaturamento?: SortOrder
    datadeabertura?: SortOrder
    setor?: SortOrder
    cnae?: SortOrder
    cep?: SortOrder
    tipologradoro?: SortOrder
    endereco?: SortOrder
    numero?: SortOrder
    complemento?: SortOrderInput | SortOrder
    bairro?: SortOrder
    cidade?: SortOrder
    estado?: SortOrder
    email?: SortOrderInput | SortOrder
    naotememail?: SortOrder
    telefone?: SortOrder
    celular?: SortOrder
    whatsapp?: SortOrder
    checkinvisitaId?: SortOrder
    userId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
    _count?: cadastropjCountOrderByAggregateInput
    _max?: cadastropjMaxOrderByAggregateInput
    _min?: cadastropjMinOrderByAggregateInput
  }

  export type cadastropjScalarWhereWithAggregatesInput = {
    AND?: cadastropjScalarWhereWithAggregatesInput | cadastropjScalarWhereWithAggregatesInput[]
    OR?: cadastropjScalarWhereWithAggregatesInput[]
    NOT?: cadastropjScalarWhereWithAggregatesInput | cadastropjScalarWhereWithAggregatesInput[]
    id?: StringWithAggregatesFilter<"cadastropj"> | string
    cnpj?: StringWithAggregatesFilter<"cadastropj"> | string
    razaosocial?: StringWithAggregatesFilter<"cadastropj"> | string
    nomefantasia?: StringWithAggregatesFilter<"cadastropj"> | string
    faixadefaturamento?: StringWithAggregatesFilter<"cadastropj"> | string
    datadeabertura?: DateTimeWithAggregatesFilter<"cadastropj"> | Date | string
    setor?: StringWithAggregatesFilter<"cadastropj"> | string
    cnae?: StringWithAggregatesFilter<"cadastropj"> | string
    cep?: StringWithAggregatesFilter<"cadastropj"> | string
    tipologradoro?: StringWithAggregatesFilter<"cadastropj"> | string
    endereco?: StringWithAggregatesFilter<"cadastropj"> | string
    numero?: StringWithAggregatesFilter<"cadastropj"> | string
    complemento?: StringNullableWithAggregatesFilter<"cadastropj"> | string | null
    bairro?: StringWithAggregatesFilter<"cadastropj"> | string
    cidade?: StringWithAggregatesFilter<"cadastropj"> | string
    estado?: StringWithAggregatesFilter<"cadastropj"> | string
    email?: StringNullableWithAggregatesFilter<"cadastropj"> | string | null
    naotememail?: BoolWithAggregatesFilter<"cadastropj"> | boolean
    telefone?: StringWithAggregatesFilter<"cadastropj"> | string
    celular?: StringWithAggregatesFilter<"cadastropj"> | string
    whatsapp?: StringWithAggregatesFilter<"cadastropj"> | string
    checkinvisitaId?: StringWithAggregatesFilter<"cadastropj"> | string
    userId?: StringWithAggregatesFilter<"cadastropj"> | string
    createdAt?: DateTimeWithAggregatesFilter<"cadastropj"> | Date | string
    updatedAt?: DateTimeWithAggregatesFilter<"cadastropj"> | Date | string
  }

  export type planoacaoWhereInput = {
    AND?: planoacaoWhereInput | planoacaoWhereInput[]
    OR?: planoacaoWhereInput[]
    NOT?: planoacaoWhereInput | planoacaoWhereInput[]
    id?: StringFilter<"planoacao"> | string
    userId?: StringFilter<"planoacao"> | string
    planoAcao?: StringFilter<"planoacao"> | string
    checkinvisitaId?: StringFilter<"planoacao"> | string
    createdAt?: DateTimeFilter<"planoacao"> | Date | string
    updatedAt?: DateTimeFilter<"planoacao"> | Date | string
    checkinvisita?: XOR<CheckinvisitaNullableScalarRelationFilter, checkinvisitaWhereInput> | null
  }

  export type planoacaoOrderByWithRelationInput = {
    id?: SortOrder
    userId?: SortOrder
    planoAcao?: SortOrder
    checkinvisitaId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
    checkinvisita?: checkinvisitaOrderByWithRelationInput
    _relevance?: planoacaoOrderByRelevanceInput
  }

  export type planoacaoWhereUniqueInput = Prisma.AtLeast<{
    id?: string
    AND?: planoacaoWhereInput | planoacaoWhereInput[]
    OR?: planoacaoWhereInput[]
    NOT?: planoacaoWhereInput | planoacaoWhereInput[]
    userId?: StringFilter<"planoacao"> | string
    planoAcao?: StringFilter<"planoacao"> | string
    checkinvisitaId?: StringFilter<"planoacao"> | string
    createdAt?: DateTimeFilter<"planoacao"> | Date | string
    updatedAt?: DateTimeFilter<"planoacao"> | Date | string
    checkinvisita?: XOR<CheckinvisitaNullableScalarRelationFilter, checkinvisitaWhereInput> | null
  }, "id">

  export type planoacaoOrderByWithAggregationInput = {
    id?: SortOrder
    userId?: SortOrder
    planoAcao?: SortOrder
    checkinvisitaId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
    _count?: planoacaoCountOrderByAggregateInput
    _max?: planoacaoMaxOrderByAggregateInput
    _min?: planoacaoMinOrderByAggregateInput
  }

  export type planoacaoScalarWhereWithAggregatesInput = {
    AND?: planoacaoScalarWhereWithAggregatesInput | planoacaoScalarWhereWithAggregatesInput[]
    OR?: planoacaoScalarWhereWithAggregatesInput[]
    NOT?: planoacaoScalarWhereWithAggregatesInput | planoacaoScalarWhereWithAggregatesInput[]
    id?: StringWithAggregatesFilter<"planoacao"> | string
    userId?: StringWithAggregatesFilter<"planoacao"> | string
    planoAcao?: StringWithAggregatesFilter<"planoacao"> | string
    checkinvisitaId?: StringWithAggregatesFilter<"planoacao"> | string
    createdAt?: DateTimeWithAggregatesFilter<"planoacao"> | Date | string
    updatedAt?: DateTimeWithAggregatesFilter<"planoacao"> | Date | string
  }

  export type entrevistaDiagnosticoWhereInput = {
    AND?: entrevistaDiagnosticoWhereInput | entrevistaDiagnosticoWhereInput[]
    OR?: entrevistaDiagnosticoWhereInput[]
    NOT?: entrevistaDiagnosticoWhereInput | entrevistaDiagnosticoWhereInput[]
    id?: StringFilter<"entrevistaDiagnostico"> | string
    userId?: StringFilter<"entrevistaDiagnostico"> | string
    areaEscolhida?: StringFilter<"entrevistaDiagnostico"> | string
    formacao_preco_venda?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    credito_capital_giro?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    credito_expansao?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    controle_financeiro?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    outro_financas?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    divulgacao_ecommerce?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    visual_ponto_loja?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    atendimento_clientes?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    concorrencia?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    outro_marketing?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    selecao_pessoas?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    retencao_motivacao?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    outro_rh?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    caixa_edicao?: StringNullableFilter<"entrevistaDiagnostico"> | string | null
    checkinvisitaId?: StringFilter<"entrevistaDiagnostico"> | string
    createdAt?: DateTimeFilter<"entrevistaDiagnostico"> | Date | string
    updatedAt?: DateTimeFilter<"entrevistaDiagnostico"> | Date | string
    checkinvisita?: XOR<CheckinvisitaNullableScalarRelationFilter, checkinvisitaWhereInput> | null
  }

  export type entrevistaDiagnosticoOrderByWithRelationInput = {
    id?: SortOrder
    userId?: SortOrder
    areaEscolhida?: SortOrder
    formacao_preco_venda?: SortOrderInput | SortOrder
    credito_capital_giro?: SortOrderInput | SortOrder
    credito_expansao?: SortOrderInput | SortOrder
    controle_financeiro?: SortOrderInput | SortOrder
    outro_financas?: SortOrderInput | SortOrder
    divulgacao_ecommerce?: SortOrderInput | SortOrder
    visual_ponto_loja?: SortOrderInput | SortOrder
    atendimento_clientes?: SortOrderInput | SortOrder
    concorrencia?: SortOrderInput | SortOrder
    outro_marketing?: SortOrderInput | SortOrder
    selecao_pessoas?: SortOrderInput | SortOrder
    retencao_motivacao?: SortOrderInput | SortOrder
    outro_rh?: SortOrderInput | SortOrder
    caixa_edicao?: SortOrderInput | SortOrder
    checkinvisitaId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
    checkinvisita?: checkinvisitaOrderByWithRelationInput
    _relevance?: entrevistaDiagnosticoOrderByRelevanceInput
  }

  export type entrevistaDiagnosticoWhereUniqueInput = Prisma.AtLeast<{
    id?: string
    AND?: entrevistaDiagnosticoWhereInput | entrevistaDiagnosticoWhereInput[]
    OR?: entrevistaDiagnosticoWhereInput[]
    NOT?: entrevistaDiagnosticoWhereInput | entrevistaDiagnosticoWhereInput[]
    userId?: StringFilter<"entrevistaDiagnostico"> | string
    areaEscolhida?: StringFilter<"entrevistaDiagnostico"> | string
    formacao_preco_venda?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    credito_capital_giro?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    credito_expansao?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    controle_financeiro?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    outro_financas?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    divulgacao_ecommerce?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    visual_ponto_loja?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    atendimento_clientes?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    concorrencia?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    outro_marketing?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    selecao_pessoas?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    retencao_motivacao?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    outro_rh?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    caixa_edicao?: StringNullableFilter<"entrevistaDiagnostico"> | string | null
    checkinvisitaId?: StringFilter<"entrevistaDiagnostico"> | string
    createdAt?: DateTimeFilter<"entrevistaDiagnostico"> | Date | string
    updatedAt?: DateTimeFilter<"entrevistaDiagnostico"> | Date | string
    checkinvisita?: XOR<CheckinvisitaNullableScalarRelationFilter, checkinvisitaWhereInput> | null
  }, "id">

  export type entrevistaDiagnosticoOrderByWithAggregationInput = {
    id?: SortOrder
    userId?: SortOrder
    areaEscolhida?: SortOrder
    formacao_preco_venda?: SortOrderInput | SortOrder
    credito_capital_giro?: SortOrderInput | SortOrder
    credito_expansao?: SortOrderInput | SortOrder
    controle_financeiro?: SortOrderInput | SortOrder
    outro_financas?: SortOrderInput | SortOrder
    divulgacao_ecommerce?: SortOrderInput | SortOrder
    visual_ponto_loja?: SortOrderInput | SortOrder
    atendimento_clientes?: SortOrderInput | SortOrder
    concorrencia?: SortOrderInput | SortOrder
    outro_marketing?: SortOrderInput | SortOrder
    selecao_pessoas?: SortOrderInput | SortOrder
    retencao_motivacao?: SortOrderInput | SortOrder
    outro_rh?: SortOrderInput | SortOrder
    caixa_edicao?: SortOrderInput | SortOrder
    checkinvisitaId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
    _count?: entrevistaDiagnosticoCountOrderByAggregateInput
    _avg?: entrevistaDiagnosticoAvgOrderByAggregateInput
    _max?: entrevistaDiagnosticoMaxOrderByAggregateInput
    _min?: entrevistaDiagnosticoMinOrderByAggregateInput
    _sum?: entrevistaDiagnosticoSumOrderByAggregateInput
  }

  export type entrevistaDiagnosticoScalarWhereWithAggregatesInput = {
    AND?: entrevistaDiagnosticoScalarWhereWithAggregatesInput | entrevistaDiagnosticoScalarWhereWithAggregatesInput[]
    OR?: entrevistaDiagnosticoScalarWhereWithAggregatesInput[]
    NOT?: entrevistaDiagnosticoScalarWhereWithAggregatesInput | entrevistaDiagnosticoScalarWhereWithAggregatesInput[]
    id?: StringWithAggregatesFilter<"entrevistaDiagnostico"> | string
    userId?: StringWithAggregatesFilter<"entrevistaDiagnostico"> | string
    areaEscolhida?: StringWithAggregatesFilter<"entrevistaDiagnostico"> | string
    formacao_preco_venda?: IntNullableWithAggregatesFilter<"entrevistaDiagnostico"> | number | null
    credito_capital_giro?: IntNullableWithAggregatesFilter<"entrevistaDiagnostico"> | number | null
    credito_expansao?: IntNullableWithAggregatesFilter<"entrevistaDiagnostico"> | number | null
    controle_financeiro?: IntNullableWithAggregatesFilter<"entrevistaDiagnostico"> | number | null
    outro_financas?: IntNullableWithAggregatesFilter<"entrevistaDiagnostico"> | number | null
    divulgacao_ecommerce?: IntNullableWithAggregatesFilter<"entrevistaDiagnostico"> | number | null
    visual_ponto_loja?: IntNullableWithAggregatesFilter<"entrevistaDiagnostico"> | number | null
    atendimento_clientes?: IntNullableWithAggregatesFilter<"entrevistaDiagnostico"> | number | null
    concorrencia?: IntNullableWithAggregatesFilter<"entrevistaDiagnostico"> | number | null
    outro_marketing?: IntNullableWithAggregatesFilter<"entrevistaDiagnostico"> | number | null
    selecao_pessoas?: IntNullableWithAggregatesFilter<"entrevistaDiagnostico"> | number | null
    retencao_motivacao?: IntNullableWithAggregatesFilter<"entrevistaDiagnostico"> | number | null
    outro_rh?: IntNullableWithAggregatesFilter<"entrevistaDiagnostico"> | number | null
    caixa_edicao?: StringNullableWithAggregatesFilter<"entrevistaDiagnostico"> | string | null
    checkinvisitaId?: StringWithAggregatesFilter<"entrevistaDiagnostico"> | string
    createdAt?: DateTimeWithAggregatesFilter<"entrevistaDiagnostico"> | Date | string
    updatedAt?: DateTimeWithAggregatesFilter<"entrevistaDiagnostico"> | Date | string
  }

  export type assinaturadigitalWhereInput = {
    AND?: assinaturadigitalWhereInput | assinaturadigitalWhereInput[]
    OR?: assinaturadigitalWhereInput[]
    NOT?: assinaturadigitalWhereInput | assinaturadigitalWhereInput[]
    id?: StringFilter<"assinaturadigital"> | string
    assinaturaDigital?: StringFilter<"assinaturadigital"> | string
    checkinvisitaId?: StringFilter<"assinaturadigital"> | string
    userId?: StringFilter<"assinaturadigital"> | string
    createdAt?: DateTimeFilter<"assinaturadigital"> | Date | string
    updatedAt?: DateTimeFilter<"assinaturadigital"> | Date | string
    checkinvisita?: XOR<CheckinvisitaNullableScalarRelationFilter, checkinvisitaWhereInput> | null
  }

  export type assinaturadigitalOrderByWithRelationInput = {
    id?: SortOrder
    assinaturaDigital?: SortOrder
    checkinvisitaId?: SortOrder
    userId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
    checkinvisita?: checkinvisitaOrderByWithRelationInput
    _relevance?: assinaturadigitalOrderByRelevanceInput
  }

  export type assinaturadigitalWhereUniqueInput = Prisma.AtLeast<{
    id?: string
    AND?: assinaturadigitalWhereInput | assinaturadigitalWhereInput[]
    OR?: assinaturadigitalWhereInput[]
    NOT?: assinaturadigitalWhereInput | assinaturadigitalWhereInput[]
    assinaturaDigital?: StringFilter<"assinaturadigital"> | string
    checkinvisitaId?: StringFilter<"assinaturadigital"> | string
    userId?: StringFilter<"assinaturadigital"> | string
    createdAt?: DateTimeFilter<"assinaturadigital"> | Date | string
    updatedAt?: DateTimeFilter<"assinaturadigital"> | Date | string
    checkinvisita?: XOR<CheckinvisitaNullableScalarRelationFilter, checkinvisitaWhereInput> | null
  }, "id">

  export type assinaturadigitalOrderByWithAggregationInput = {
    id?: SortOrder
    assinaturaDigital?: SortOrder
    checkinvisitaId?: SortOrder
    userId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
    _count?: assinaturadigitalCountOrderByAggregateInput
    _max?: assinaturadigitalMaxOrderByAggregateInput
    _min?: assinaturadigitalMinOrderByAggregateInput
  }

  export type assinaturadigitalScalarWhereWithAggregatesInput = {
    AND?: assinaturadigitalScalarWhereWithAggregatesInput | assinaturadigitalScalarWhereWithAggregatesInput[]
    OR?: assinaturadigitalScalarWhereWithAggregatesInput[]
    NOT?: assinaturadigitalScalarWhereWithAggregatesInput | assinaturadigitalScalarWhereWithAggregatesInput[]
    id?: StringWithAggregatesFilter<"assinaturadigital"> | string
    assinaturaDigital?: StringWithAggregatesFilter<"assinaturadigital"> | string
    checkinvisitaId?: StringWithAggregatesFilter<"assinaturadigital"> | string
    userId?: StringWithAggregatesFilter<"assinaturadigital"> | string
    createdAt?: DateTimeWithAggregatesFilter<"assinaturadigital"> | Date | string
    updatedAt?: DateTimeWithAggregatesFilter<"assinaturadigital"> | Date | string
  }

  export type checkoutWhereInput = {
    AND?: checkoutWhereInput | checkoutWhereInput[]
    OR?: checkoutWhereInput[]
    NOT?: checkoutWhereInput | checkoutWhereInput[]
    id?: StringFilter<"checkout"> | string
    interessePrograma?: BoolFilter<"checkout"> | boolean
    horarioContato?: StringFilter<"checkout"> | string
    aceitaEmail?: BoolFilter<"checkout"> | boolean
    deixouComentarios?: BoolFilter<"checkout"> | boolean
    comentarios?: StringFilter<"checkout"> | string
    checkinvisitaId?: StringFilter<"checkout"> | string
    userId?: StringFilter<"checkout"> | string
    createdAt?: DateTimeFilter<"checkout"> | Date | string
    updatedAt?: DateTimeFilter<"checkout"> | Date | string
    checkinvisita?: XOR<CheckinvisitaNullableScalarRelationFilter, checkinvisitaWhereInput> | null
  }

  export type checkoutOrderByWithRelationInput = {
    id?: SortOrder
    interessePrograma?: SortOrder
    horarioContato?: SortOrder
    aceitaEmail?: SortOrder
    deixouComentarios?: SortOrder
    comentarios?: SortOrder
    checkinvisitaId?: SortOrder
    userId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
    checkinvisita?: checkinvisitaOrderByWithRelationInput
    _relevance?: checkoutOrderByRelevanceInput
  }

  export type checkoutWhereUniqueInput = Prisma.AtLeast<{
    id?: string
    AND?: checkoutWhereInput | checkoutWhereInput[]
    OR?: checkoutWhereInput[]
    NOT?: checkoutWhereInput | checkoutWhereInput[]
    interessePrograma?: BoolFilter<"checkout"> | boolean
    horarioContato?: StringFilter<"checkout"> | string
    aceitaEmail?: BoolFilter<"checkout"> | boolean
    deixouComentarios?: BoolFilter<"checkout"> | boolean
    comentarios?: StringFilter<"checkout"> | string
    checkinvisitaId?: StringFilter<"checkout"> | string
    userId?: StringFilter<"checkout"> | string
    createdAt?: DateTimeFilter<"checkout"> | Date | string
    updatedAt?: DateTimeFilter<"checkout"> | Date | string
    checkinvisita?: XOR<CheckinvisitaNullableScalarRelationFilter, checkinvisitaWhereInput> | null
  }, "id">

  export type checkoutOrderByWithAggregationInput = {
    id?: SortOrder
    interessePrograma?: SortOrder
    horarioContato?: SortOrder
    aceitaEmail?: SortOrder
    deixouComentarios?: SortOrder
    comentarios?: SortOrder
    checkinvisitaId?: SortOrder
    userId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
    _count?: checkoutCountOrderByAggregateInput
    _max?: checkoutMaxOrderByAggregateInput
    _min?: checkoutMinOrderByAggregateInput
  }

  export type checkoutScalarWhereWithAggregatesInput = {
    AND?: checkoutScalarWhereWithAggregatesInput | checkoutScalarWhereWithAggregatesInput[]
    OR?: checkoutScalarWhereWithAggregatesInput[]
    NOT?: checkoutScalarWhereWithAggregatesInput | checkoutScalarWhereWithAggregatesInput[]
    id?: StringWithAggregatesFilter<"checkout"> | string
    interessePrograma?: BoolWithAggregatesFilter<"checkout"> | boolean
    horarioContato?: StringWithAggregatesFilter<"checkout"> | string
    aceitaEmail?: BoolWithAggregatesFilter<"checkout"> | boolean
    deixouComentarios?: BoolWithAggregatesFilter<"checkout"> | boolean
    comentarios?: StringWithAggregatesFilter<"checkout"> | string
    checkinvisitaId?: StringWithAggregatesFilter<"checkout"> | string
    userId?: StringWithAggregatesFilter<"checkout"> | string
    createdAt?: DateTimeWithAggregatesFilter<"checkout"> | Date | string
    updatedAt?: DateTimeWithAggregatesFilter<"checkout"> | Date | string
  }

  export type recordingsWhereInput = {
    AND?: recordingsWhereInput | recordingsWhereInput[]
    OR?: recordingsWhereInput[]
    NOT?: recordingsWhereInput | recordingsWhereInput[]
    id?: StringFilter<"recordings"> | string
    title?: StringFilter<"recordings"> | string
    filename?: StringFilter<"recordings"> | string
    mimeType?: StringFilter<"recordings"> | string
    base64?: StringFilter<"recordings"> | string
    checkinvisitaId?: StringFilter<"recordings"> | string
    createdAt?: DateTimeFilter<"recordings"> | Date | string
    updatedAt?: DateTimeFilter<"recordings"> | Date | string
    checkinvisita?: XOR<CheckinvisitaNullableScalarRelationFilter, checkinvisitaWhereInput> | null
  }

  export type recordingsOrderByWithRelationInput = {
    id?: SortOrder
    title?: SortOrder
    filename?: SortOrder
    mimeType?: SortOrder
    base64?: SortOrder
    checkinvisitaId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
    checkinvisita?: checkinvisitaOrderByWithRelationInput
    _relevance?: recordingsOrderByRelevanceInput
  }

  export type recordingsWhereUniqueInput = Prisma.AtLeast<{
    id?: string
    AND?: recordingsWhereInput | recordingsWhereInput[]
    OR?: recordingsWhereInput[]
    NOT?: recordingsWhereInput | recordingsWhereInput[]
    title?: StringFilter<"recordings"> | string
    filename?: StringFilter<"recordings"> | string
    mimeType?: StringFilter<"recordings"> | string
    base64?: StringFilter<"recordings"> | string
    checkinvisitaId?: StringFilter<"recordings"> | string
    createdAt?: DateTimeFilter<"recordings"> | Date | string
    updatedAt?: DateTimeFilter<"recordings"> | Date | string
    checkinvisita?: XOR<CheckinvisitaNullableScalarRelationFilter, checkinvisitaWhereInput> | null
  }, "id">

  export type recordingsOrderByWithAggregationInput = {
    id?: SortOrder
    title?: SortOrder
    filename?: SortOrder
    mimeType?: SortOrder
    base64?: SortOrder
    checkinvisitaId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
    _count?: recordingsCountOrderByAggregateInput
    _max?: recordingsMaxOrderByAggregateInput
    _min?: recordingsMinOrderByAggregateInput
  }

  export type recordingsScalarWhereWithAggregatesInput = {
    AND?: recordingsScalarWhereWithAggregatesInput | recordingsScalarWhereWithAggregatesInput[]
    OR?: recordingsScalarWhereWithAggregatesInput[]
    NOT?: recordingsScalarWhereWithAggregatesInput | recordingsScalarWhereWithAggregatesInput[]
    id?: StringWithAggregatesFilter<"recordings"> | string
    title?: StringWithAggregatesFilter<"recordings"> | string
    filename?: StringWithAggregatesFilter<"recordings"> | string
    mimeType?: StringWithAggregatesFilter<"recordings"> | string
    base64?: StringWithAggregatesFilter<"recordings"> | string
    checkinvisitaId?: StringWithAggregatesFilter<"recordings"> | string
    createdAt?: DateTimeWithAggregatesFilter<"recordings"> | Date | string
    updatedAt?: DateTimeWithAggregatesFilter<"recordings"> | Date | string
  }

  export type cnaeWhereInput = {
    AND?: cnaeWhereInput | cnaeWhereInput[]
    OR?: cnaeWhereInput[]
    NOT?: cnaeWhereInput | cnaeWhereInput[]
    id?: StringFilter<"cnae"> | string
    cnae?: StringFilter<"cnae"> | string
    createdAt?: DateTimeFilter<"cnae"> | Date | string
    updatedAt?: DateTimeFilter<"cnae"> | Date | string
  }

  export type cnaeOrderByWithRelationInput = {
    id?: SortOrder
    cnae?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
    _relevance?: cnaeOrderByRelevanceInput
  }

  export type cnaeWhereUniqueInput = Prisma.AtLeast<{
    id?: string
    AND?: cnaeWhereInput | cnaeWhereInput[]
    OR?: cnaeWhereInput[]
    NOT?: cnaeWhereInput | cnaeWhereInput[]
    cnae?: StringFilter<"cnae"> | string
    createdAt?: DateTimeFilter<"cnae"> | Date | string
    updatedAt?: DateTimeFilter<"cnae"> | Date | string
  }, "id">

  export type cnaeOrderByWithAggregationInput = {
    id?: SortOrder
    cnae?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
    _count?: cnaeCountOrderByAggregateInput
    _max?: cnaeMaxOrderByAggregateInput
    _min?: cnaeMinOrderByAggregateInput
  }

  export type cnaeScalarWhereWithAggregatesInput = {
    AND?: cnaeScalarWhereWithAggregatesInput | cnaeScalarWhereWithAggregatesInput[]
    OR?: cnaeScalarWhereWithAggregatesInput[]
    NOT?: cnaeScalarWhereWithAggregatesInput | cnaeScalarWhereWithAggregatesInput[]
    id?: StringWithAggregatesFilter<"cnae"> | string
    cnae?: StringWithAggregatesFilter<"cnae"> | string
    createdAt?: DateTimeWithAggregatesFilter<"cnae"> | Date | string
    updatedAt?: DateTimeWithAggregatesFilter<"cnae"> | Date | string
  }

  export type visitasreceivedWhereInput = {
    AND?: visitasreceivedWhereInput | visitasreceivedWhereInput[]
    OR?: visitasreceivedWhereInput[]
    NOT?: visitasreceivedWhereInput | visitasreceivedWhereInput[]
    id?: StringFilter<"visitasreceived"> | string
    visita?: StringFilter<"visitasreceived"> | string
    createdAt?: DateTimeFilter<"visitasreceived"> | Date | string
    updatedAt?: DateTimeFilter<"visitasreceived"> | Date | string
  }

  export type visitasreceivedOrderByWithRelationInput = {
    id?: SortOrder
    visita?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
    _relevance?: visitasreceivedOrderByRelevanceInput
  }

  export type visitasreceivedWhereUniqueInput = Prisma.AtLeast<{
    id?: string
    AND?: visitasreceivedWhereInput | visitasreceivedWhereInput[]
    OR?: visitasreceivedWhereInput[]
    NOT?: visitasreceivedWhereInput | visitasreceivedWhereInput[]
    visita?: StringFilter<"visitasreceived"> | string
    createdAt?: DateTimeFilter<"visitasreceived"> | Date | string
    updatedAt?: DateTimeFilter<"visitasreceived"> | Date | string
  }, "id">

  export type visitasreceivedOrderByWithAggregationInput = {
    id?: SortOrder
    visita?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
    _count?: visitasreceivedCountOrderByAggregateInput
    _max?: visitasreceivedMaxOrderByAggregateInput
    _min?: visitasreceivedMinOrderByAggregateInput
  }

  export type visitasreceivedScalarWhereWithAggregatesInput = {
    AND?: visitasreceivedScalarWhereWithAggregatesInput | visitasreceivedScalarWhereWithAggregatesInput[]
    OR?: visitasreceivedScalarWhereWithAggregatesInput[]
    NOT?: visitasreceivedScalarWhereWithAggregatesInput | visitasreceivedScalarWhereWithAggregatesInput[]
    id?: StringWithAggregatesFilter<"visitasreceived"> | string
    visita?: StringWithAggregatesFilter<"visitasreceived"> | string
    createdAt?: DateTimeWithAggregatesFilter<"visitasreceived"> | Date | string
    updatedAt?: DateTimeWithAggregatesFilter<"visitasreceived"> | Date | string
  }

  export type userCreateInput = {
    id?: string
    name: string
    login: string
    password: string
    email: string
    cpf: string
    sexo?: $Enums.UserSexo
    datanasc?: string | null
    escolaridade?: string | null
    possuinomesocial?: boolean
    nomesocial?: string | null
    empresa?: string | null
    profileImage: string
    active?: boolean
    createdBy?: string | null
    createdAt?: Date | string
    updatedAt?: Date | string
    profile: profileCreateNestedOneWithoutUserInput
    forgetpassword?: forgetpasswordCreateNestedManyWithoutUserInput
  }

  export type userUncheckedCreateInput = {
    id?: string
    name: string
    login: string
    password: string
    email: string
    cpf: string
    sexo?: $Enums.UserSexo
    datanasc?: string | null
    escolaridade?: string | null
    possuinomesocial?: boolean
    nomesocial?: string | null
    empresa?: string | null
    profileImage: string
    profileId: string
    active?: boolean
    createdBy?: string | null
    createdAt?: Date | string
    updatedAt?: Date | string
    forgetpassword?: forgetpasswordUncheckedCreateNestedManyWithoutUserInput
  }

  export type userUpdateInput = {
    id?: StringFieldUpdateOperationsInput | string
    name?: StringFieldUpdateOperationsInput | string
    login?: StringFieldUpdateOperationsInput | string
    password?: StringFieldUpdateOperationsInput | string
    email?: StringFieldUpdateOperationsInput | string
    cpf?: StringFieldUpdateOperationsInput | string
    sexo?: EnumUserSexoFieldUpdateOperationsInput | $Enums.UserSexo
    datanasc?: NullableStringFieldUpdateOperationsInput | string | null
    escolaridade?: NullableStringFieldUpdateOperationsInput | string | null
    possuinomesocial?: BoolFieldUpdateOperationsInput | boolean
    nomesocial?: NullableStringFieldUpdateOperationsInput | string | null
    empresa?: NullableStringFieldUpdateOperationsInput | string | null
    profileImage?: StringFieldUpdateOperationsInput | string
    active?: BoolFieldUpdateOperationsInput | boolean
    createdBy?: NullableStringFieldUpdateOperationsInput | string | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    profile?: profileUpdateOneRequiredWithoutUserNestedInput
    forgetpassword?: forgetpasswordUpdateManyWithoutUserNestedInput
  }

  export type userUncheckedUpdateInput = {
    id?: StringFieldUpdateOperationsInput | string
    name?: StringFieldUpdateOperationsInput | string
    login?: StringFieldUpdateOperationsInput | string
    password?: StringFieldUpdateOperationsInput | string
    email?: StringFieldUpdateOperationsInput | string
    cpf?: StringFieldUpdateOperationsInput | string
    sexo?: EnumUserSexoFieldUpdateOperationsInput | $Enums.UserSexo
    datanasc?: NullableStringFieldUpdateOperationsInput | string | null
    escolaridade?: NullableStringFieldUpdateOperationsInput | string | null
    possuinomesocial?: BoolFieldUpdateOperationsInput | boolean
    nomesocial?: NullableStringFieldUpdateOperationsInput | string | null
    empresa?: NullableStringFieldUpdateOperationsInput | string | null
    profileImage?: StringFieldUpdateOperationsInput | string
    profileId?: StringFieldUpdateOperationsInput | string
    active?: BoolFieldUpdateOperationsInput | boolean
    createdBy?: NullableStringFieldUpdateOperationsInput | string | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    forgetpassword?: forgetpasswordUncheckedUpdateManyWithoutUserNestedInput
  }

  export type userCreateManyInput = {
    id?: string
    name: string
    login: string
    password: string
    email: string
    cpf: string
    sexo?: $Enums.UserSexo
    datanasc?: string | null
    escolaridade?: string | null
    possuinomesocial?: boolean
    nomesocial?: string | null
    empresa?: string | null
    profileImage: string
    profileId: string
    active?: boolean
    createdBy?: string | null
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type userUpdateManyMutationInput = {
    id?: StringFieldUpdateOperationsInput | string
    name?: StringFieldUpdateOperationsInput | string
    login?: StringFieldUpdateOperationsInput | string
    password?: StringFieldUpdateOperationsInput | string
    email?: StringFieldUpdateOperationsInput | string
    cpf?: StringFieldUpdateOperationsInput | string
    sexo?: EnumUserSexoFieldUpdateOperationsInput | $Enums.UserSexo
    datanasc?: NullableStringFieldUpdateOperationsInput | string | null
    escolaridade?: NullableStringFieldUpdateOperationsInput | string | null
    possuinomesocial?: BoolFieldUpdateOperationsInput | boolean
    nomesocial?: NullableStringFieldUpdateOperationsInput | string | null
    empresa?: NullableStringFieldUpdateOperationsInput | string | null
    profileImage?: StringFieldUpdateOperationsInput | string
    active?: BoolFieldUpdateOperationsInput | boolean
    createdBy?: NullableStringFieldUpdateOperationsInput | string | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type userUncheckedUpdateManyInput = {
    id?: StringFieldUpdateOperationsInput | string
    name?: StringFieldUpdateOperationsInput | string
    login?: StringFieldUpdateOperationsInput | string
    password?: StringFieldUpdateOperationsInput | string
    email?: StringFieldUpdateOperationsInput | string
    cpf?: StringFieldUpdateOperationsInput | string
    sexo?: EnumUserSexoFieldUpdateOperationsInput | $Enums.UserSexo
    datanasc?: NullableStringFieldUpdateOperationsInput | string | null
    escolaridade?: NullableStringFieldUpdateOperationsInput | string | null
    possuinomesocial?: BoolFieldUpdateOperationsInput | boolean
    nomesocial?: NullableStringFieldUpdateOperationsInput | string | null
    empresa?: NullableStringFieldUpdateOperationsInput | string | null
    profileImage?: StringFieldUpdateOperationsInput | string
    profileId?: StringFieldUpdateOperationsInput | string
    active?: BoolFieldUpdateOperationsInput | boolean
    createdBy?: NullableStringFieldUpdateOperationsInput | string | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type forgetpasswordCreateInput = {
    id?: string
    token: string
    expiration: Date | string
    active?: boolean
    createdAt?: Date | string
    updatedAt?: Date | string
    user: userCreateNestedOneWithoutForgetpasswordInput
  }

  export type forgetpasswordUncheckedCreateInput = {
    id?: string
    userId: string
    token: string
    expiration: Date | string
    active?: boolean
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type forgetpasswordUpdateInput = {
    id?: StringFieldUpdateOperationsInput | string
    token?: StringFieldUpdateOperationsInput | string
    expiration?: DateTimeFieldUpdateOperationsInput | Date | string
    active?: BoolFieldUpdateOperationsInput | boolean
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    user?: userUpdateOneRequiredWithoutForgetpasswordNestedInput
  }

  export type forgetpasswordUncheckedUpdateInput = {
    id?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    token?: StringFieldUpdateOperationsInput | string
    expiration?: DateTimeFieldUpdateOperationsInput | Date | string
    active?: BoolFieldUpdateOperationsInput | boolean
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type forgetpasswordCreateManyInput = {
    id?: string
    userId: string
    token: string
    expiration: Date | string
    active?: boolean
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type forgetpasswordUpdateManyMutationInput = {
    id?: StringFieldUpdateOperationsInput | string
    token?: StringFieldUpdateOperationsInput | string
    expiration?: DateTimeFieldUpdateOperationsInput | Date | string
    active?: BoolFieldUpdateOperationsInput | boolean
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type forgetpasswordUncheckedUpdateManyInput = {
    id?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    token?: StringFieldUpdateOperationsInput | string
    expiration?: DateTimeFieldUpdateOperationsInput | Date | string
    active?: BoolFieldUpdateOperationsInput | boolean
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type profileCreateInput = {
    id?: string
    name: string
    active?: boolean
    createdAt?: Date | string
    updatedAt?: Date | string
    user?: userCreateNestedManyWithoutProfileInput
  }

  export type profileUncheckedCreateInput = {
    id?: string
    name: string
    active?: boolean
    createdAt?: Date | string
    updatedAt?: Date | string
    user?: userUncheckedCreateNestedManyWithoutProfileInput
  }

  export type profileUpdateInput = {
    id?: StringFieldUpdateOperationsInput | string
    name?: StringFieldUpdateOperationsInput | string
    active?: BoolFieldUpdateOperationsInput | boolean
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    user?: userUpdateManyWithoutProfileNestedInput
  }

  export type profileUncheckedUpdateInput = {
    id?: StringFieldUpdateOperationsInput | string
    name?: StringFieldUpdateOperationsInput | string
    active?: BoolFieldUpdateOperationsInput | boolean
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    user?: userUncheckedUpdateManyWithoutProfileNestedInput
  }

  export type profileCreateManyInput = {
    id?: string
    name: string
    active?: boolean
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type profileUpdateManyMutationInput = {
    id?: StringFieldUpdateOperationsInput | string
    name?: StringFieldUpdateOperationsInput | string
    active?: BoolFieldUpdateOperationsInput | boolean
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type profileUncheckedUpdateManyInput = {
    id?: StringFieldUpdateOperationsInput | string
    name?: StringFieldUpdateOperationsInput | string
    active?: BoolFieldUpdateOperationsInput | boolean
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type visitaCreateInput = {
    id?: string
    userId: string
    lat: string
    long: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type visitaUncheckedCreateInput = {
    id?: string
    userId: string
    lat: string
    long: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type visitaUpdateInput = {
    id?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    lat?: StringFieldUpdateOperationsInput | string
    long?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type visitaUncheckedUpdateInput = {
    id?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    lat?: StringFieldUpdateOperationsInput | string
    long?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type visitaCreateManyInput = {
    id?: string
    userId: string
    lat: string
    long: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type visitaUpdateManyMutationInput = {
    id?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    lat?: StringFieldUpdateOperationsInput | string
    long?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type visitaUncheckedUpdateManyInput = {
    id?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    lat?: StringFieldUpdateOperationsInput | string
    long?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type checkinvisitaCreateInput = {
    id?: string
    isAdmin: boolean
    userId: string
    envolvimentoGestao?: string | null
    formalizadaPorteMeEpp: boolean
    disponibilidademomento: boolean
    latitude: string
    longitude: string
    processedAt?: Date | string | null
    insertedAt?: Date | string | null
    tipocadastro?: $Enums.TipoCadastro | null
    createdAt?: Date | string
    updatedAt?: Date | string
    entrevistaDiagnostico?: entrevistaDiagnosticoCreateNestedManyWithoutCheckinvisitaInput
    cadastropf?: cadastropfCreateNestedManyWithoutCheckinvisitaInput
    cadastropj?: cadastropjCreateNestedManyWithoutCheckinvisitaInput
    planoacao?: planoacaoCreateNestedManyWithoutCheckinvisitaInput
    assinaturadigital?: assinaturadigitalCreateNestedManyWithoutCheckinvisitaInput
    checkout?: checkoutCreateNestedManyWithoutCheckinvisitaInput
    recordings?: recordingsCreateNestedManyWithoutCheckinvisitaInput
  }

  export type checkinvisitaUncheckedCreateInput = {
    id?: string
    isAdmin: boolean
    userId: string
    envolvimentoGestao?: string | null
    formalizadaPorteMeEpp: boolean
    disponibilidademomento: boolean
    latitude: string
    longitude: string
    processedAt?: Date | string | null
    insertedAt?: Date | string | null
    tipocadastro?: $Enums.TipoCadastro | null
    createdAt?: Date | string
    updatedAt?: Date | string
    entrevistaDiagnostico?: entrevistaDiagnosticoUncheckedCreateNestedManyWithoutCheckinvisitaInput
    cadastropf?: cadastropfUncheckedCreateNestedManyWithoutCheckinvisitaInput
    cadastropj?: cadastropjUncheckedCreateNestedManyWithoutCheckinvisitaInput
    planoacao?: planoacaoUncheckedCreateNestedManyWithoutCheckinvisitaInput
    assinaturadigital?: assinaturadigitalUncheckedCreateNestedManyWithoutCheckinvisitaInput
    checkout?: checkoutUncheckedCreateNestedManyWithoutCheckinvisitaInput
    recordings?: recordingsUncheckedCreateNestedManyWithoutCheckinvisitaInput
  }

  export type checkinvisitaUpdateInput = {
    id?: StringFieldUpdateOperationsInput | string
    isAdmin?: BoolFieldUpdateOperationsInput | boolean
    userId?: StringFieldUpdateOperationsInput | string
    envolvimentoGestao?: NullableStringFieldUpdateOperationsInput | string | null
    formalizadaPorteMeEpp?: BoolFieldUpdateOperationsInput | boolean
    disponibilidademomento?: BoolFieldUpdateOperationsInput | boolean
    latitude?: StringFieldUpdateOperationsInput | string
    longitude?: StringFieldUpdateOperationsInput | string
    processedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    insertedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    tipocadastro?: NullableEnumTipoCadastroFieldUpdateOperationsInput | $Enums.TipoCadastro | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    entrevistaDiagnostico?: entrevistaDiagnosticoUpdateManyWithoutCheckinvisitaNestedInput
    cadastropf?: cadastropfUpdateManyWithoutCheckinvisitaNestedInput
    cadastropj?: cadastropjUpdateManyWithoutCheckinvisitaNestedInput
    planoacao?: planoacaoUpdateManyWithoutCheckinvisitaNestedInput
    assinaturadigital?: assinaturadigitalUpdateManyWithoutCheckinvisitaNestedInput
    checkout?: checkoutUpdateManyWithoutCheckinvisitaNestedInput
    recordings?: recordingsUpdateManyWithoutCheckinvisitaNestedInput
  }

  export type checkinvisitaUncheckedUpdateInput = {
    id?: StringFieldUpdateOperationsInput | string
    isAdmin?: BoolFieldUpdateOperationsInput | boolean
    userId?: StringFieldUpdateOperationsInput | string
    envolvimentoGestao?: NullableStringFieldUpdateOperationsInput | string | null
    formalizadaPorteMeEpp?: BoolFieldUpdateOperationsInput | boolean
    disponibilidademomento?: BoolFieldUpdateOperationsInput | boolean
    latitude?: StringFieldUpdateOperationsInput | string
    longitude?: StringFieldUpdateOperationsInput | string
    processedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    insertedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    tipocadastro?: NullableEnumTipoCadastroFieldUpdateOperationsInput | $Enums.TipoCadastro | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    entrevistaDiagnostico?: entrevistaDiagnosticoUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    cadastropf?: cadastropfUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    cadastropj?: cadastropjUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    planoacao?: planoacaoUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    assinaturadigital?: assinaturadigitalUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    checkout?: checkoutUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    recordings?: recordingsUncheckedUpdateManyWithoutCheckinvisitaNestedInput
  }

  export type checkinvisitaCreateManyInput = {
    id?: string
    isAdmin: boolean
    userId: string
    envolvimentoGestao?: string | null
    formalizadaPorteMeEpp: boolean
    disponibilidademomento: boolean
    latitude: string
    longitude: string
    processedAt?: Date | string | null
    insertedAt?: Date | string | null
    tipocadastro?: $Enums.TipoCadastro | null
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type checkinvisitaUpdateManyMutationInput = {
    id?: StringFieldUpdateOperationsInput | string
    isAdmin?: BoolFieldUpdateOperationsInput | boolean
    userId?: StringFieldUpdateOperationsInput | string
    envolvimentoGestao?: NullableStringFieldUpdateOperationsInput | string | null
    formalizadaPorteMeEpp?: BoolFieldUpdateOperationsInput | boolean
    disponibilidademomento?: BoolFieldUpdateOperationsInput | boolean
    latitude?: StringFieldUpdateOperationsInput | string
    longitude?: StringFieldUpdateOperationsInput | string
    processedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    insertedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    tipocadastro?: NullableEnumTipoCadastroFieldUpdateOperationsInput | $Enums.TipoCadastro | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type checkinvisitaUncheckedUpdateManyInput = {
    id?: StringFieldUpdateOperationsInput | string
    isAdmin?: BoolFieldUpdateOperationsInput | boolean
    userId?: StringFieldUpdateOperationsInput | string
    envolvimentoGestao?: NullableStringFieldUpdateOperationsInput | string | null
    formalizadaPorteMeEpp?: BoolFieldUpdateOperationsInput | boolean
    disponibilidademomento?: BoolFieldUpdateOperationsInput | boolean
    latitude?: StringFieldUpdateOperationsInput | string
    longitude?: StringFieldUpdateOperationsInput | string
    processedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    insertedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    tipocadastro?: NullableEnumTipoCadastroFieldUpdateOperationsInput | $Enums.TipoCadastro | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type cadastropfCreateInput = {
    id?: string
    nome: string
    cpf: string
    sexo: string
    possuinomesocial?: boolean | null
    nomesocial?: string | null
    datanasc: Date | string
    escolaridade: string
    possuideficiencia: boolean
    deficiencia?: string | null
    possuifuncionariocomdeficiencia?: boolean | null
    cep: string
    tipologradoro: string
    endereco: string
    numero: string
    complemento?: string | null
    bairro: string
    cidade: string
    estado: string
    aceitacontatopor: string
    telefone?: string | null
    celular?: string | null
    email?: string | null
    userId: string
    createdAt?: Date | string
    updatedAt?: Date | string
    checkinvisita?: checkinvisitaCreateNestedOneWithoutCadastropfInput
  }

  export type cadastropfUncheckedCreateInput = {
    id?: string
    nome: string
    cpf: string
    sexo: string
    possuinomesocial?: boolean | null
    nomesocial?: string | null
    datanasc: Date | string
    escolaridade: string
    possuideficiencia: boolean
    deficiencia?: string | null
    possuifuncionariocomdeficiencia?: boolean | null
    cep: string
    tipologradoro: string
    endereco: string
    numero: string
    complemento?: string | null
    bairro: string
    cidade: string
    estado: string
    aceitacontatopor: string
    telefone?: string | null
    celular?: string | null
    email?: string | null
    userId: string
    checkinvisitaId: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type cadastropfUpdateInput = {
    id?: StringFieldUpdateOperationsInput | string
    nome?: StringFieldUpdateOperationsInput | string
    cpf?: StringFieldUpdateOperationsInput | string
    sexo?: StringFieldUpdateOperationsInput | string
    possuinomesocial?: NullableBoolFieldUpdateOperationsInput | boolean | null
    nomesocial?: NullableStringFieldUpdateOperationsInput | string | null
    datanasc?: DateTimeFieldUpdateOperationsInput | Date | string
    escolaridade?: StringFieldUpdateOperationsInput | string
    possuideficiencia?: BoolFieldUpdateOperationsInput | boolean
    deficiencia?: NullableStringFieldUpdateOperationsInput | string | null
    possuifuncionariocomdeficiencia?: NullableBoolFieldUpdateOperationsInput | boolean | null
    cep?: StringFieldUpdateOperationsInput | string
    tipologradoro?: StringFieldUpdateOperationsInput | string
    endereco?: StringFieldUpdateOperationsInput | string
    numero?: StringFieldUpdateOperationsInput | string
    complemento?: NullableStringFieldUpdateOperationsInput | string | null
    bairro?: StringFieldUpdateOperationsInput | string
    cidade?: StringFieldUpdateOperationsInput | string
    estado?: StringFieldUpdateOperationsInput | string
    aceitacontatopor?: StringFieldUpdateOperationsInput | string
    telefone?: NullableStringFieldUpdateOperationsInput | string | null
    celular?: NullableStringFieldUpdateOperationsInput | string | null
    email?: NullableStringFieldUpdateOperationsInput | string | null
    userId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    checkinvisita?: checkinvisitaUpdateOneWithoutCadastropfNestedInput
  }

  export type cadastropfUncheckedUpdateInput = {
    id?: StringFieldUpdateOperationsInput | string
    nome?: StringFieldUpdateOperationsInput | string
    cpf?: StringFieldUpdateOperationsInput | string
    sexo?: StringFieldUpdateOperationsInput | string
    possuinomesocial?: NullableBoolFieldUpdateOperationsInput | boolean | null
    nomesocial?: NullableStringFieldUpdateOperationsInput | string | null
    datanasc?: DateTimeFieldUpdateOperationsInput | Date | string
    escolaridade?: StringFieldUpdateOperationsInput | string
    possuideficiencia?: BoolFieldUpdateOperationsInput | boolean
    deficiencia?: NullableStringFieldUpdateOperationsInput | string | null
    possuifuncionariocomdeficiencia?: NullableBoolFieldUpdateOperationsInput | boolean | null
    cep?: StringFieldUpdateOperationsInput | string
    tipologradoro?: StringFieldUpdateOperationsInput | string
    endereco?: StringFieldUpdateOperationsInput | string
    numero?: StringFieldUpdateOperationsInput | string
    complemento?: NullableStringFieldUpdateOperationsInput | string | null
    bairro?: StringFieldUpdateOperationsInput | string
    cidade?: StringFieldUpdateOperationsInput | string
    estado?: StringFieldUpdateOperationsInput | string
    aceitacontatopor?: StringFieldUpdateOperationsInput | string
    telefone?: NullableStringFieldUpdateOperationsInput | string | null
    celular?: NullableStringFieldUpdateOperationsInput | string | null
    email?: NullableStringFieldUpdateOperationsInput | string | null
    userId?: StringFieldUpdateOperationsInput | string
    checkinvisitaId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type cadastropfCreateManyInput = {
    id?: string
    nome: string
    cpf: string
    sexo: string
    possuinomesocial?: boolean | null
    nomesocial?: string | null
    datanasc: Date | string
    escolaridade: string
    possuideficiencia: boolean
    deficiencia?: string | null
    possuifuncionariocomdeficiencia?: boolean | null
    cep: string
    tipologradoro: string
    endereco: string
    numero: string
    complemento?: string | null
    bairro: string
    cidade: string
    estado: string
    aceitacontatopor: string
    telefone?: string | null
    celular?: string | null
    email?: string | null
    userId: string
    checkinvisitaId: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type cadastropfUpdateManyMutationInput = {
    id?: StringFieldUpdateOperationsInput | string
    nome?: StringFieldUpdateOperationsInput | string
    cpf?: StringFieldUpdateOperationsInput | string
    sexo?: StringFieldUpdateOperationsInput | string
    possuinomesocial?: NullableBoolFieldUpdateOperationsInput | boolean | null
    nomesocial?: NullableStringFieldUpdateOperationsInput | string | null
    datanasc?: DateTimeFieldUpdateOperationsInput | Date | string
    escolaridade?: StringFieldUpdateOperationsInput | string
    possuideficiencia?: BoolFieldUpdateOperationsInput | boolean
    deficiencia?: NullableStringFieldUpdateOperationsInput | string | null
    possuifuncionariocomdeficiencia?: NullableBoolFieldUpdateOperationsInput | boolean | null
    cep?: StringFieldUpdateOperationsInput | string
    tipologradoro?: StringFieldUpdateOperationsInput | string
    endereco?: StringFieldUpdateOperationsInput | string
    numero?: StringFieldUpdateOperationsInput | string
    complemento?: NullableStringFieldUpdateOperationsInput | string | null
    bairro?: StringFieldUpdateOperationsInput | string
    cidade?: StringFieldUpdateOperationsInput | string
    estado?: StringFieldUpdateOperationsInput | string
    aceitacontatopor?: StringFieldUpdateOperationsInput | string
    telefone?: NullableStringFieldUpdateOperationsInput | string | null
    celular?: NullableStringFieldUpdateOperationsInput | string | null
    email?: NullableStringFieldUpdateOperationsInput | string | null
    userId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type cadastropfUncheckedUpdateManyInput = {
    id?: StringFieldUpdateOperationsInput | string
    nome?: StringFieldUpdateOperationsInput | string
    cpf?: StringFieldUpdateOperationsInput | string
    sexo?: StringFieldUpdateOperationsInput | string
    possuinomesocial?: NullableBoolFieldUpdateOperationsInput | boolean | null
    nomesocial?: NullableStringFieldUpdateOperationsInput | string | null
    datanasc?: DateTimeFieldUpdateOperationsInput | Date | string
    escolaridade?: StringFieldUpdateOperationsInput | string
    possuideficiencia?: BoolFieldUpdateOperationsInput | boolean
    deficiencia?: NullableStringFieldUpdateOperationsInput | string | null
    possuifuncionariocomdeficiencia?: NullableBoolFieldUpdateOperationsInput | boolean | null
    cep?: StringFieldUpdateOperationsInput | string
    tipologradoro?: StringFieldUpdateOperationsInput | string
    endereco?: StringFieldUpdateOperationsInput | string
    numero?: StringFieldUpdateOperationsInput | string
    complemento?: NullableStringFieldUpdateOperationsInput | string | null
    bairro?: StringFieldUpdateOperationsInput | string
    cidade?: StringFieldUpdateOperationsInput | string
    estado?: StringFieldUpdateOperationsInput | string
    aceitacontatopor?: StringFieldUpdateOperationsInput | string
    telefone?: NullableStringFieldUpdateOperationsInput | string | null
    celular?: NullableStringFieldUpdateOperationsInput | string | null
    email?: NullableStringFieldUpdateOperationsInput | string | null
    userId?: StringFieldUpdateOperationsInput | string
    checkinvisitaId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type cadastropjCreateInput = {
    id?: string
    cnpj: string
    razaosocial: string
    nomefantasia: string
    faixadefaturamento: string
    datadeabertura: Date | string
    setor: string
    cnae: string
    cep: string
    tipologradoro: string
    endereco: string
    numero: string
    complemento?: string | null
    bairro: string
    cidade: string
    estado: string
    email?: string | null
    naotememail: boolean
    telefone: string
    celular: string
    whatsapp: string
    userId: string
    createdAt?: Date | string
    updatedAt?: Date | string
    checkinvisita?: checkinvisitaCreateNestedOneWithoutCadastropjInput
  }

  export type cadastropjUncheckedCreateInput = {
    id?: string
    cnpj: string
    razaosocial: string
    nomefantasia: string
    faixadefaturamento: string
    datadeabertura: Date | string
    setor: string
    cnae: string
    cep: string
    tipologradoro: string
    endereco: string
    numero: string
    complemento?: string | null
    bairro: string
    cidade: string
    estado: string
    email?: string | null
    naotememail: boolean
    telefone: string
    celular: string
    whatsapp: string
    checkinvisitaId: string
    userId: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type cadastropjUpdateInput = {
    id?: StringFieldUpdateOperationsInput | string
    cnpj?: StringFieldUpdateOperationsInput | string
    razaosocial?: StringFieldUpdateOperationsInput | string
    nomefantasia?: StringFieldUpdateOperationsInput | string
    faixadefaturamento?: StringFieldUpdateOperationsInput | string
    datadeabertura?: DateTimeFieldUpdateOperationsInput | Date | string
    setor?: StringFieldUpdateOperationsInput | string
    cnae?: StringFieldUpdateOperationsInput | string
    cep?: StringFieldUpdateOperationsInput | string
    tipologradoro?: StringFieldUpdateOperationsInput | string
    endereco?: StringFieldUpdateOperationsInput | string
    numero?: StringFieldUpdateOperationsInput | string
    complemento?: NullableStringFieldUpdateOperationsInput | string | null
    bairro?: StringFieldUpdateOperationsInput | string
    cidade?: StringFieldUpdateOperationsInput | string
    estado?: StringFieldUpdateOperationsInput | string
    email?: NullableStringFieldUpdateOperationsInput | string | null
    naotememail?: BoolFieldUpdateOperationsInput | boolean
    telefone?: StringFieldUpdateOperationsInput | string
    celular?: StringFieldUpdateOperationsInput | string
    whatsapp?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    checkinvisita?: checkinvisitaUpdateOneWithoutCadastropjNestedInput
  }

  export type cadastropjUncheckedUpdateInput = {
    id?: StringFieldUpdateOperationsInput | string
    cnpj?: StringFieldUpdateOperationsInput | string
    razaosocial?: StringFieldUpdateOperationsInput | string
    nomefantasia?: StringFieldUpdateOperationsInput | string
    faixadefaturamento?: StringFieldUpdateOperationsInput | string
    datadeabertura?: DateTimeFieldUpdateOperationsInput | Date | string
    setor?: StringFieldUpdateOperationsInput | string
    cnae?: StringFieldUpdateOperationsInput | string
    cep?: StringFieldUpdateOperationsInput | string
    tipologradoro?: StringFieldUpdateOperationsInput | string
    endereco?: StringFieldUpdateOperationsInput | string
    numero?: StringFieldUpdateOperationsInput | string
    complemento?: NullableStringFieldUpdateOperationsInput | string | null
    bairro?: StringFieldUpdateOperationsInput | string
    cidade?: StringFieldUpdateOperationsInput | string
    estado?: StringFieldUpdateOperationsInput | string
    email?: NullableStringFieldUpdateOperationsInput | string | null
    naotememail?: BoolFieldUpdateOperationsInput | boolean
    telefone?: StringFieldUpdateOperationsInput | string
    celular?: StringFieldUpdateOperationsInput | string
    whatsapp?: StringFieldUpdateOperationsInput | string
    checkinvisitaId?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type cadastropjCreateManyInput = {
    id?: string
    cnpj: string
    razaosocial: string
    nomefantasia: string
    faixadefaturamento: string
    datadeabertura: Date | string
    setor: string
    cnae: string
    cep: string
    tipologradoro: string
    endereco: string
    numero: string
    complemento?: string | null
    bairro: string
    cidade: string
    estado: string
    email?: string | null
    naotememail: boolean
    telefone: string
    celular: string
    whatsapp: string
    checkinvisitaId: string
    userId: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type cadastropjUpdateManyMutationInput = {
    id?: StringFieldUpdateOperationsInput | string
    cnpj?: StringFieldUpdateOperationsInput | string
    razaosocial?: StringFieldUpdateOperationsInput | string
    nomefantasia?: StringFieldUpdateOperationsInput | string
    faixadefaturamento?: StringFieldUpdateOperationsInput | string
    datadeabertura?: DateTimeFieldUpdateOperationsInput | Date | string
    setor?: StringFieldUpdateOperationsInput | string
    cnae?: StringFieldUpdateOperationsInput | string
    cep?: StringFieldUpdateOperationsInput | string
    tipologradoro?: StringFieldUpdateOperationsInput | string
    endereco?: StringFieldUpdateOperationsInput | string
    numero?: StringFieldUpdateOperationsInput | string
    complemento?: NullableStringFieldUpdateOperationsInput | string | null
    bairro?: StringFieldUpdateOperationsInput | string
    cidade?: StringFieldUpdateOperationsInput | string
    estado?: StringFieldUpdateOperationsInput | string
    email?: NullableStringFieldUpdateOperationsInput | string | null
    naotememail?: BoolFieldUpdateOperationsInput | boolean
    telefone?: StringFieldUpdateOperationsInput | string
    celular?: StringFieldUpdateOperationsInput | string
    whatsapp?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type cadastropjUncheckedUpdateManyInput = {
    id?: StringFieldUpdateOperationsInput | string
    cnpj?: StringFieldUpdateOperationsInput | string
    razaosocial?: StringFieldUpdateOperationsInput | string
    nomefantasia?: StringFieldUpdateOperationsInput | string
    faixadefaturamento?: StringFieldUpdateOperationsInput | string
    datadeabertura?: DateTimeFieldUpdateOperationsInput | Date | string
    setor?: StringFieldUpdateOperationsInput | string
    cnae?: StringFieldUpdateOperationsInput | string
    cep?: StringFieldUpdateOperationsInput | string
    tipologradoro?: StringFieldUpdateOperationsInput | string
    endereco?: StringFieldUpdateOperationsInput | string
    numero?: StringFieldUpdateOperationsInput | string
    complemento?: NullableStringFieldUpdateOperationsInput | string | null
    bairro?: StringFieldUpdateOperationsInput | string
    cidade?: StringFieldUpdateOperationsInput | string
    estado?: StringFieldUpdateOperationsInput | string
    email?: NullableStringFieldUpdateOperationsInput | string | null
    naotememail?: BoolFieldUpdateOperationsInput | boolean
    telefone?: StringFieldUpdateOperationsInput | string
    celular?: StringFieldUpdateOperationsInput | string
    whatsapp?: StringFieldUpdateOperationsInput | string
    checkinvisitaId?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type planoacaoCreateInput = {
    id?: string
    userId: string
    planoAcao: string
    createdAt?: Date | string
    updatedAt?: Date | string
    checkinvisita?: checkinvisitaCreateNestedOneWithoutPlanoacaoInput
  }

  export type planoacaoUncheckedCreateInput = {
    id?: string
    userId: string
    planoAcao: string
    checkinvisitaId: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type planoacaoUpdateInput = {
    id?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    planoAcao?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    checkinvisita?: checkinvisitaUpdateOneWithoutPlanoacaoNestedInput
  }

  export type planoacaoUncheckedUpdateInput = {
    id?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    planoAcao?: StringFieldUpdateOperationsInput | string
    checkinvisitaId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type planoacaoCreateManyInput = {
    id?: string
    userId: string
    planoAcao: string
    checkinvisitaId: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type planoacaoUpdateManyMutationInput = {
    id?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    planoAcao?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type planoacaoUncheckedUpdateManyInput = {
    id?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    planoAcao?: StringFieldUpdateOperationsInput | string
    checkinvisitaId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type entrevistaDiagnosticoCreateInput = {
    id?: string
    userId: string
    areaEscolhida: string
    formacao_preco_venda?: number | null
    credito_capital_giro?: number | null
    credito_expansao?: number | null
    controle_financeiro?: number | null
    outro_financas?: number | null
    divulgacao_ecommerce?: number | null
    visual_ponto_loja?: number | null
    atendimento_clientes?: number | null
    concorrencia?: number | null
    outro_marketing?: number | null
    selecao_pessoas?: number | null
    retencao_motivacao?: number | null
    outro_rh?: number | null
    caixa_edicao?: string | null
    createdAt?: Date | string
    updatedAt?: Date | string
    checkinvisita?: checkinvisitaCreateNestedOneWithoutEntrevistaDiagnosticoInput
  }

  export type entrevistaDiagnosticoUncheckedCreateInput = {
    id?: string
    userId: string
    areaEscolhida: string
    formacao_preco_venda?: number | null
    credito_capital_giro?: number | null
    credito_expansao?: number | null
    controle_financeiro?: number | null
    outro_financas?: number | null
    divulgacao_ecommerce?: number | null
    visual_ponto_loja?: number | null
    atendimento_clientes?: number | null
    concorrencia?: number | null
    outro_marketing?: number | null
    selecao_pessoas?: number | null
    retencao_motivacao?: number | null
    outro_rh?: number | null
    caixa_edicao?: string | null
    checkinvisitaId: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type entrevistaDiagnosticoUpdateInput = {
    id?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    areaEscolhida?: StringFieldUpdateOperationsInput | string
    formacao_preco_venda?: NullableIntFieldUpdateOperationsInput | number | null
    credito_capital_giro?: NullableIntFieldUpdateOperationsInput | number | null
    credito_expansao?: NullableIntFieldUpdateOperationsInput | number | null
    controle_financeiro?: NullableIntFieldUpdateOperationsInput | number | null
    outro_financas?: NullableIntFieldUpdateOperationsInput | number | null
    divulgacao_ecommerce?: NullableIntFieldUpdateOperationsInput | number | null
    visual_ponto_loja?: NullableIntFieldUpdateOperationsInput | number | null
    atendimento_clientes?: NullableIntFieldUpdateOperationsInput | number | null
    concorrencia?: NullableIntFieldUpdateOperationsInput | number | null
    outro_marketing?: NullableIntFieldUpdateOperationsInput | number | null
    selecao_pessoas?: NullableIntFieldUpdateOperationsInput | number | null
    retencao_motivacao?: NullableIntFieldUpdateOperationsInput | number | null
    outro_rh?: NullableIntFieldUpdateOperationsInput | number | null
    caixa_edicao?: NullableStringFieldUpdateOperationsInput | string | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    checkinvisita?: checkinvisitaUpdateOneWithoutEntrevistaDiagnosticoNestedInput
  }

  export type entrevistaDiagnosticoUncheckedUpdateInput = {
    id?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    areaEscolhida?: StringFieldUpdateOperationsInput | string
    formacao_preco_venda?: NullableIntFieldUpdateOperationsInput | number | null
    credito_capital_giro?: NullableIntFieldUpdateOperationsInput | number | null
    credito_expansao?: NullableIntFieldUpdateOperationsInput | number | null
    controle_financeiro?: NullableIntFieldUpdateOperationsInput | number | null
    outro_financas?: NullableIntFieldUpdateOperationsInput | number | null
    divulgacao_ecommerce?: NullableIntFieldUpdateOperationsInput | number | null
    visual_ponto_loja?: NullableIntFieldUpdateOperationsInput | number | null
    atendimento_clientes?: NullableIntFieldUpdateOperationsInput | number | null
    concorrencia?: NullableIntFieldUpdateOperationsInput | number | null
    outro_marketing?: NullableIntFieldUpdateOperationsInput | number | null
    selecao_pessoas?: NullableIntFieldUpdateOperationsInput | number | null
    retencao_motivacao?: NullableIntFieldUpdateOperationsInput | number | null
    outro_rh?: NullableIntFieldUpdateOperationsInput | number | null
    caixa_edicao?: NullableStringFieldUpdateOperationsInput | string | null
    checkinvisitaId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type entrevistaDiagnosticoCreateManyInput = {
    id?: string
    userId: string
    areaEscolhida: string
    formacao_preco_venda?: number | null
    credito_capital_giro?: number | null
    credito_expansao?: number | null
    controle_financeiro?: number | null
    outro_financas?: number | null
    divulgacao_ecommerce?: number | null
    visual_ponto_loja?: number | null
    atendimento_clientes?: number | null
    concorrencia?: number | null
    outro_marketing?: number | null
    selecao_pessoas?: number | null
    retencao_motivacao?: number | null
    outro_rh?: number | null
    caixa_edicao?: string | null
    checkinvisitaId: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type entrevistaDiagnosticoUpdateManyMutationInput = {
    id?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    areaEscolhida?: StringFieldUpdateOperationsInput | string
    formacao_preco_venda?: NullableIntFieldUpdateOperationsInput | number | null
    credito_capital_giro?: NullableIntFieldUpdateOperationsInput | number | null
    credito_expansao?: NullableIntFieldUpdateOperationsInput | number | null
    controle_financeiro?: NullableIntFieldUpdateOperationsInput | number | null
    outro_financas?: NullableIntFieldUpdateOperationsInput | number | null
    divulgacao_ecommerce?: NullableIntFieldUpdateOperationsInput | number | null
    visual_ponto_loja?: NullableIntFieldUpdateOperationsInput | number | null
    atendimento_clientes?: NullableIntFieldUpdateOperationsInput | number | null
    concorrencia?: NullableIntFieldUpdateOperationsInput | number | null
    outro_marketing?: NullableIntFieldUpdateOperationsInput | number | null
    selecao_pessoas?: NullableIntFieldUpdateOperationsInput | number | null
    retencao_motivacao?: NullableIntFieldUpdateOperationsInput | number | null
    outro_rh?: NullableIntFieldUpdateOperationsInput | number | null
    caixa_edicao?: NullableStringFieldUpdateOperationsInput | string | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type entrevistaDiagnosticoUncheckedUpdateManyInput = {
    id?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    areaEscolhida?: StringFieldUpdateOperationsInput | string
    formacao_preco_venda?: NullableIntFieldUpdateOperationsInput | number | null
    credito_capital_giro?: NullableIntFieldUpdateOperationsInput | number | null
    credito_expansao?: NullableIntFieldUpdateOperationsInput | number | null
    controle_financeiro?: NullableIntFieldUpdateOperationsInput | number | null
    outro_financas?: NullableIntFieldUpdateOperationsInput | number | null
    divulgacao_ecommerce?: NullableIntFieldUpdateOperationsInput | number | null
    visual_ponto_loja?: NullableIntFieldUpdateOperationsInput | number | null
    atendimento_clientes?: NullableIntFieldUpdateOperationsInput | number | null
    concorrencia?: NullableIntFieldUpdateOperationsInput | number | null
    outro_marketing?: NullableIntFieldUpdateOperationsInput | number | null
    selecao_pessoas?: NullableIntFieldUpdateOperationsInput | number | null
    retencao_motivacao?: NullableIntFieldUpdateOperationsInput | number | null
    outro_rh?: NullableIntFieldUpdateOperationsInput | number | null
    caixa_edicao?: NullableStringFieldUpdateOperationsInput | string | null
    checkinvisitaId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type assinaturadigitalCreateInput = {
    id?: string
    assinaturaDigital: string
    userId: string
    createdAt?: Date | string
    updatedAt?: Date | string
    checkinvisita?: checkinvisitaCreateNestedOneWithoutAssinaturadigitalInput
  }

  export type assinaturadigitalUncheckedCreateInput = {
    id?: string
    assinaturaDigital: string
    checkinvisitaId: string
    userId: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type assinaturadigitalUpdateInput = {
    id?: StringFieldUpdateOperationsInput | string
    assinaturaDigital?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    checkinvisita?: checkinvisitaUpdateOneWithoutAssinaturadigitalNestedInput
  }

  export type assinaturadigitalUncheckedUpdateInput = {
    id?: StringFieldUpdateOperationsInput | string
    assinaturaDigital?: StringFieldUpdateOperationsInput | string
    checkinvisitaId?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type assinaturadigitalCreateManyInput = {
    id?: string
    assinaturaDigital: string
    checkinvisitaId: string
    userId: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type assinaturadigitalUpdateManyMutationInput = {
    id?: StringFieldUpdateOperationsInput | string
    assinaturaDigital?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type assinaturadigitalUncheckedUpdateManyInput = {
    id?: StringFieldUpdateOperationsInput | string
    assinaturaDigital?: StringFieldUpdateOperationsInput | string
    checkinvisitaId?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type checkoutCreateInput = {
    id?: string
    interessePrograma: boolean
    horarioContato: string
    aceitaEmail: boolean
    deixouComentarios: boolean
    comentarios: string
    userId: string
    createdAt?: Date | string
    updatedAt?: Date | string
    checkinvisita?: checkinvisitaCreateNestedOneWithoutCheckoutInput
  }

  export type checkoutUncheckedCreateInput = {
    id?: string
    interessePrograma: boolean
    horarioContato: string
    aceitaEmail: boolean
    deixouComentarios: boolean
    comentarios: string
    checkinvisitaId: string
    userId: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type checkoutUpdateInput = {
    id?: StringFieldUpdateOperationsInput | string
    interessePrograma?: BoolFieldUpdateOperationsInput | boolean
    horarioContato?: StringFieldUpdateOperationsInput | string
    aceitaEmail?: BoolFieldUpdateOperationsInput | boolean
    deixouComentarios?: BoolFieldUpdateOperationsInput | boolean
    comentarios?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    checkinvisita?: checkinvisitaUpdateOneWithoutCheckoutNestedInput
  }

  export type checkoutUncheckedUpdateInput = {
    id?: StringFieldUpdateOperationsInput | string
    interessePrograma?: BoolFieldUpdateOperationsInput | boolean
    horarioContato?: StringFieldUpdateOperationsInput | string
    aceitaEmail?: BoolFieldUpdateOperationsInput | boolean
    deixouComentarios?: BoolFieldUpdateOperationsInput | boolean
    comentarios?: StringFieldUpdateOperationsInput | string
    checkinvisitaId?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type checkoutCreateManyInput = {
    id?: string
    interessePrograma: boolean
    horarioContato: string
    aceitaEmail: boolean
    deixouComentarios: boolean
    comentarios: string
    checkinvisitaId: string
    userId: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type checkoutUpdateManyMutationInput = {
    id?: StringFieldUpdateOperationsInput | string
    interessePrograma?: BoolFieldUpdateOperationsInput | boolean
    horarioContato?: StringFieldUpdateOperationsInput | string
    aceitaEmail?: BoolFieldUpdateOperationsInput | boolean
    deixouComentarios?: BoolFieldUpdateOperationsInput | boolean
    comentarios?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type checkoutUncheckedUpdateManyInput = {
    id?: StringFieldUpdateOperationsInput | string
    interessePrograma?: BoolFieldUpdateOperationsInput | boolean
    horarioContato?: StringFieldUpdateOperationsInput | string
    aceitaEmail?: BoolFieldUpdateOperationsInput | boolean
    deixouComentarios?: BoolFieldUpdateOperationsInput | boolean
    comentarios?: StringFieldUpdateOperationsInput | string
    checkinvisitaId?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type recordingsCreateInput = {
    id?: string
    title: string
    filename: string
    mimeType: string
    base64: string
    createdAt?: Date | string
    updatedAt?: Date | string
    checkinvisita?: checkinvisitaCreateNestedOneWithoutRecordingsInput
  }

  export type recordingsUncheckedCreateInput = {
    id?: string
    title: string
    filename: string
    mimeType: string
    base64: string
    checkinvisitaId: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type recordingsUpdateInput = {
    id?: StringFieldUpdateOperationsInput | string
    title?: StringFieldUpdateOperationsInput | string
    filename?: StringFieldUpdateOperationsInput | string
    mimeType?: StringFieldUpdateOperationsInput | string
    base64?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    checkinvisita?: checkinvisitaUpdateOneWithoutRecordingsNestedInput
  }

  export type recordingsUncheckedUpdateInput = {
    id?: StringFieldUpdateOperationsInput | string
    title?: StringFieldUpdateOperationsInput | string
    filename?: StringFieldUpdateOperationsInput | string
    mimeType?: StringFieldUpdateOperationsInput | string
    base64?: StringFieldUpdateOperationsInput | string
    checkinvisitaId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type recordingsCreateManyInput = {
    id?: string
    title: string
    filename: string
    mimeType: string
    base64: string
    checkinvisitaId: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type recordingsUpdateManyMutationInput = {
    id?: StringFieldUpdateOperationsInput | string
    title?: StringFieldUpdateOperationsInput | string
    filename?: StringFieldUpdateOperationsInput | string
    mimeType?: StringFieldUpdateOperationsInput | string
    base64?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type recordingsUncheckedUpdateManyInput = {
    id?: StringFieldUpdateOperationsInput | string
    title?: StringFieldUpdateOperationsInput | string
    filename?: StringFieldUpdateOperationsInput | string
    mimeType?: StringFieldUpdateOperationsInput | string
    base64?: StringFieldUpdateOperationsInput | string
    checkinvisitaId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type cnaeCreateInput = {
    id?: string
    cnae: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type cnaeUncheckedCreateInput = {
    id?: string
    cnae: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type cnaeUpdateInput = {
    id?: StringFieldUpdateOperationsInput | string
    cnae?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type cnaeUncheckedUpdateInput = {
    id?: StringFieldUpdateOperationsInput | string
    cnae?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type cnaeCreateManyInput = {
    id?: string
    cnae: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type cnaeUpdateManyMutationInput = {
    id?: StringFieldUpdateOperationsInput | string
    cnae?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type cnaeUncheckedUpdateManyInput = {
    id?: StringFieldUpdateOperationsInput | string
    cnae?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type visitasreceivedCreateInput = {
    id?: string
    visita: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type visitasreceivedUncheckedCreateInput = {
    id?: string
    visita: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type visitasreceivedUpdateInput = {
    id?: StringFieldUpdateOperationsInput | string
    visita?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type visitasreceivedUncheckedUpdateInput = {
    id?: StringFieldUpdateOperationsInput | string
    visita?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type visitasreceivedCreateManyInput = {
    id?: string
    visita: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type visitasreceivedUpdateManyMutationInput = {
    id?: StringFieldUpdateOperationsInput | string
    visita?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type visitasreceivedUncheckedUpdateManyInput = {
    id?: StringFieldUpdateOperationsInput | string
    visita?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type StringFilter<$PrismaModel = never> = {
    equals?: string | StringFieldRefInput<$PrismaModel>
    in?: string[]
    notIn?: string[]
    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>
    search?: string
    not?: NestedStringFilter<$PrismaModel> | string
  }

  export type EnumUserSexoFilter<$PrismaModel = never> = {
    equals?: $Enums.UserSexo | EnumUserSexoFieldRefInput<$PrismaModel>
    in?: $Enums.UserSexo[]
    notIn?: $Enums.UserSexo[]
    not?: NestedEnumUserSexoFilter<$PrismaModel> | $Enums.UserSexo
  }

  export type StringNullableFilter<$PrismaModel = never> = {
    equals?: string | StringFieldRefInput<$PrismaModel> | null
    in?: string[] | null
    notIn?: string[] | 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>
    search?: string
    not?: NestedStringNullableFilter<$PrismaModel> | string | null
  }

  export type BoolFilter<$PrismaModel = never> = {
    equals?: boolean | BooleanFieldRefInput<$PrismaModel>
    not?: NestedBoolFilter<$PrismaModel> | boolean
  }

  export type DateTimeFilter<$PrismaModel = never> = {
    equals?: Date | string | DateTimeFieldRefInput<$PrismaModel>
    in?: Date[] | string[]
    notIn?: Date[] | string[]
    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 ProfileScalarRelationFilter = {
    is?: profileWhereInput
    isNot?: profileWhereInput
  }

  export type ForgetpasswordListRelationFilter = {
    every?: forgetpasswordWhereInput
    some?: forgetpasswordWhereInput
    none?: forgetpasswordWhereInput
  }

  export type SortOrderInput = {
    sort: SortOrder
    nulls?: NullsOrder
  }

  export type forgetpasswordOrderByRelationAggregateInput = {
    _count?: SortOrder
  }

  export type userOrderByRelevanceInput = {
    fields: userOrderByRelevanceFieldEnum | userOrderByRelevanceFieldEnum[]
    sort: SortOrder
    search: string
  }

  export type userCountOrderByAggregateInput = {
    id?: SortOrder
    name?: SortOrder
    login?: SortOrder
    password?: SortOrder
    email?: SortOrder
    cpf?: SortOrder
    sexo?: SortOrder
    datanasc?: SortOrder
    escolaridade?: SortOrder
    possuinomesocial?: SortOrder
    nomesocial?: SortOrder
    empresa?: SortOrder
    profileImage?: SortOrder
    profileId?: SortOrder
    active?: SortOrder
    createdBy?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type userMaxOrderByAggregateInput = {
    id?: SortOrder
    name?: SortOrder
    login?: SortOrder
    password?: SortOrder
    email?: SortOrder
    cpf?: SortOrder
    sexo?: SortOrder
    datanasc?: SortOrder
    escolaridade?: SortOrder
    possuinomesocial?: SortOrder
    nomesocial?: SortOrder
    empresa?: SortOrder
    profileImage?: SortOrder
    profileId?: SortOrder
    active?: SortOrder
    createdBy?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type userMinOrderByAggregateInput = {
    id?: SortOrder
    name?: SortOrder
    login?: SortOrder
    password?: SortOrder
    email?: SortOrder
    cpf?: SortOrder
    sexo?: SortOrder
    datanasc?: SortOrder
    escolaridade?: SortOrder
    possuinomesocial?: SortOrder
    nomesocial?: SortOrder
    empresa?: SortOrder
    profileImage?: SortOrder
    profileId?: SortOrder
    active?: SortOrder
    createdBy?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type StringWithAggregatesFilter<$PrismaModel = never> = {
    equals?: string | StringFieldRefInput<$PrismaModel>
    in?: string[]
    notIn?: string[]
    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>
    search?: string
    not?: NestedStringWithAggregatesFilter<$PrismaModel> | string
    _count?: NestedIntFilter<$PrismaModel>
    _min?: NestedStringFilter<$PrismaModel>
    _max?: NestedStringFilter<$PrismaModel>
  }

  export type EnumUserSexoWithAggregatesFilter<$PrismaModel = never> = {
    equals?: $Enums.UserSexo | EnumUserSexoFieldRefInput<$PrismaModel>
    in?: $Enums.UserSexo[]
    notIn?: $Enums.UserSexo[]
    not?: NestedEnumUserSexoWithAggregatesFilter<$PrismaModel> | $Enums.UserSexo
    _count?: NestedIntFilter<$PrismaModel>
    _min?: NestedEnumUserSexoFilter<$PrismaModel>
    _max?: NestedEnumUserSexoFilter<$PrismaModel>
  }

  export type StringNullableWithAggregatesFilter<$PrismaModel = never> = {
    equals?: string | StringFieldRefInput<$PrismaModel> | null
    in?: string[] | null
    notIn?: string[] | 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>
    search?: string
    not?: NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null
    _count?: NestedIntNullableFilter<$PrismaModel>
    _min?: NestedStringNullableFilter<$PrismaModel>
    _max?: NestedStringNullableFilter<$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 DateTimeWithAggregatesFilter<$PrismaModel = never> = {
    equals?: Date | string | DateTimeFieldRefInput<$PrismaModel>
    in?: Date[] | string[]
    notIn?: Date[] | string[]
    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 UserScalarRelationFilter = {
    is?: userWhereInput
    isNot?: userWhereInput
  }

  export type forgetpasswordOrderByRelevanceInput = {
    fields: forgetpasswordOrderByRelevanceFieldEnum | forgetpasswordOrderByRelevanceFieldEnum[]
    sort: SortOrder
    search: string
  }

  export type forgetpasswordCountOrderByAggregateInput = {
    id?: SortOrder
    userId?: SortOrder
    token?: SortOrder
    expiration?: SortOrder
    active?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type forgetpasswordMaxOrderByAggregateInput = {
    id?: SortOrder
    userId?: SortOrder
    token?: SortOrder
    expiration?: SortOrder
    active?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type forgetpasswordMinOrderByAggregateInput = {
    id?: SortOrder
    userId?: SortOrder
    token?: SortOrder
    expiration?: SortOrder
    active?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type UserListRelationFilter = {
    every?: userWhereInput
    some?: userWhereInput
    none?: userWhereInput
  }

  export type userOrderByRelationAggregateInput = {
    _count?: SortOrder
  }

  export type profileOrderByRelevanceInput = {
    fields: profileOrderByRelevanceFieldEnum | profileOrderByRelevanceFieldEnum[]
    sort: SortOrder
    search: string
  }

  export type profileCountOrderByAggregateInput = {
    id?: SortOrder
    name?: SortOrder
    active?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type profileMaxOrderByAggregateInput = {
    id?: SortOrder
    name?: SortOrder
    active?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type profileMinOrderByAggregateInput = {
    id?: SortOrder
    name?: SortOrder
    active?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type visitaOrderByRelevanceInput = {
    fields: visitaOrderByRelevanceFieldEnum | visitaOrderByRelevanceFieldEnum[]
    sort: SortOrder
    search: string
  }

  export type visitaCountOrderByAggregateInput = {
    id?: SortOrder
    userId?: SortOrder
    lat?: SortOrder
    long?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type visitaMaxOrderByAggregateInput = {
    id?: SortOrder
    userId?: SortOrder
    lat?: SortOrder
    long?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type visitaMinOrderByAggregateInput = {
    id?: SortOrder
    userId?: SortOrder
    lat?: SortOrder
    long?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type DateTimeNullableFilter<$PrismaModel = never> = {
    equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null
    in?: Date[] | string[] | null
    notIn?: Date[] | string[] | 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 EnumTipoCadastroNullableFilter<$PrismaModel = never> = {
    equals?: $Enums.TipoCadastro | EnumTipoCadastroFieldRefInput<$PrismaModel> | null
    in?: $Enums.TipoCadastro[] | null
    notIn?: $Enums.TipoCadastro[] | null
    not?: NestedEnumTipoCadastroNullableFilter<$PrismaModel> | $Enums.TipoCadastro | null
  }

  export type EntrevistaDiagnosticoListRelationFilter = {
    every?: entrevistaDiagnosticoWhereInput
    some?: entrevistaDiagnosticoWhereInput
    none?: entrevistaDiagnosticoWhereInput
  }

  export type CadastropfListRelationFilter = {
    every?: cadastropfWhereInput
    some?: cadastropfWhereInput
    none?: cadastropfWhereInput
  }

  export type CadastropjListRelationFilter = {
    every?: cadastropjWhereInput
    some?: cadastropjWhereInput
    none?: cadastropjWhereInput
  }

  export type PlanoacaoListRelationFilter = {
    every?: planoacaoWhereInput
    some?: planoacaoWhereInput
    none?: planoacaoWhereInput
  }

  export type AssinaturadigitalListRelationFilter = {
    every?: assinaturadigitalWhereInput
    some?: assinaturadigitalWhereInput
    none?: assinaturadigitalWhereInput
  }

  export type CheckoutListRelationFilter = {
    every?: checkoutWhereInput
    some?: checkoutWhereInput
    none?: checkoutWhereInput
  }

  export type RecordingsListRelationFilter = {
    every?: recordingsWhereInput
    some?: recordingsWhereInput
    none?: recordingsWhereInput
  }

  export type entrevistaDiagnosticoOrderByRelationAggregateInput = {
    _count?: SortOrder
  }

  export type cadastropfOrderByRelationAggregateInput = {
    _count?: SortOrder
  }

  export type cadastropjOrderByRelationAggregateInput = {
    _count?: SortOrder
  }

  export type planoacaoOrderByRelationAggregateInput = {
    _count?: SortOrder
  }

  export type assinaturadigitalOrderByRelationAggregateInput = {
    _count?: SortOrder
  }

  export type checkoutOrderByRelationAggregateInput = {
    _count?: SortOrder
  }

  export type recordingsOrderByRelationAggregateInput = {
    _count?: SortOrder
  }

  export type checkinvisitaOrderByRelevanceInput = {
    fields: checkinvisitaOrderByRelevanceFieldEnum | checkinvisitaOrderByRelevanceFieldEnum[]
    sort: SortOrder
    search: string
  }

  export type checkinvisitaCountOrderByAggregateInput = {
    id?: SortOrder
    isAdmin?: SortOrder
    userId?: SortOrder
    envolvimentoGestao?: SortOrder
    formalizadaPorteMeEpp?: SortOrder
    disponibilidademomento?: SortOrder
    latitude?: SortOrder
    longitude?: SortOrder
    processedAt?: SortOrder
    insertedAt?: SortOrder
    tipocadastro?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type checkinvisitaMaxOrderByAggregateInput = {
    id?: SortOrder
    isAdmin?: SortOrder
    userId?: SortOrder
    envolvimentoGestao?: SortOrder
    formalizadaPorteMeEpp?: SortOrder
    disponibilidademomento?: SortOrder
    latitude?: SortOrder
    longitude?: SortOrder
    processedAt?: SortOrder
    insertedAt?: SortOrder
    tipocadastro?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type checkinvisitaMinOrderByAggregateInput = {
    id?: SortOrder
    isAdmin?: SortOrder
    userId?: SortOrder
    envolvimentoGestao?: SortOrder
    formalizadaPorteMeEpp?: SortOrder
    disponibilidademomento?: SortOrder
    latitude?: SortOrder
    longitude?: SortOrder
    processedAt?: SortOrder
    insertedAt?: SortOrder
    tipocadastro?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type DateTimeNullableWithAggregatesFilter<$PrismaModel = never> = {
    equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null
    in?: Date[] | string[] | null
    notIn?: Date[] | string[] | 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 EnumTipoCadastroNullableWithAggregatesFilter<$PrismaModel = never> = {
    equals?: $Enums.TipoCadastro | EnumTipoCadastroFieldRefInput<$PrismaModel> | null
    in?: $Enums.TipoCadastro[] | null
    notIn?: $Enums.TipoCadastro[] | null
    not?: NestedEnumTipoCadastroNullableWithAggregatesFilter<$PrismaModel> | $Enums.TipoCadastro | null
    _count?: NestedIntNullableFilter<$PrismaModel>
    _min?: NestedEnumTipoCadastroNullableFilter<$PrismaModel>
    _max?: NestedEnumTipoCadastroNullableFilter<$PrismaModel>
  }

  export type BoolNullableFilter<$PrismaModel = never> = {
    equals?: boolean | BooleanFieldRefInput<$PrismaModel> | null
    not?: NestedBoolNullableFilter<$PrismaModel> | boolean | null
  }

  export type CheckinvisitaNullableScalarRelationFilter = {
    is?: checkinvisitaWhereInput | null
    isNot?: checkinvisitaWhereInput | null
  }

  export type cadastropfOrderByRelevanceInput = {
    fields: cadastropfOrderByRelevanceFieldEnum | cadastropfOrderByRelevanceFieldEnum[]
    sort: SortOrder
    search: string
  }

  export type cadastropfCountOrderByAggregateInput = {
    id?: SortOrder
    nome?: SortOrder
    cpf?: SortOrder
    sexo?: SortOrder
    possuinomesocial?: SortOrder
    nomesocial?: SortOrder
    datanasc?: SortOrder
    escolaridade?: SortOrder
    possuideficiencia?: SortOrder
    deficiencia?: SortOrder
    possuifuncionariocomdeficiencia?: SortOrder
    cep?: SortOrder
    tipologradoro?: SortOrder
    endereco?: SortOrder
    numero?: SortOrder
    complemento?: SortOrder
    bairro?: SortOrder
    cidade?: SortOrder
    estado?: SortOrder
    aceitacontatopor?: SortOrder
    telefone?: SortOrder
    celular?: SortOrder
    email?: SortOrder
    userId?: SortOrder
    checkinvisitaId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type cadastropfMaxOrderByAggregateInput = {
    id?: SortOrder
    nome?: SortOrder
    cpf?: SortOrder
    sexo?: SortOrder
    possuinomesocial?: SortOrder
    nomesocial?: SortOrder
    datanasc?: SortOrder
    escolaridade?: SortOrder
    possuideficiencia?: SortOrder
    deficiencia?: SortOrder
    possuifuncionariocomdeficiencia?: SortOrder
    cep?: SortOrder
    tipologradoro?: SortOrder
    endereco?: SortOrder
    numero?: SortOrder
    complemento?: SortOrder
    bairro?: SortOrder
    cidade?: SortOrder
    estado?: SortOrder
    aceitacontatopor?: SortOrder
    telefone?: SortOrder
    celular?: SortOrder
    email?: SortOrder
    userId?: SortOrder
    checkinvisitaId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type cadastropfMinOrderByAggregateInput = {
    id?: SortOrder
    nome?: SortOrder
    cpf?: SortOrder
    sexo?: SortOrder
    possuinomesocial?: SortOrder
    nomesocial?: SortOrder
    datanasc?: SortOrder
    escolaridade?: SortOrder
    possuideficiencia?: SortOrder
    deficiencia?: SortOrder
    possuifuncionariocomdeficiencia?: SortOrder
    cep?: SortOrder
    tipologradoro?: SortOrder
    endereco?: SortOrder
    numero?: SortOrder
    complemento?: SortOrder
    bairro?: SortOrder
    cidade?: SortOrder
    estado?: SortOrder
    aceitacontatopor?: SortOrder
    telefone?: SortOrder
    celular?: SortOrder
    email?: SortOrder
    userId?: SortOrder
    checkinvisitaId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type BoolNullableWithAggregatesFilter<$PrismaModel = never> = {
    equals?: boolean | BooleanFieldRefInput<$PrismaModel> | null
    not?: NestedBoolNullableWithAggregatesFilter<$PrismaModel> | boolean | null
    _count?: NestedIntNullableFilter<$PrismaModel>
    _min?: NestedBoolNullableFilter<$PrismaModel>
    _max?: NestedBoolNullableFilter<$PrismaModel>
  }

  export type cadastropjOrderByRelevanceInput = {
    fields: cadastropjOrderByRelevanceFieldEnum | cadastropjOrderByRelevanceFieldEnum[]
    sort: SortOrder
    search: string
  }

  export type cadastropjCountOrderByAggregateInput = {
    id?: SortOrder
    cnpj?: SortOrder
    razaosocial?: SortOrder
    nomefantasia?: SortOrder
    faixadefaturamento?: SortOrder
    datadeabertura?: SortOrder
    setor?: SortOrder
    cnae?: SortOrder
    cep?: SortOrder
    tipologradoro?: SortOrder
    endereco?: SortOrder
    numero?: SortOrder
    complemento?: SortOrder
    bairro?: SortOrder
    cidade?: SortOrder
    estado?: SortOrder
    email?: SortOrder
    naotememail?: SortOrder
    telefone?: SortOrder
    celular?: SortOrder
    whatsapp?: SortOrder
    checkinvisitaId?: SortOrder
    userId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type cadastropjMaxOrderByAggregateInput = {
    id?: SortOrder
    cnpj?: SortOrder
    razaosocial?: SortOrder
    nomefantasia?: SortOrder
    faixadefaturamento?: SortOrder
    datadeabertura?: SortOrder
    setor?: SortOrder
    cnae?: SortOrder
    cep?: SortOrder
    tipologradoro?: SortOrder
    endereco?: SortOrder
    numero?: SortOrder
    complemento?: SortOrder
    bairro?: SortOrder
    cidade?: SortOrder
    estado?: SortOrder
    email?: SortOrder
    naotememail?: SortOrder
    telefone?: SortOrder
    celular?: SortOrder
    whatsapp?: SortOrder
    checkinvisitaId?: SortOrder
    userId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type cadastropjMinOrderByAggregateInput = {
    id?: SortOrder
    cnpj?: SortOrder
    razaosocial?: SortOrder
    nomefantasia?: SortOrder
    faixadefaturamento?: SortOrder
    datadeabertura?: SortOrder
    setor?: SortOrder
    cnae?: SortOrder
    cep?: SortOrder
    tipologradoro?: SortOrder
    endereco?: SortOrder
    numero?: SortOrder
    complemento?: SortOrder
    bairro?: SortOrder
    cidade?: SortOrder
    estado?: SortOrder
    email?: SortOrder
    naotememail?: SortOrder
    telefone?: SortOrder
    celular?: SortOrder
    whatsapp?: SortOrder
    checkinvisitaId?: SortOrder
    userId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type planoacaoOrderByRelevanceInput = {
    fields: planoacaoOrderByRelevanceFieldEnum | planoacaoOrderByRelevanceFieldEnum[]
    sort: SortOrder
    search: string
  }

  export type planoacaoCountOrderByAggregateInput = {
    id?: SortOrder
    userId?: SortOrder
    planoAcao?: SortOrder
    checkinvisitaId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type planoacaoMaxOrderByAggregateInput = {
    id?: SortOrder
    userId?: SortOrder
    planoAcao?: SortOrder
    checkinvisitaId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type planoacaoMinOrderByAggregateInput = {
    id?: SortOrder
    userId?: SortOrder
    planoAcao?: SortOrder
    checkinvisitaId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type IntNullableFilter<$PrismaModel = never> = {
    equals?: number | IntFieldRefInput<$PrismaModel> | null
    in?: number[] | null
    notIn?: number[] | null
    lt?: number | IntFieldRefInput<$PrismaModel>
    lte?: number | IntFieldRefInput<$PrismaModel>
    gt?: number | IntFieldRefInput<$PrismaModel>
    gte?: number | IntFieldRefInput<$PrismaModel>
    not?: NestedIntNullableFilter<$PrismaModel> | number | null
  }

  export type entrevistaDiagnosticoOrderByRelevanceInput = {
    fields: entrevistaDiagnosticoOrderByRelevanceFieldEnum | entrevistaDiagnosticoOrderByRelevanceFieldEnum[]
    sort: SortOrder
    search: string
  }

  export type entrevistaDiagnosticoCountOrderByAggregateInput = {
    id?: SortOrder
    userId?: SortOrder
    areaEscolhida?: SortOrder
    formacao_preco_venda?: SortOrder
    credito_capital_giro?: SortOrder
    credito_expansao?: SortOrder
    controle_financeiro?: SortOrder
    outro_financas?: SortOrder
    divulgacao_ecommerce?: SortOrder
    visual_ponto_loja?: SortOrder
    atendimento_clientes?: SortOrder
    concorrencia?: SortOrder
    outro_marketing?: SortOrder
    selecao_pessoas?: SortOrder
    retencao_motivacao?: SortOrder
    outro_rh?: SortOrder
    caixa_edicao?: SortOrder
    checkinvisitaId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type entrevistaDiagnosticoAvgOrderByAggregateInput = {
    formacao_preco_venda?: SortOrder
    credito_capital_giro?: SortOrder
    credito_expansao?: SortOrder
    controle_financeiro?: SortOrder
    outro_financas?: SortOrder
    divulgacao_ecommerce?: SortOrder
    visual_ponto_loja?: SortOrder
    atendimento_clientes?: SortOrder
    concorrencia?: SortOrder
    outro_marketing?: SortOrder
    selecao_pessoas?: SortOrder
    retencao_motivacao?: SortOrder
    outro_rh?: SortOrder
  }

  export type entrevistaDiagnosticoMaxOrderByAggregateInput = {
    id?: SortOrder
    userId?: SortOrder
    areaEscolhida?: SortOrder
    formacao_preco_venda?: SortOrder
    credito_capital_giro?: SortOrder
    credito_expansao?: SortOrder
    controle_financeiro?: SortOrder
    outro_financas?: SortOrder
    divulgacao_ecommerce?: SortOrder
    visual_ponto_loja?: SortOrder
    atendimento_clientes?: SortOrder
    concorrencia?: SortOrder
    outro_marketing?: SortOrder
    selecao_pessoas?: SortOrder
    retencao_motivacao?: SortOrder
    outro_rh?: SortOrder
    caixa_edicao?: SortOrder
    checkinvisitaId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type entrevistaDiagnosticoMinOrderByAggregateInput = {
    id?: SortOrder
    userId?: SortOrder
    areaEscolhida?: SortOrder
    formacao_preco_venda?: SortOrder
    credito_capital_giro?: SortOrder
    credito_expansao?: SortOrder
    controle_financeiro?: SortOrder
    outro_financas?: SortOrder
    divulgacao_ecommerce?: SortOrder
    visual_ponto_loja?: SortOrder
    atendimento_clientes?: SortOrder
    concorrencia?: SortOrder
    outro_marketing?: SortOrder
    selecao_pessoas?: SortOrder
    retencao_motivacao?: SortOrder
    outro_rh?: SortOrder
    caixa_edicao?: SortOrder
    checkinvisitaId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type entrevistaDiagnosticoSumOrderByAggregateInput = {
    formacao_preco_venda?: SortOrder
    credito_capital_giro?: SortOrder
    credito_expansao?: SortOrder
    controle_financeiro?: SortOrder
    outro_financas?: SortOrder
    divulgacao_ecommerce?: SortOrder
    visual_ponto_loja?: SortOrder
    atendimento_clientes?: SortOrder
    concorrencia?: SortOrder
    outro_marketing?: SortOrder
    selecao_pessoas?: SortOrder
    retencao_motivacao?: SortOrder
    outro_rh?: SortOrder
  }

  export type IntNullableWithAggregatesFilter<$PrismaModel = never> = {
    equals?: number | IntFieldRefInput<$PrismaModel> | null
    in?: number[] | null
    notIn?: number[] | 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 assinaturadigitalOrderByRelevanceInput = {
    fields: assinaturadigitalOrderByRelevanceFieldEnum | assinaturadigitalOrderByRelevanceFieldEnum[]
    sort: SortOrder
    search: string
  }

  export type assinaturadigitalCountOrderByAggregateInput = {
    id?: SortOrder
    assinaturaDigital?: SortOrder
    checkinvisitaId?: SortOrder
    userId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type assinaturadigitalMaxOrderByAggregateInput = {
    id?: SortOrder
    assinaturaDigital?: SortOrder
    checkinvisitaId?: SortOrder
    userId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type assinaturadigitalMinOrderByAggregateInput = {
    id?: SortOrder
    assinaturaDigital?: SortOrder
    checkinvisitaId?: SortOrder
    userId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type checkoutOrderByRelevanceInput = {
    fields: checkoutOrderByRelevanceFieldEnum | checkoutOrderByRelevanceFieldEnum[]
    sort: SortOrder
    search: string
  }

  export type checkoutCountOrderByAggregateInput = {
    id?: SortOrder
    interessePrograma?: SortOrder
    horarioContato?: SortOrder
    aceitaEmail?: SortOrder
    deixouComentarios?: SortOrder
    comentarios?: SortOrder
    checkinvisitaId?: SortOrder
    userId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type checkoutMaxOrderByAggregateInput = {
    id?: SortOrder
    interessePrograma?: SortOrder
    horarioContato?: SortOrder
    aceitaEmail?: SortOrder
    deixouComentarios?: SortOrder
    comentarios?: SortOrder
    checkinvisitaId?: SortOrder
    userId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type checkoutMinOrderByAggregateInput = {
    id?: SortOrder
    interessePrograma?: SortOrder
    horarioContato?: SortOrder
    aceitaEmail?: SortOrder
    deixouComentarios?: SortOrder
    comentarios?: SortOrder
    checkinvisitaId?: SortOrder
    userId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type recordingsOrderByRelevanceInput = {
    fields: recordingsOrderByRelevanceFieldEnum | recordingsOrderByRelevanceFieldEnum[]
    sort: SortOrder
    search: string
  }

  export type recordingsCountOrderByAggregateInput = {
    id?: SortOrder
    title?: SortOrder
    filename?: SortOrder
    mimeType?: SortOrder
    base64?: SortOrder
    checkinvisitaId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type recordingsMaxOrderByAggregateInput = {
    id?: SortOrder
    title?: SortOrder
    filename?: SortOrder
    mimeType?: SortOrder
    base64?: SortOrder
    checkinvisitaId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type recordingsMinOrderByAggregateInput = {
    id?: SortOrder
    title?: SortOrder
    filename?: SortOrder
    mimeType?: SortOrder
    base64?: SortOrder
    checkinvisitaId?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type cnaeOrderByRelevanceInput = {
    fields: cnaeOrderByRelevanceFieldEnum | cnaeOrderByRelevanceFieldEnum[]
    sort: SortOrder
    search: string
  }

  export type cnaeCountOrderByAggregateInput = {
    id?: SortOrder
    cnae?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type cnaeMaxOrderByAggregateInput = {
    id?: SortOrder
    cnae?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type cnaeMinOrderByAggregateInput = {
    id?: SortOrder
    cnae?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type visitasreceivedOrderByRelevanceInput = {
    fields: visitasreceivedOrderByRelevanceFieldEnum | visitasreceivedOrderByRelevanceFieldEnum[]
    sort: SortOrder
    search: string
  }

  export type visitasreceivedCountOrderByAggregateInput = {
    id?: SortOrder
    visita?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type visitasreceivedMaxOrderByAggregateInput = {
    id?: SortOrder
    visita?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type visitasreceivedMinOrderByAggregateInput = {
    id?: SortOrder
    visita?: SortOrder
    createdAt?: SortOrder
    updatedAt?: SortOrder
  }

  export type profileCreateNestedOneWithoutUserInput = {
    create?: XOR<profileCreateWithoutUserInput, profileUncheckedCreateWithoutUserInput>
    connectOrCreate?: profileCreateOrConnectWithoutUserInput
    connect?: profileWhereUniqueInput
  }

  export type forgetpasswordCreateNestedManyWithoutUserInput = {
    create?: XOR<forgetpasswordCreateWithoutUserInput, forgetpasswordUncheckedCreateWithoutUserInput> | forgetpasswordCreateWithoutUserInput[] | forgetpasswordUncheckedCreateWithoutUserInput[]
    connectOrCreate?: forgetpasswordCreateOrConnectWithoutUserInput | forgetpasswordCreateOrConnectWithoutUserInput[]
    createMany?: forgetpasswordCreateManyUserInputEnvelope
    connect?: forgetpasswordWhereUniqueInput | forgetpasswordWhereUniqueInput[]
  }

  export type forgetpasswordUncheckedCreateNestedManyWithoutUserInput = {
    create?: XOR<forgetpasswordCreateWithoutUserInput, forgetpasswordUncheckedCreateWithoutUserInput> | forgetpasswordCreateWithoutUserInput[] | forgetpasswordUncheckedCreateWithoutUserInput[]
    connectOrCreate?: forgetpasswordCreateOrConnectWithoutUserInput | forgetpasswordCreateOrConnectWithoutUserInput[]
    createMany?: forgetpasswordCreateManyUserInputEnvelope
    connect?: forgetpasswordWhereUniqueInput | forgetpasswordWhereUniqueInput[]
  }

  export type StringFieldUpdateOperationsInput = {
    set?: string
  }

  export type EnumUserSexoFieldUpdateOperationsInput = {
    set?: $Enums.UserSexo
  }

  export type NullableStringFieldUpdateOperationsInput = {
    set?: string | null
  }

  export type BoolFieldUpdateOperationsInput = {
    set?: boolean
  }

  export type DateTimeFieldUpdateOperationsInput = {
    set?: Date | string
  }

  export type profileUpdateOneRequiredWithoutUserNestedInput = {
    create?: XOR<profileCreateWithoutUserInput, profileUncheckedCreateWithoutUserInput>
    connectOrCreate?: profileCreateOrConnectWithoutUserInput
    upsert?: profileUpsertWithoutUserInput
    connect?: profileWhereUniqueInput
    update?: XOR<XOR<profileUpdateToOneWithWhereWithoutUserInput, profileUpdateWithoutUserInput>, profileUncheckedUpdateWithoutUserInput>
  }

  export type forgetpasswordUpdateManyWithoutUserNestedInput = {
    create?: XOR<forgetpasswordCreateWithoutUserInput, forgetpasswordUncheckedCreateWithoutUserInput> | forgetpasswordCreateWithoutUserInput[] | forgetpasswordUncheckedCreateWithoutUserInput[]
    connectOrCreate?: forgetpasswordCreateOrConnectWithoutUserInput | forgetpasswordCreateOrConnectWithoutUserInput[]
    upsert?: forgetpasswordUpsertWithWhereUniqueWithoutUserInput | forgetpasswordUpsertWithWhereUniqueWithoutUserInput[]
    createMany?: forgetpasswordCreateManyUserInputEnvelope
    set?: forgetpasswordWhereUniqueInput | forgetpasswordWhereUniqueInput[]
    disconnect?: forgetpasswordWhereUniqueInput | forgetpasswordWhereUniqueInput[]
    delete?: forgetpasswordWhereUniqueInput | forgetpasswordWhereUniqueInput[]
    connect?: forgetpasswordWhereUniqueInput | forgetpasswordWhereUniqueInput[]
    update?: forgetpasswordUpdateWithWhereUniqueWithoutUserInput | forgetpasswordUpdateWithWhereUniqueWithoutUserInput[]
    updateMany?: forgetpasswordUpdateManyWithWhereWithoutUserInput | forgetpasswordUpdateManyWithWhereWithoutUserInput[]
    deleteMany?: forgetpasswordScalarWhereInput | forgetpasswordScalarWhereInput[]
  }

  export type forgetpasswordUncheckedUpdateManyWithoutUserNestedInput = {
    create?: XOR<forgetpasswordCreateWithoutUserInput, forgetpasswordUncheckedCreateWithoutUserInput> | forgetpasswordCreateWithoutUserInput[] | forgetpasswordUncheckedCreateWithoutUserInput[]
    connectOrCreate?: forgetpasswordCreateOrConnectWithoutUserInput | forgetpasswordCreateOrConnectWithoutUserInput[]
    upsert?: forgetpasswordUpsertWithWhereUniqueWithoutUserInput | forgetpasswordUpsertWithWhereUniqueWithoutUserInput[]
    createMany?: forgetpasswordCreateManyUserInputEnvelope
    set?: forgetpasswordWhereUniqueInput | forgetpasswordWhereUniqueInput[]
    disconnect?: forgetpasswordWhereUniqueInput | forgetpasswordWhereUniqueInput[]
    delete?: forgetpasswordWhereUniqueInput | forgetpasswordWhereUniqueInput[]
    connect?: forgetpasswordWhereUniqueInput | forgetpasswordWhereUniqueInput[]
    update?: forgetpasswordUpdateWithWhereUniqueWithoutUserInput | forgetpasswordUpdateWithWhereUniqueWithoutUserInput[]
    updateMany?: forgetpasswordUpdateManyWithWhereWithoutUserInput | forgetpasswordUpdateManyWithWhereWithoutUserInput[]
    deleteMany?: forgetpasswordScalarWhereInput | forgetpasswordScalarWhereInput[]
  }

  export type userCreateNestedOneWithoutForgetpasswordInput = {
    create?: XOR<userCreateWithoutForgetpasswordInput, userUncheckedCreateWithoutForgetpasswordInput>
    connectOrCreate?: userCreateOrConnectWithoutForgetpasswordInput
    connect?: userWhereUniqueInput
  }

  export type userUpdateOneRequiredWithoutForgetpasswordNestedInput = {
    create?: XOR<userCreateWithoutForgetpasswordInput, userUncheckedCreateWithoutForgetpasswordInput>
    connectOrCreate?: userCreateOrConnectWithoutForgetpasswordInput
    upsert?: userUpsertWithoutForgetpasswordInput
    connect?: userWhereUniqueInput
    update?: XOR<XOR<userUpdateToOneWithWhereWithoutForgetpasswordInput, userUpdateWithoutForgetpasswordInput>, userUncheckedUpdateWithoutForgetpasswordInput>
  }

  export type userCreateNestedManyWithoutProfileInput = {
    create?: XOR<userCreateWithoutProfileInput, userUncheckedCreateWithoutProfileInput> | userCreateWithoutProfileInput[] | userUncheckedCreateWithoutProfileInput[]
    connectOrCreate?: userCreateOrConnectWithoutProfileInput | userCreateOrConnectWithoutProfileInput[]
    createMany?: userCreateManyProfileInputEnvelope
    connect?: userWhereUniqueInput | userWhereUniqueInput[]
  }

  export type userUncheckedCreateNestedManyWithoutProfileInput = {
    create?: XOR<userCreateWithoutProfileInput, userUncheckedCreateWithoutProfileInput> | userCreateWithoutProfileInput[] | userUncheckedCreateWithoutProfileInput[]
    connectOrCreate?: userCreateOrConnectWithoutProfileInput | userCreateOrConnectWithoutProfileInput[]
    createMany?: userCreateManyProfileInputEnvelope
    connect?: userWhereUniqueInput | userWhereUniqueInput[]
  }

  export type userUpdateManyWithoutProfileNestedInput = {
    create?: XOR<userCreateWithoutProfileInput, userUncheckedCreateWithoutProfileInput> | userCreateWithoutProfileInput[] | userUncheckedCreateWithoutProfileInput[]
    connectOrCreate?: userCreateOrConnectWithoutProfileInput | userCreateOrConnectWithoutProfileInput[]
    upsert?: userUpsertWithWhereUniqueWithoutProfileInput | userUpsertWithWhereUniqueWithoutProfileInput[]
    createMany?: userCreateManyProfileInputEnvelope
    set?: userWhereUniqueInput | userWhereUniqueInput[]
    disconnect?: userWhereUniqueInput | userWhereUniqueInput[]
    delete?: userWhereUniqueInput | userWhereUniqueInput[]
    connect?: userWhereUniqueInput | userWhereUniqueInput[]
    update?: userUpdateWithWhereUniqueWithoutProfileInput | userUpdateWithWhereUniqueWithoutProfileInput[]
    updateMany?: userUpdateManyWithWhereWithoutProfileInput | userUpdateManyWithWhereWithoutProfileInput[]
    deleteMany?: userScalarWhereInput | userScalarWhereInput[]
  }

  export type userUncheckedUpdateManyWithoutProfileNestedInput = {
    create?: XOR<userCreateWithoutProfileInput, userUncheckedCreateWithoutProfileInput> | userCreateWithoutProfileInput[] | userUncheckedCreateWithoutProfileInput[]
    connectOrCreate?: userCreateOrConnectWithoutProfileInput | userCreateOrConnectWithoutProfileInput[]
    upsert?: userUpsertWithWhereUniqueWithoutProfileInput | userUpsertWithWhereUniqueWithoutProfileInput[]
    createMany?: userCreateManyProfileInputEnvelope
    set?: userWhereUniqueInput | userWhereUniqueInput[]
    disconnect?: userWhereUniqueInput | userWhereUniqueInput[]
    delete?: userWhereUniqueInput | userWhereUniqueInput[]
    connect?: userWhereUniqueInput | userWhereUniqueInput[]
    update?: userUpdateWithWhereUniqueWithoutProfileInput | userUpdateWithWhereUniqueWithoutProfileInput[]
    updateMany?: userUpdateManyWithWhereWithoutProfileInput | userUpdateManyWithWhereWithoutProfileInput[]
    deleteMany?: userScalarWhereInput | userScalarWhereInput[]
  }

  export type entrevistaDiagnosticoCreateNestedManyWithoutCheckinvisitaInput = {
    create?: XOR<entrevistaDiagnosticoCreateWithoutCheckinvisitaInput, entrevistaDiagnosticoUncheckedCreateWithoutCheckinvisitaInput> | entrevistaDiagnosticoCreateWithoutCheckinvisitaInput[] | entrevistaDiagnosticoUncheckedCreateWithoutCheckinvisitaInput[]
    connectOrCreate?: entrevistaDiagnosticoCreateOrConnectWithoutCheckinvisitaInput | entrevistaDiagnosticoCreateOrConnectWithoutCheckinvisitaInput[]
    createMany?: entrevistaDiagnosticoCreateManyCheckinvisitaInputEnvelope
    connect?: entrevistaDiagnosticoWhereUniqueInput | entrevistaDiagnosticoWhereUniqueInput[]
  }

  export type cadastropfCreateNestedManyWithoutCheckinvisitaInput = {
    create?: XOR<cadastropfCreateWithoutCheckinvisitaInput, cadastropfUncheckedCreateWithoutCheckinvisitaInput> | cadastropfCreateWithoutCheckinvisitaInput[] | cadastropfUncheckedCreateWithoutCheckinvisitaInput[]
    connectOrCreate?: cadastropfCreateOrConnectWithoutCheckinvisitaInput | cadastropfCreateOrConnectWithoutCheckinvisitaInput[]
    createMany?: cadastropfCreateManyCheckinvisitaInputEnvelope
    connect?: cadastropfWhereUniqueInput | cadastropfWhereUniqueInput[]
  }

  export type cadastropjCreateNestedManyWithoutCheckinvisitaInput = {
    create?: XOR<cadastropjCreateWithoutCheckinvisitaInput, cadastropjUncheckedCreateWithoutCheckinvisitaInput> | cadastropjCreateWithoutCheckinvisitaInput[] | cadastropjUncheckedCreateWithoutCheckinvisitaInput[]
    connectOrCreate?: cadastropjCreateOrConnectWithoutCheckinvisitaInput | cadastropjCreateOrConnectWithoutCheckinvisitaInput[]
    createMany?: cadastropjCreateManyCheckinvisitaInputEnvelope
    connect?: cadastropjWhereUniqueInput | cadastropjWhereUniqueInput[]
  }

  export type planoacaoCreateNestedManyWithoutCheckinvisitaInput = {
    create?: XOR<planoacaoCreateWithoutCheckinvisitaInput, planoacaoUncheckedCreateWithoutCheckinvisitaInput> | planoacaoCreateWithoutCheckinvisitaInput[] | planoacaoUncheckedCreateWithoutCheckinvisitaInput[]
    connectOrCreate?: planoacaoCreateOrConnectWithoutCheckinvisitaInput | planoacaoCreateOrConnectWithoutCheckinvisitaInput[]
    createMany?: planoacaoCreateManyCheckinvisitaInputEnvelope
    connect?: planoacaoWhereUniqueInput | planoacaoWhereUniqueInput[]
  }

  export type assinaturadigitalCreateNestedManyWithoutCheckinvisitaInput = {
    create?: XOR<assinaturadigitalCreateWithoutCheckinvisitaInput, assinaturadigitalUncheckedCreateWithoutCheckinvisitaInput> | assinaturadigitalCreateWithoutCheckinvisitaInput[] | assinaturadigitalUncheckedCreateWithoutCheckinvisitaInput[]
    connectOrCreate?: assinaturadigitalCreateOrConnectWithoutCheckinvisitaInput | assinaturadigitalCreateOrConnectWithoutCheckinvisitaInput[]
    createMany?: assinaturadigitalCreateManyCheckinvisitaInputEnvelope
    connect?: assinaturadigitalWhereUniqueInput | assinaturadigitalWhereUniqueInput[]
  }

  export type checkoutCreateNestedManyWithoutCheckinvisitaInput = {
    create?: XOR<checkoutCreateWithoutCheckinvisitaInput, checkoutUncheckedCreateWithoutCheckinvisitaInput> | checkoutCreateWithoutCheckinvisitaInput[] | checkoutUncheckedCreateWithoutCheckinvisitaInput[]
    connectOrCreate?: checkoutCreateOrConnectWithoutCheckinvisitaInput | checkoutCreateOrConnectWithoutCheckinvisitaInput[]
    createMany?: checkoutCreateManyCheckinvisitaInputEnvelope
    connect?: checkoutWhereUniqueInput | checkoutWhereUniqueInput[]
  }

  export type recordingsCreateNestedManyWithoutCheckinvisitaInput = {
    create?: XOR<recordingsCreateWithoutCheckinvisitaInput, recordingsUncheckedCreateWithoutCheckinvisitaInput> | recordingsCreateWithoutCheckinvisitaInput[] | recordingsUncheckedCreateWithoutCheckinvisitaInput[]
    connectOrCreate?: recordingsCreateOrConnectWithoutCheckinvisitaInput | recordingsCreateOrConnectWithoutCheckinvisitaInput[]
    createMany?: recordingsCreateManyCheckinvisitaInputEnvelope
    connect?: recordingsWhereUniqueInput | recordingsWhereUniqueInput[]
  }

  export type entrevistaDiagnosticoUncheckedCreateNestedManyWithoutCheckinvisitaInput = {
    create?: XOR<entrevistaDiagnosticoCreateWithoutCheckinvisitaInput, entrevistaDiagnosticoUncheckedCreateWithoutCheckinvisitaInput> | entrevistaDiagnosticoCreateWithoutCheckinvisitaInput[] | entrevistaDiagnosticoUncheckedCreateWithoutCheckinvisitaInput[]
    connectOrCreate?: entrevistaDiagnosticoCreateOrConnectWithoutCheckinvisitaInput | entrevistaDiagnosticoCreateOrConnectWithoutCheckinvisitaInput[]
    createMany?: entrevistaDiagnosticoCreateManyCheckinvisitaInputEnvelope
    connect?: entrevistaDiagnosticoWhereUniqueInput | entrevistaDiagnosticoWhereUniqueInput[]
  }

  export type cadastropfUncheckedCreateNestedManyWithoutCheckinvisitaInput = {
    create?: XOR<cadastropfCreateWithoutCheckinvisitaInput, cadastropfUncheckedCreateWithoutCheckinvisitaInput> | cadastropfCreateWithoutCheckinvisitaInput[] | cadastropfUncheckedCreateWithoutCheckinvisitaInput[]
    connectOrCreate?: cadastropfCreateOrConnectWithoutCheckinvisitaInput | cadastropfCreateOrConnectWithoutCheckinvisitaInput[]
    createMany?: cadastropfCreateManyCheckinvisitaInputEnvelope
    connect?: cadastropfWhereUniqueInput | cadastropfWhereUniqueInput[]
  }

  export type cadastropjUncheckedCreateNestedManyWithoutCheckinvisitaInput = {
    create?: XOR<cadastropjCreateWithoutCheckinvisitaInput, cadastropjUncheckedCreateWithoutCheckinvisitaInput> | cadastropjCreateWithoutCheckinvisitaInput[] | cadastropjUncheckedCreateWithoutCheckinvisitaInput[]
    connectOrCreate?: cadastropjCreateOrConnectWithoutCheckinvisitaInput | cadastropjCreateOrConnectWithoutCheckinvisitaInput[]
    createMany?: cadastropjCreateManyCheckinvisitaInputEnvelope
    connect?: cadastropjWhereUniqueInput | cadastropjWhereUniqueInput[]
  }

  export type planoacaoUncheckedCreateNestedManyWithoutCheckinvisitaInput = {
    create?: XOR<planoacaoCreateWithoutCheckinvisitaInput, planoacaoUncheckedCreateWithoutCheckinvisitaInput> | planoacaoCreateWithoutCheckinvisitaInput[] | planoacaoUncheckedCreateWithoutCheckinvisitaInput[]
    connectOrCreate?: planoacaoCreateOrConnectWithoutCheckinvisitaInput | planoacaoCreateOrConnectWithoutCheckinvisitaInput[]
    createMany?: planoacaoCreateManyCheckinvisitaInputEnvelope
    connect?: planoacaoWhereUniqueInput | planoacaoWhereUniqueInput[]
  }

  export type assinaturadigitalUncheckedCreateNestedManyWithoutCheckinvisitaInput = {
    create?: XOR<assinaturadigitalCreateWithoutCheckinvisitaInput, assinaturadigitalUncheckedCreateWithoutCheckinvisitaInput> | assinaturadigitalCreateWithoutCheckinvisitaInput[] | assinaturadigitalUncheckedCreateWithoutCheckinvisitaInput[]
    connectOrCreate?: assinaturadigitalCreateOrConnectWithoutCheckinvisitaInput | assinaturadigitalCreateOrConnectWithoutCheckinvisitaInput[]
    createMany?: assinaturadigitalCreateManyCheckinvisitaInputEnvelope
    connect?: assinaturadigitalWhereUniqueInput | assinaturadigitalWhereUniqueInput[]
  }

  export type checkoutUncheckedCreateNestedManyWithoutCheckinvisitaInput = {
    create?: XOR<checkoutCreateWithoutCheckinvisitaInput, checkoutUncheckedCreateWithoutCheckinvisitaInput> | checkoutCreateWithoutCheckinvisitaInput[] | checkoutUncheckedCreateWithoutCheckinvisitaInput[]
    connectOrCreate?: checkoutCreateOrConnectWithoutCheckinvisitaInput | checkoutCreateOrConnectWithoutCheckinvisitaInput[]
    createMany?: checkoutCreateManyCheckinvisitaInputEnvelope
    connect?: checkoutWhereUniqueInput | checkoutWhereUniqueInput[]
  }

  export type recordingsUncheckedCreateNestedManyWithoutCheckinvisitaInput = {
    create?: XOR<recordingsCreateWithoutCheckinvisitaInput, recordingsUncheckedCreateWithoutCheckinvisitaInput> | recordingsCreateWithoutCheckinvisitaInput[] | recordingsUncheckedCreateWithoutCheckinvisitaInput[]
    connectOrCreate?: recordingsCreateOrConnectWithoutCheckinvisitaInput | recordingsCreateOrConnectWithoutCheckinvisitaInput[]
    createMany?: recordingsCreateManyCheckinvisitaInputEnvelope
    connect?: recordingsWhereUniqueInput | recordingsWhereUniqueInput[]
  }

  export type NullableDateTimeFieldUpdateOperationsInput = {
    set?: Date | string | null
  }

  export type NullableEnumTipoCadastroFieldUpdateOperationsInput = {
    set?: $Enums.TipoCadastro | null
  }

  export type entrevistaDiagnosticoUpdateManyWithoutCheckinvisitaNestedInput = {
    create?: XOR<entrevistaDiagnosticoCreateWithoutCheckinvisitaInput, entrevistaDiagnosticoUncheckedCreateWithoutCheckinvisitaInput> | entrevistaDiagnosticoCreateWithoutCheckinvisitaInput[] | entrevistaDiagnosticoUncheckedCreateWithoutCheckinvisitaInput[]
    connectOrCreate?: entrevistaDiagnosticoCreateOrConnectWithoutCheckinvisitaInput | entrevistaDiagnosticoCreateOrConnectWithoutCheckinvisitaInput[]
    upsert?: entrevistaDiagnosticoUpsertWithWhereUniqueWithoutCheckinvisitaInput | entrevistaDiagnosticoUpsertWithWhereUniqueWithoutCheckinvisitaInput[]
    createMany?: entrevistaDiagnosticoCreateManyCheckinvisitaInputEnvelope
    set?: entrevistaDiagnosticoWhereUniqueInput | entrevistaDiagnosticoWhereUniqueInput[]
    disconnect?: entrevistaDiagnosticoWhereUniqueInput | entrevistaDiagnosticoWhereUniqueInput[]
    delete?: entrevistaDiagnosticoWhereUniqueInput | entrevistaDiagnosticoWhereUniqueInput[]
    connect?: entrevistaDiagnosticoWhereUniqueInput | entrevistaDiagnosticoWhereUniqueInput[]
    update?: entrevistaDiagnosticoUpdateWithWhereUniqueWithoutCheckinvisitaInput | entrevistaDiagnosticoUpdateWithWhereUniqueWithoutCheckinvisitaInput[]
    updateMany?: entrevistaDiagnosticoUpdateManyWithWhereWithoutCheckinvisitaInput | entrevistaDiagnosticoUpdateManyWithWhereWithoutCheckinvisitaInput[]
    deleteMany?: entrevistaDiagnosticoScalarWhereInput | entrevistaDiagnosticoScalarWhereInput[]
  }

  export type cadastropfUpdateManyWithoutCheckinvisitaNestedInput = {
    create?: XOR<cadastropfCreateWithoutCheckinvisitaInput, cadastropfUncheckedCreateWithoutCheckinvisitaInput> | cadastropfCreateWithoutCheckinvisitaInput[] | cadastropfUncheckedCreateWithoutCheckinvisitaInput[]
    connectOrCreate?: cadastropfCreateOrConnectWithoutCheckinvisitaInput | cadastropfCreateOrConnectWithoutCheckinvisitaInput[]
    upsert?: cadastropfUpsertWithWhereUniqueWithoutCheckinvisitaInput | cadastropfUpsertWithWhereUniqueWithoutCheckinvisitaInput[]
    createMany?: cadastropfCreateManyCheckinvisitaInputEnvelope
    set?: cadastropfWhereUniqueInput | cadastropfWhereUniqueInput[]
    disconnect?: cadastropfWhereUniqueInput | cadastropfWhereUniqueInput[]
    delete?: cadastropfWhereUniqueInput | cadastropfWhereUniqueInput[]
    connect?: cadastropfWhereUniqueInput | cadastropfWhereUniqueInput[]
    update?: cadastropfUpdateWithWhereUniqueWithoutCheckinvisitaInput | cadastropfUpdateWithWhereUniqueWithoutCheckinvisitaInput[]
    updateMany?: cadastropfUpdateManyWithWhereWithoutCheckinvisitaInput | cadastropfUpdateManyWithWhereWithoutCheckinvisitaInput[]
    deleteMany?: cadastropfScalarWhereInput | cadastropfScalarWhereInput[]
  }

  export type cadastropjUpdateManyWithoutCheckinvisitaNestedInput = {
    create?: XOR<cadastropjCreateWithoutCheckinvisitaInput, cadastropjUncheckedCreateWithoutCheckinvisitaInput> | cadastropjCreateWithoutCheckinvisitaInput[] | cadastropjUncheckedCreateWithoutCheckinvisitaInput[]
    connectOrCreate?: cadastropjCreateOrConnectWithoutCheckinvisitaInput | cadastropjCreateOrConnectWithoutCheckinvisitaInput[]
    upsert?: cadastropjUpsertWithWhereUniqueWithoutCheckinvisitaInput | cadastropjUpsertWithWhereUniqueWithoutCheckinvisitaInput[]
    createMany?: cadastropjCreateManyCheckinvisitaInputEnvelope
    set?: cadastropjWhereUniqueInput | cadastropjWhereUniqueInput[]
    disconnect?: cadastropjWhereUniqueInput | cadastropjWhereUniqueInput[]
    delete?: cadastropjWhereUniqueInput | cadastropjWhereUniqueInput[]
    connect?: cadastropjWhereUniqueInput | cadastropjWhereUniqueInput[]
    update?: cadastropjUpdateWithWhereUniqueWithoutCheckinvisitaInput | cadastropjUpdateWithWhereUniqueWithoutCheckinvisitaInput[]
    updateMany?: cadastropjUpdateManyWithWhereWithoutCheckinvisitaInput | cadastropjUpdateManyWithWhereWithoutCheckinvisitaInput[]
    deleteMany?: cadastropjScalarWhereInput | cadastropjScalarWhereInput[]
  }

  export type planoacaoUpdateManyWithoutCheckinvisitaNestedInput = {
    create?: XOR<planoacaoCreateWithoutCheckinvisitaInput, planoacaoUncheckedCreateWithoutCheckinvisitaInput> | planoacaoCreateWithoutCheckinvisitaInput[] | planoacaoUncheckedCreateWithoutCheckinvisitaInput[]
    connectOrCreate?: planoacaoCreateOrConnectWithoutCheckinvisitaInput | planoacaoCreateOrConnectWithoutCheckinvisitaInput[]
    upsert?: planoacaoUpsertWithWhereUniqueWithoutCheckinvisitaInput | planoacaoUpsertWithWhereUniqueWithoutCheckinvisitaInput[]
    createMany?: planoacaoCreateManyCheckinvisitaInputEnvelope
    set?: planoacaoWhereUniqueInput | planoacaoWhereUniqueInput[]
    disconnect?: planoacaoWhereUniqueInput | planoacaoWhereUniqueInput[]
    delete?: planoacaoWhereUniqueInput | planoacaoWhereUniqueInput[]
    connect?: planoacaoWhereUniqueInput | planoacaoWhereUniqueInput[]
    update?: planoacaoUpdateWithWhereUniqueWithoutCheckinvisitaInput | planoacaoUpdateWithWhereUniqueWithoutCheckinvisitaInput[]
    updateMany?: planoacaoUpdateManyWithWhereWithoutCheckinvisitaInput | planoacaoUpdateManyWithWhereWithoutCheckinvisitaInput[]
    deleteMany?: planoacaoScalarWhereInput | planoacaoScalarWhereInput[]
  }

  export type assinaturadigitalUpdateManyWithoutCheckinvisitaNestedInput = {
    create?: XOR<assinaturadigitalCreateWithoutCheckinvisitaInput, assinaturadigitalUncheckedCreateWithoutCheckinvisitaInput> | assinaturadigitalCreateWithoutCheckinvisitaInput[] | assinaturadigitalUncheckedCreateWithoutCheckinvisitaInput[]
    connectOrCreate?: assinaturadigitalCreateOrConnectWithoutCheckinvisitaInput | assinaturadigitalCreateOrConnectWithoutCheckinvisitaInput[]
    upsert?: assinaturadigitalUpsertWithWhereUniqueWithoutCheckinvisitaInput | assinaturadigitalUpsertWithWhereUniqueWithoutCheckinvisitaInput[]
    createMany?: assinaturadigitalCreateManyCheckinvisitaInputEnvelope
    set?: assinaturadigitalWhereUniqueInput | assinaturadigitalWhereUniqueInput[]
    disconnect?: assinaturadigitalWhereUniqueInput | assinaturadigitalWhereUniqueInput[]
    delete?: assinaturadigitalWhereUniqueInput | assinaturadigitalWhereUniqueInput[]
    connect?: assinaturadigitalWhereUniqueInput | assinaturadigitalWhereUniqueInput[]
    update?: assinaturadigitalUpdateWithWhereUniqueWithoutCheckinvisitaInput | assinaturadigitalUpdateWithWhereUniqueWithoutCheckinvisitaInput[]
    updateMany?: assinaturadigitalUpdateManyWithWhereWithoutCheckinvisitaInput | assinaturadigitalUpdateManyWithWhereWithoutCheckinvisitaInput[]
    deleteMany?: assinaturadigitalScalarWhereInput | assinaturadigitalScalarWhereInput[]
  }

  export type checkoutUpdateManyWithoutCheckinvisitaNestedInput = {
    create?: XOR<checkoutCreateWithoutCheckinvisitaInput, checkoutUncheckedCreateWithoutCheckinvisitaInput> | checkoutCreateWithoutCheckinvisitaInput[] | checkoutUncheckedCreateWithoutCheckinvisitaInput[]
    connectOrCreate?: checkoutCreateOrConnectWithoutCheckinvisitaInput | checkoutCreateOrConnectWithoutCheckinvisitaInput[]
    upsert?: checkoutUpsertWithWhereUniqueWithoutCheckinvisitaInput | checkoutUpsertWithWhereUniqueWithoutCheckinvisitaInput[]
    createMany?: checkoutCreateManyCheckinvisitaInputEnvelope
    set?: checkoutWhereUniqueInput | checkoutWhereUniqueInput[]
    disconnect?: checkoutWhereUniqueInput | checkoutWhereUniqueInput[]
    delete?: checkoutWhereUniqueInput | checkoutWhereUniqueInput[]
    connect?: checkoutWhereUniqueInput | checkoutWhereUniqueInput[]
    update?: checkoutUpdateWithWhereUniqueWithoutCheckinvisitaInput | checkoutUpdateWithWhereUniqueWithoutCheckinvisitaInput[]
    updateMany?: checkoutUpdateManyWithWhereWithoutCheckinvisitaInput | checkoutUpdateManyWithWhereWithoutCheckinvisitaInput[]
    deleteMany?: checkoutScalarWhereInput | checkoutScalarWhereInput[]
  }

  export type recordingsUpdateManyWithoutCheckinvisitaNestedInput = {
    create?: XOR<recordingsCreateWithoutCheckinvisitaInput, recordingsUncheckedCreateWithoutCheckinvisitaInput> | recordingsCreateWithoutCheckinvisitaInput[] | recordingsUncheckedCreateWithoutCheckinvisitaInput[]
    connectOrCreate?: recordingsCreateOrConnectWithoutCheckinvisitaInput | recordingsCreateOrConnectWithoutCheckinvisitaInput[]
    upsert?: recordingsUpsertWithWhereUniqueWithoutCheckinvisitaInput | recordingsUpsertWithWhereUniqueWithoutCheckinvisitaInput[]
    createMany?: recordingsCreateManyCheckinvisitaInputEnvelope
    set?: recordingsWhereUniqueInput | recordingsWhereUniqueInput[]
    disconnect?: recordingsWhereUniqueInput | recordingsWhereUniqueInput[]
    delete?: recordingsWhereUniqueInput | recordingsWhereUniqueInput[]
    connect?: recordingsWhereUniqueInput | recordingsWhereUniqueInput[]
    update?: recordingsUpdateWithWhereUniqueWithoutCheckinvisitaInput | recordingsUpdateWithWhereUniqueWithoutCheckinvisitaInput[]
    updateMany?: recordingsUpdateManyWithWhereWithoutCheckinvisitaInput | recordingsUpdateManyWithWhereWithoutCheckinvisitaInput[]
    deleteMany?: recordingsScalarWhereInput | recordingsScalarWhereInput[]
  }

  export type entrevistaDiagnosticoUncheckedUpdateManyWithoutCheckinvisitaNestedInput = {
    create?: XOR<entrevistaDiagnosticoCreateWithoutCheckinvisitaInput, entrevistaDiagnosticoUncheckedCreateWithoutCheckinvisitaInput> | entrevistaDiagnosticoCreateWithoutCheckinvisitaInput[] | entrevistaDiagnosticoUncheckedCreateWithoutCheckinvisitaInput[]
    connectOrCreate?: entrevistaDiagnosticoCreateOrConnectWithoutCheckinvisitaInput | entrevistaDiagnosticoCreateOrConnectWithoutCheckinvisitaInput[]
    upsert?: entrevistaDiagnosticoUpsertWithWhereUniqueWithoutCheckinvisitaInput | entrevistaDiagnosticoUpsertWithWhereUniqueWithoutCheckinvisitaInput[]
    createMany?: entrevistaDiagnosticoCreateManyCheckinvisitaInputEnvelope
    set?: entrevistaDiagnosticoWhereUniqueInput | entrevistaDiagnosticoWhereUniqueInput[]
    disconnect?: entrevistaDiagnosticoWhereUniqueInput | entrevistaDiagnosticoWhereUniqueInput[]
    delete?: entrevistaDiagnosticoWhereUniqueInput | entrevistaDiagnosticoWhereUniqueInput[]
    connect?: entrevistaDiagnosticoWhereUniqueInput | entrevistaDiagnosticoWhereUniqueInput[]
    update?: entrevistaDiagnosticoUpdateWithWhereUniqueWithoutCheckinvisitaInput | entrevistaDiagnosticoUpdateWithWhereUniqueWithoutCheckinvisitaInput[]
    updateMany?: entrevistaDiagnosticoUpdateManyWithWhereWithoutCheckinvisitaInput | entrevistaDiagnosticoUpdateManyWithWhereWithoutCheckinvisitaInput[]
    deleteMany?: entrevistaDiagnosticoScalarWhereInput | entrevistaDiagnosticoScalarWhereInput[]
  }

  export type cadastropfUncheckedUpdateManyWithoutCheckinvisitaNestedInput = {
    create?: XOR<cadastropfCreateWithoutCheckinvisitaInput, cadastropfUncheckedCreateWithoutCheckinvisitaInput> | cadastropfCreateWithoutCheckinvisitaInput[] | cadastropfUncheckedCreateWithoutCheckinvisitaInput[]
    connectOrCreate?: cadastropfCreateOrConnectWithoutCheckinvisitaInput | cadastropfCreateOrConnectWithoutCheckinvisitaInput[]
    upsert?: cadastropfUpsertWithWhereUniqueWithoutCheckinvisitaInput | cadastropfUpsertWithWhereUniqueWithoutCheckinvisitaInput[]
    createMany?: cadastropfCreateManyCheckinvisitaInputEnvelope
    set?: cadastropfWhereUniqueInput | cadastropfWhereUniqueInput[]
    disconnect?: cadastropfWhereUniqueInput | cadastropfWhereUniqueInput[]
    delete?: cadastropfWhereUniqueInput | cadastropfWhereUniqueInput[]
    connect?: cadastropfWhereUniqueInput | cadastropfWhereUniqueInput[]
    update?: cadastropfUpdateWithWhereUniqueWithoutCheckinvisitaInput | cadastropfUpdateWithWhereUniqueWithoutCheckinvisitaInput[]
    updateMany?: cadastropfUpdateManyWithWhereWithoutCheckinvisitaInput | cadastropfUpdateManyWithWhereWithoutCheckinvisitaInput[]
    deleteMany?: cadastropfScalarWhereInput | cadastropfScalarWhereInput[]
  }

  export type cadastropjUncheckedUpdateManyWithoutCheckinvisitaNestedInput = {
    create?: XOR<cadastropjCreateWithoutCheckinvisitaInput, cadastropjUncheckedCreateWithoutCheckinvisitaInput> | cadastropjCreateWithoutCheckinvisitaInput[] | cadastropjUncheckedCreateWithoutCheckinvisitaInput[]
    connectOrCreate?: cadastropjCreateOrConnectWithoutCheckinvisitaInput | cadastropjCreateOrConnectWithoutCheckinvisitaInput[]
    upsert?: cadastropjUpsertWithWhereUniqueWithoutCheckinvisitaInput | cadastropjUpsertWithWhereUniqueWithoutCheckinvisitaInput[]
    createMany?: cadastropjCreateManyCheckinvisitaInputEnvelope
    set?: cadastropjWhereUniqueInput | cadastropjWhereUniqueInput[]
    disconnect?: cadastropjWhereUniqueInput | cadastropjWhereUniqueInput[]
    delete?: cadastropjWhereUniqueInput | cadastropjWhereUniqueInput[]
    connect?: cadastropjWhereUniqueInput | cadastropjWhereUniqueInput[]
    update?: cadastropjUpdateWithWhereUniqueWithoutCheckinvisitaInput | cadastropjUpdateWithWhereUniqueWithoutCheckinvisitaInput[]
    updateMany?: cadastropjUpdateManyWithWhereWithoutCheckinvisitaInput | cadastropjUpdateManyWithWhereWithoutCheckinvisitaInput[]
    deleteMany?: cadastropjScalarWhereInput | cadastropjScalarWhereInput[]
  }

  export type planoacaoUncheckedUpdateManyWithoutCheckinvisitaNestedInput = {
    create?: XOR<planoacaoCreateWithoutCheckinvisitaInput, planoacaoUncheckedCreateWithoutCheckinvisitaInput> | planoacaoCreateWithoutCheckinvisitaInput[] | planoacaoUncheckedCreateWithoutCheckinvisitaInput[]
    connectOrCreate?: planoacaoCreateOrConnectWithoutCheckinvisitaInput | planoacaoCreateOrConnectWithoutCheckinvisitaInput[]
    upsert?: planoacaoUpsertWithWhereUniqueWithoutCheckinvisitaInput | planoacaoUpsertWithWhereUniqueWithoutCheckinvisitaInput[]
    createMany?: planoacaoCreateManyCheckinvisitaInputEnvelope
    set?: planoacaoWhereUniqueInput | planoacaoWhereUniqueInput[]
    disconnect?: planoacaoWhereUniqueInput | planoacaoWhereUniqueInput[]
    delete?: planoacaoWhereUniqueInput | planoacaoWhereUniqueInput[]
    connect?: planoacaoWhereUniqueInput | planoacaoWhereUniqueInput[]
    update?: planoacaoUpdateWithWhereUniqueWithoutCheckinvisitaInput | planoacaoUpdateWithWhereUniqueWithoutCheckinvisitaInput[]
    updateMany?: planoacaoUpdateManyWithWhereWithoutCheckinvisitaInput | planoacaoUpdateManyWithWhereWithoutCheckinvisitaInput[]
    deleteMany?: planoacaoScalarWhereInput | planoacaoScalarWhereInput[]
  }

  export type assinaturadigitalUncheckedUpdateManyWithoutCheckinvisitaNestedInput = {
    create?: XOR<assinaturadigitalCreateWithoutCheckinvisitaInput, assinaturadigitalUncheckedCreateWithoutCheckinvisitaInput> | assinaturadigitalCreateWithoutCheckinvisitaInput[] | assinaturadigitalUncheckedCreateWithoutCheckinvisitaInput[]
    connectOrCreate?: assinaturadigitalCreateOrConnectWithoutCheckinvisitaInput | assinaturadigitalCreateOrConnectWithoutCheckinvisitaInput[]
    upsert?: assinaturadigitalUpsertWithWhereUniqueWithoutCheckinvisitaInput | assinaturadigitalUpsertWithWhereUniqueWithoutCheckinvisitaInput[]
    createMany?: assinaturadigitalCreateManyCheckinvisitaInputEnvelope
    set?: assinaturadigitalWhereUniqueInput | assinaturadigitalWhereUniqueInput[]
    disconnect?: assinaturadigitalWhereUniqueInput | assinaturadigitalWhereUniqueInput[]
    delete?: assinaturadigitalWhereUniqueInput | assinaturadigitalWhereUniqueInput[]
    connect?: assinaturadigitalWhereUniqueInput | assinaturadigitalWhereUniqueInput[]
    update?: assinaturadigitalUpdateWithWhereUniqueWithoutCheckinvisitaInput | assinaturadigitalUpdateWithWhereUniqueWithoutCheckinvisitaInput[]
    updateMany?: assinaturadigitalUpdateManyWithWhereWithoutCheckinvisitaInput | assinaturadigitalUpdateManyWithWhereWithoutCheckinvisitaInput[]
    deleteMany?: assinaturadigitalScalarWhereInput | assinaturadigitalScalarWhereInput[]
  }

  export type checkoutUncheckedUpdateManyWithoutCheckinvisitaNestedInput = {
    create?: XOR<checkoutCreateWithoutCheckinvisitaInput, checkoutUncheckedCreateWithoutCheckinvisitaInput> | checkoutCreateWithoutCheckinvisitaInput[] | checkoutUncheckedCreateWithoutCheckinvisitaInput[]
    connectOrCreate?: checkoutCreateOrConnectWithoutCheckinvisitaInput | checkoutCreateOrConnectWithoutCheckinvisitaInput[]
    upsert?: checkoutUpsertWithWhereUniqueWithoutCheckinvisitaInput | checkoutUpsertWithWhereUniqueWithoutCheckinvisitaInput[]
    createMany?: checkoutCreateManyCheckinvisitaInputEnvelope
    set?: checkoutWhereUniqueInput | checkoutWhereUniqueInput[]
    disconnect?: checkoutWhereUniqueInput | checkoutWhereUniqueInput[]
    delete?: checkoutWhereUniqueInput | checkoutWhereUniqueInput[]
    connect?: checkoutWhereUniqueInput | checkoutWhereUniqueInput[]
    update?: checkoutUpdateWithWhereUniqueWithoutCheckinvisitaInput | checkoutUpdateWithWhereUniqueWithoutCheckinvisitaInput[]
    updateMany?: checkoutUpdateManyWithWhereWithoutCheckinvisitaInput | checkoutUpdateManyWithWhereWithoutCheckinvisitaInput[]
    deleteMany?: checkoutScalarWhereInput | checkoutScalarWhereInput[]
  }

  export type recordingsUncheckedUpdateManyWithoutCheckinvisitaNestedInput = {
    create?: XOR<recordingsCreateWithoutCheckinvisitaInput, recordingsUncheckedCreateWithoutCheckinvisitaInput> | recordingsCreateWithoutCheckinvisitaInput[] | recordingsUncheckedCreateWithoutCheckinvisitaInput[]
    connectOrCreate?: recordingsCreateOrConnectWithoutCheckinvisitaInput | recordingsCreateOrConnectWithoutCheckinvisitaInput[]
    upsert?: recordingsUpsertWithWhereUniqueWithoutCheckinvisitaInput | recordingsUpsertWithWhereUniqueWithoutCheckinvisitaInput[]
    createMany?: recordingsCreateManyCheckinvisitaInputEnvelope
    set?: recordingsWhereUniqueInput | recordingsWhereUniqueInput[]
    disconnect?: recordingsWhereUniqueInput | recordingsWhereUniqueInput[]
    delete?: recordingsWhereUniqueInput | recordingsWhereUniqueInput[]
    connect?: recordingsWhereUniqueInput | recordingsWhereUniqueInput[]
    update?: recordingsUpdateWithWhereUniqueWithoutCheckinvisitaInput | recordingsUpdateWithWhereUniqueWithoutCheckinvisitaInput[]
    updateMany?: recordingsUpdateManyWithWhereWithoutCheckinvisitaInput | recordingsUpdateManyWithWhereWithoutCheckinvisitaInput[]
    deleteMany?: recordingsScalarWhereInput | recordingsScalarWhereInput[]
  }

  export type checkinvisitaCreateNestedOneWithoutCadastropfInput = {
    create?: XOR<checkinvisitaCreateWithoutCadastropfInput, checkinvisitaUncheckedCreateWithoutCadastropfInput>
    connectOrCreate?: checkinvisitaCreateOrConnectWithoutCadastropfInput
    connect?: checkinvisitaWhereUniqueInput
  }

  export type NullableBoolFieldUpdateOperationsInput = {
    set?: boolean | null
  }

  export type checkinvisitaUpdateOneWithoutCadastropfNestedInput = {
    create?: XOR<checkinvisitaCreateWithoutCadastropfInput, checkinvisitaUncheckedCreateWithoutCadastropfInput>
    connectOrCreate?: checkinvisitaCreateOrConnectWithoutCadastropfInput
    upsert?: checkinvisitaUpsertWithoutCadastropfInput
    disconnect?: checkinvisitaWhereInput | boolean
    delete?: checkinvisitaWhereInput | boolean
    connect?: checkinvisitaWhereUniqueInput
    update?: XOR<XOR<checkinvisitaUpdateToOneWithWhereWithoutCadastropfInput, checkinvisitaUpdateWithoutCadastropfInput>, checkinvisitaUncheckedUpdateWithoutCadastropfInput>
  }

  export type checkinvisitaCreateNestedOneWithoutCadastropjInput = {
    create?: XOR<checkinvisitaCreateWithoutCadastropjInput, checkinvisitaUncheckedCreateWithoutCadastropjInput>
    connectOrCreate?: checkinvisitaCreateOrConnectWithoutCadastropjInput
    connect?: checkinvisitaWhereUniqueInput
  }

  export type checkinvisitaUpdateOneWithoutCadastropjNestedInput = {
    create?: XOR<checkinvisitaCreateWithoutCadastropjInput, checkinvisitaUncheckedCreateWithoutCadastropjInput>
    connectOrCreate?: checkinvisitaCreateOrConnectWithoutCadastropjInput
    upsert?: checkinvisitaUpsertWithoutCadastropjInput
    disconnect?: checkinvisitaWhereInput | boolean
    delete?: checkinvisitaWhereInput | boolean
    connect?: checkinvisitaWhereUniqueInput
    update?: XOR<XOR<checkinvisitaUpdateToOneWithWhereWithoutCadastropjInput, checkinvisitaUpdateWithoutCadastropjInput>, checkinvisitaUncheckedUpdateWithoutCadastropjInput>
  }

  export type checkinvisitaCreateNestedOneWithoutPlanoacaoInput = {
    create?: XOR<checkinvisitaCreateWithoutPlanoacaoInput, checkinvisitaUncheckedCreateWithoutPlanoacaoInput>
    connectOrCreate?: checkinvisitaCreateOrConnectWithoutPlanoacaoInput
    connect?: checkinvisitaWhereUniqueInput
  }

  export type checkinvisitaUpdateOneWithoutPlanoacaoNestedInput = {
    create?: XOR<checkinvisitaCreateWithoutPlanoacaoInput, checkinvisitaUncheckedCreateWithoutPlanoacaoInput>
    connectOrCreate?: checkinvisitaCreateOrConnectWithoutPlanoacaoInput
    upsert?: checkinvisitaUpsertWithoutPlanoacaoInput
    disconnect?: checkinvisitaWhereInput | boolean
    delete?: checkinvisitaWhereInput | boolean
    connect?: checkinvisitaWhereUniqueInput
    update?: XOR<XOR<checkinvisitaUpdateToOneWithWhereWithoutPlanoacaoInput, checkinvisitaUpdateWithoutPlanoacaoInput>, checkinvisitaUncheckedUpdateWithoutPlanoacaoInput>
  }

  export type checkinvisitaCreateNestedOneWithoutEntrevistaDiagnosticoInput = {
    create?: XOR<checkinvisitaCreateWithoutEntrevistaDiagnosticoInput, checkinvisitaUncheckedCreateWithoutEntrevistaDiagnosticoInput>
    connectOrCreate?: checkinvisitaCreateOrConnectWithoutEntrevistaDiagnosticoInput
    connect?: checkinvisitaWhereUniqueInput
  }

  export type NullableIntFieldUpdateOperationsInput = {
    set?: number | null
    increment?: number
    decrement?: number
    multiply?: number
    divide?: number
  }

  export type checkinvisitaUpdateOneWithoutEntrevistaDiagnosticoNestedInput = {
    create?: XOR<checkinvisitaCreateWithoutEntrevistaDiagnosticoInput, checkinvisitaUncheckedCreateWithoutEntrevistaDiagnosticoInput>
    connectOrCreate?: checkinvisitaCreateOrConnectWithoutEntrevistaDiagnosticoInput
    upsert?: checkinvisitaUpsertWithoutEntrevistaDiagnosticoInput
    disconnect?: checkinvisitaWhereInput | boolean
    delete?: checkinvisitaWhereInput | boolean
    connect?: checkinvisitaWhereUniqueInput
    update?: XOR<XOR<checkinvisitaUpdateToOneWithWhereWithoutEntrevistaDiagnosticoInput, checkinvisitaUpdateWithoutEntrevistaDiagnosticoInput>, checkinvisitaUncheckedUpdateWithoutEntrevistaDiagnosticoInput>
  }

  export type checkinvisitaCreateNestedOneWithoutAssinaturadigitalInput = {
    create?: XOR<checkinvisitaCreateWithoutAssinaturadigitalInput, checkinvisitaUncheckedCreateWithoutAssinaturadigitalInput>
    connectOrCreate?: checkinvisitaCreateOrConnectWithoutAssinaturadigitalInput
    connect?: checkinvisitaWhereUniqueInput
  }

  export type checkinvisitaUpdateOneWithoutAssinaturadigitalNestedInput = {
    create?: XOR<checkinvisitaCreateWithoutAssinaturadigitalInput, checkinvisitaUncheckedCreateWithoutAssinaturadigitalInput>
    connectOrCreate?: checkinvisitaCreateOrConnectWithoutAssinaturadigitalInput
    upsert?: checkinvisitaUpsertWithoutAssinaturadigitalInput
    disconnect?: checkinvisitaWhereInput | boolean
    delete?: checkinvisitaWhereInput | boolean
    connect?: checkinvisitaWhereUniqueInput
    update?: XOR<XOR<checkinvisitaUpdateToOneWithWhereWithoutAssinaturadigitalInput, checkinvisitaUpdateWithoutAssinaturadigitalInput>, checkinvisitaUncheckedUpdateWithoutAssinaturadigitalInput>
  }

  export type checkinvisitaCreateNestedOneWithoutCheckoutInput = {
    create?: XOR<checkinvisitaCreateWithoutCheckoutInput, checkinvisitaUncheckedCreateWithoutCheckoutInput>
    connectOrCreate?: checkinvisitaCreateOrConnectWithoutCheckoutInput
    connect?: checkinvisitaWhereUniqueInput
  }

  export type checkinvisitaUpdateOneWithoutCheckoutNestedInput = {
    create?: XOR<checkinvisitaCreateWithoutCheckoutInput, checkinvisitaUncheckedCreateWithoutCheckoutInput>
    connectOrCreate?: checkinvisitaCreateOrConnectWithoutCheckoutInput
    upsert?: checkinvisitaUpsertWithoutCheckoutInput
    disconnect?: checkinvisitaWhereInput | boolean
    delete?: checkinvisitaWhereInput | boolean
    connect?: checkinvisitaWhereUniqueInput
    update?: XOR<XOR<checkinvisitaUpdateToOneWithWhereWithoutCheckoutInput, checkinvisitaUpdateWithoutCheckoutInput>, checkinvisitaUncheckedUpdateWithoutCheckoutInput>
  }

  export type checkinvisitaCreateNestedOneWithoutRecordingsInput = {
    create?: XOR<checkinvisitaCreateWithoutRecordingsInput, checkinvisitaUncheckedCreateWithoutRecordingsInput>
    connectOrCreate?: checkinvisitaCreateOrConnectWithoutRecordingsInput
    connect?: checkinvisitaWhereUniqueInput
  }

  export type checkinvisitaUpdateOneWithoutRecordingsNestedInput = {
    create?: XOR<checkinvisitaCreateWithoutRecordingsInput, checkinvisitaUncheckedCreateWithoutRecordingsInput>
    connectOrCreate?: checkinvisitaCreateOrConnectWithoutRecordingsInput
    upsert?: checkinvisitaUpsertWithoutRecordingsInput
    disconnect?: checkinvisitaWhereInput | boolean
    delete?: checkinvisitaWhereInput | boolean
    connect?: checkinvisitaWhereUniqueInput
    update?: XOR<XOR<checkinvisitaUpdateToOneWithWhereWithoutRecordingsInput, checkinvisitaUpdateWithoutRecordingsInput>, checkinvisitaUncheckedUpdateWithoutRecordingsInput>
  }

  export type NestedStringFilter<$PrismaModel = never> = {
    equals?: string | StringFieldRefInput<$PrismaModel>
    in?: string[]
    notIn?: string[]
    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>
    search?: string
    not?: NestedStringFilter<$PrismaModel> | string
  }

  export type NestedEnumUserSexoFilter<$PrismaModel = never> = {
    equals?: $Enums.UserSexo | EnumUserSexoFieldRefInput<$PrismaModel>
    in?: $Enums.UserSexo[]
    notIn?: $Enums.UserSexo[]
    not?: NestedEnumUserSexoFilter<$PrismaModel> | $Enums.UserSexo
  }

  export type NestedStringNullableFilter<$PrismaModel = never> = {
    equals?: string | StringFieldRefInput<$PrismaModel> | null
    in?: string[] | null
    notIn?: string[] | 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>
    search?: string
    not?: NestedStringNullableFilter<$PrismaModel> | string | null
  }

  export type NestedBoolFilter<$PrismaModel = never> = {
    equals?: boolean | BooleanFieldRefInput<$PrismaModel>
    not?: NestedBoolFilter<$PrismaModel> | boolean
  }

  export type NestedDateTimeFilter<$PrismaModel = never> = {
    equals?: Date | string | DateTimeFieldRefInput<$PrismaModel>
    in?: Date[] | string[]
    notIn?: Date[] | string[]
    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[]
    notIn?: string[]
    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>
    search?: string
    not?: NestedStringWithAggregatesFilter<$PrismaModel> | string
    _count?: NestedIntFilter<$PrismaModel>
    _min?: NestedStringFilter<$PrismaModel>
    _max?: NestedStringFilter<$PrismaModel>
  }

  export type NestedIntFilter<$PrismaModel = never> = {
    equals?: number | IntFieldRefInput<$PrismaModel>
    in?: number[]
    notIn?: number[]
    lt?: number | IntFieldRefInput<$PrismaModel>
    lte?: number | IntFieldRefInput<$PrismaModel>
    gt?: number | IntFieldRefInput<$PrismaModel>
    gte?: number | IntFieldRefInput<$PrismaModel>
    not?: NestedIntFilter<$PrismaModel> | number
  }

  export type NestedEnumUserSexoWithAggregatesFilter<$PrismaModel = never> = {
    equals?: $Enums.UserSexo | EnumUserSexoFieldRefInput<$PrismaModel>
    in?: $Enums.UserSexo[]
    notIn?: $Enums.UserSexo[]
    not?: NestedEnumUserSexoWithAggregatesFilter<$PrismaModel> | $Enums.UserSexo
    _count?: NestedIntFilter<$PrismaModel>
    _min?: NestedEnumUserSexoFilter<$PrismaModel>
    _max?: NestedEnumUserSexoFilter<$PrismaModel>
  }

  export type NestedStringNullableWithAggregatesFilter<$PrismaModel = never> = {
    equals?: string | StringFieldRefInput<$PrismaModel> | null
    in?: string[] | null
    notIn?: string[] | 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>
    search?: string
    not?: NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null
    _count?: NestedIntNullableFilter<$PrismaModel>
    _min?: NestedStringNullableFilter<$PrismaModel>
    _max?: NestedStringNullableFilter<$PrismaModel>
  }

  export type NestedIntNullableFilter<$PrismaModel = never> = {
    equals?: number | IntFieldRefInput<$PrismaModel> | null
    in?: number[] | null
    notIn?: number[] | null
    lt?: number | IntFieldRefInput<$PrismaModel>
    lte?: number | IntFieldRefInput<$PrismaModel>
    gt?: number | IntFieldRefInput<$PrismaModel>
    gte?: number | IntFieldRefInput<$PrismaModel>
    not?: NestedIntNullableFilter<$PrismaModel> | number | null
  }

  export type NestedBoolWithAggregatesFilter<$PrismaModel = never> = {
    equals?: boolean | BooleanFieldRefInput<$PrismaModel>
    not?: NestedBoolWithAggregatesFilter<$PrismaModel> | boolean
    _count?: NestedIntFilter<$PrismaModel>
    _min?: NestedBoolFilter<$PrismaModel>
    _max?: NestedBoolFilter<$PrismaModel>
  }

  export type NestedDateTimeWithAggregatesFilter<$PrismaModel = never> = {
    equals?: Date | string | DateTimeFieldRefInput<$PrismaModel>
    in?: Date[] | string[]
    notIn?: Date[] | string[]
    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 NestedDateTimeNullableFilter<$PrismaModel = never> = {
    equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null
    in?: Date[] | string[] | null
    notIn?: Date[] | string[] | 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 NestedEnumTipoCadastroNullableFilter<$PrismaModel = never> = {
    equals?: $Enums.TipoCadastro | EnumTipoCadastroFieldRefInput<$PrismaModel> | null
    in?: $Enums.TipoCadastro[] | null
    notIn?: $Enums.TipoCadastro[] | null
    not?: NestedEnumTipoCadastroNullableFilter<$PrismaModel> | $Enums.TipoCadastro | null
  }

  export type NestedDateTimeNullableWithAggregatesFilter<$PrismaModel = never> = {
    equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null
    in?: Date[] | string[] | null
    notIn?: Date[] | string[] | 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 NestedEnumTipoCadastroNullableWithAggregatesFilter<$PrismaModel = never> = {
    equals?: $Enums.TipoCadastro | EnumTipoCadastroFieldRefInput<$PrismaModel> | null
    in?: $Enums.TipoCadastro[] | null
    notIn?: $Enums.TipoCadastro[] | null
    not?: NestedEnumTipoCadastroNullableWithAggregatesFilter<$PrismaModel> | $Enums.TipoCadastro | null
    _count?: NestedIntNullableFilter<$PrismaModel>
    _min?: NestedEnumTipoCadastroNullableFilter<$PrismaModel>
    _max?: NestedEnumTipoCadastroNullableFilter<$PrismaModel>
  }

  export type NestedBoolNullableFilter<$PrismaModel = never> = {
    equals?: boolean | BooleanFieldRefInput<$PrismaModel> | null
    not?: NestedBoolNullableFilter<$PrismaModel> | boolean | null
  }

  export type NestedBoolNullableWithAggregatesFilter<$PrismaModel = never> = {
    equals?: boolean | BooleanFieldRefInput<$PrismaModel> | null
    not?: NestedBoolNullableWithAggregatesFilter<$PrismaModel> | boolean | null
    _count?: NestedIntNullableFilter<$PrismaModel>
    _min?: NestedBoolNullableFilter<$PrismaModel>
    _max?: NestedBoolNullableFilter<$PrismaModel>
  }

  export type NestedIntNullableWithAggregatesFilter<$PrismaModel = never> = {
    equals?: number | IntFieldRefInput<$PrismaModel> | null
    in?: number[] | null
    notIn?: number[] | 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[] | null
    notIn?: number[] | null
    lt?: number | FloatFieldRefInput<$PrismaModel>
    lte?: number | FloatFieldRefInput<$PrismaModel>
    gt?: number | FloatFieldRefInput<$PrismaModel>
    gte?: number | FloatFieldRefInput<$PrismaModel>
    not?: NestedFloatNullableFilter<$PrismaModel> | number | null
  }

  export type profileCreateWithoutUserInput = {
    id?: string
    name: string
    active?: boolean
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type profileUncheckedCreateWithoutUserInput = {
    id?: string
    name: string
    active?: boolean
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type profileCreateOrConnectWithoutUserInput = {
    where: profileWhereUniqueInput
    create: XOR<profileCreateWithoutUserInput, profileUncheckedCreateWithoutUserInput>
  }

  export type forgetpasswordCreateWithoutUserInput = {
    id?: string
    token: string
    expiration: Date | string
    active?: boolean
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type forgetpasswordUncheckedCreateWithoutUserInput = {
    id?: string
    token: string
    expiration: Date | string
    active?: boolean
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type forgetpasswordCreateOrConnectWithoutUserInput = {
    where: forgetpasswordWhereUniqueInput
    create: XOR<forgetpasswordCreateWithoutUserInput, forgetpasswordUncheckedCreateWithoutUserInput>
  }

  export type forgetpasswordCreateManyUserInputEnvelope = {
    data: forgetpasswordCreateManyUserInput | forgetpasswordCreateManyUserInput[]
    skipDuplicates?: boolean
  }

  export type profileUpsertWithoutUserInput = {
    update: XOR<profileUpdateWithoutUserInput, profileUncheckedUpdateWithoutUserInput>
    create: XOR<profileCreateWithoutUserInput, profileUncheckedCreateWithoutUserInput>
    where?: profileWhereInput
  }

  export type profileUpdateToOneWithWhereWithoutUserInput = {
    where?: profileWhereInput
    data: XOR<profileUpdateWithoutUserInput, profileUncheckedUpdateWithoutUserInput>
  }

  export type profileUpdateWithoutUserInput = {
    id?: StringFieldUpdateOperationsInput | string
    name?: StringFieldUpdateOperationsInput | string
    active?: BoolFieldUpdateOperationsInput | boolean
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type profileUncheckedUpdateWithoutUserInput = {
    id?: StringFieldUpdateOperationsInput | string
    name?: StringFieldUpdateOperationsInput | string
    active?: BoolFieldUpdateOperationsInput | boolean
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type forgetpasswordUpsertWithWhereUniqueWithoutUserInput = {
    where: forgetpasswordWhereUniqueInput
    update: XOR<forgetpasswordUpdateWithoutUserInput, forgetpasswordUncheckedUpdateWithoutUserInput>
    create: XOR<forgetpasswordCreateWithoutUserInput, forgetpasswordUncheckedCreateWithoutUserInput>
  }

  export type forgetpasswordUpdateWithWhereUniqueWithoutUserInput = {
    where: forgetpasswordWhereUniqueInput
    data: XOR<forgetpasswordUpdateWithoutUserInput, forgetpasswordUncheckedUpdateWithoutUserInput>
  }

  export type forgetpasswordUpdateManyWithWhereWithoutUserInput = {
    where: forgetpasswordScalarWhereInput
    data: XOR<forgetpasswordUpdateManyMutationInput, forgetpasswordUncheckedUpdateManyWithoutUserInput>
  }

  export type forgetpasswordScalarWhereInput = {
    AND?: forgetpasswordScalarWhereInput | forgetpasswordScalarWhereInput[]
    OR?: forgetpasswordScalarWhereInput[]
    NOT?: forgetpasswordScalarWhereInput | forgetpasswordScalarWhereInput[]
    id?: StringFilter<"forgetpassword"> | string
    userId?: StringFilter<"forgetpassword"> | string
    token?: StringFilter<"forgetpassword"> | string
    expiration?: DateTimeFilter<"forgetpassword"> | Date | string
    active?: BoolFilter<"forgetpassword"> | boolean
    createdAt?: DateTimeFilter<"forgetpassword"> | Date | string
    updatedAt?: DateTimeFilter<"forgetpassword"> | Date | string
  }

  export type userCreateWithoutForgetpasswordInput = {
    id?: string
    name: string
    login: string
    password: string
    email: string
    cpf: string
    sexo?: $Enums.UserSexo
    datanasc?: string | null
    escolaridade?: string | null
    possuinomesocial?: boolean
    nomesocial?: string | null
    empresa?: string | null
    profileImage: string
    active?: boolean
    createdBy?: string | null
    createdAt?: Date | string
    updatedAt?: Date | string
    profile: profileCreateNestedOneWithoutUserInput
  }

  export type userUncheckedCreateWithoutForgetpasswordInput = {
    id?: string
    name: string
    login: string
    password: string
    email: string
    cpf: string
    sexo?: $Enums.UserSexo
    datanasc?: string | null
    escolaridade?: string | null
    possuinomesocial?: boolean
    nomesocial?: string | null
    empresa?: string | null
    profileImage: string
    profileId: string
    active?: boolean
    createdBy?: string | null
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type userCreateOrConnectWithoutForgetpasswordInput = {
    where: userWhereUniqueInput
    create: XOR<userCreateWithoutForgetpasswordInput, userUncheckedCreateWithoutForgetpasswordInput>
  }

  export type userUpsertWithoutForgetpasswordInput = {
    update: XOR<userUpdateWithoutForgetpasswordInput, userUncheckedUpdateWithoutForgetpasswordInput>
    create: XOR<userCreateWithoutForgetpasswordInput, userUncheckedCreateWithoutForgetpasswordInput>
    where?: userWhereInput
  }

  export type userUpdateToOneWithWhereWithoutForgetpasswordInput = {
    where?: userWhereInput
    data: XOR<userUpdateWithoutForgetpasswordInput, userUncheckedUpdateWithoutForgetpasswordInput>
  }

  export type userUpdateWithoutForgetpasswordInput = {
    id?: StringFieldUpdateOperationsInput | string
    name?: StringFieldUpdateOperationsInput | string
    login?: StringFieldUpdateOperationsInput | string
    password?: StringFieldUpdateOperationsInput | string
    email?: StringFieldUpdateOperationsInput | string
    cpf?: StringFieldUpdateOperationsInput | string
    sexo?: EnumUserSexoFieldUpdateOperationsInput | $Enums.UserSexo
    datanasc?: NullableStringFieldUpdateOperationsInput | string | null
    escolaridade?: NullableStringFieldUpdateOperationsInput | string | null
    possuinomesocial?: BoolFieldUpdateOperationsInput | boolean
    nomesocial?: NullableStringFieldUpdateOperationsInput | string | null
    empresa?: NullableStringFieldUpdateOperationsInput | string | null
    profileImage?: StringFieldUpdateOperationsInput | string
    active?: BoolFieldUpdateOperationsInput | boolean
    createdBy?: NullableStringFieldUpdateOperationsInput | string | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    profile?: profileUpdateOneRequiredWithoutUserNestedInput
  }

  export type userUncheckedUpdateWithoutForgetpasswordInput = {
    id?: StringFieldUpdateOperationsInput | string
    name?: StringFieldUpdateOperationsInput | string
    login?: StringFieldUpdateOperationsInput | string
    password?: StringFieldUpdateOperationsInput | string
    email?: StringFieldUpdateOperationsInput | string
    cpf?: StringFieldUpdateOperationsInput | string
    sexo?: EnumUserSexoFieldUpdateOperationsInput | $Enums.UserSexo
    datanasc?: NullableStringFieldUpdateOperationsInput | string | null
    escolaridade?: NullableStringFieldUpdateOperationsInput | string | null
    possuinomesocial?: BoolFieldUpdateOperationsInput | boolean
    nomesocial?: NullableStringFieldUpdateOperationsInput | string | null
    empresa?: NullableStringFieldUpdateOperationsInput | string | null
    profileImage?: StringFieldUpdateOperationsInput | string
    profileId?: StringFieldUpdateOperationsInput | string
    active?: BoolFieldUpdateOperationsInput | boolean
    createdBy?: NullableStringFieldUpdateOperationsInput | string | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type userCreateWithoutProfileInput = {
    id?: string
    name: string
    login: string
    password: string
    email: string
    cpf: string
    sexo?: $Enums.UserSexo
    datanasc?: string | null
    escolaridade?: string | null
    possuinomesocial?: boolean
    nomesocial?: string | null
    empresa?: string | null
    profileImage: string
    active?: boolean
    createdBy?: string | null
    createdAt?: Date | string
    updatedAt?: Date | string
    forgetpassword?: forgetpasswordCreateNestedManyWithoutUserInput
  }

  export type userUncheckedCreateWithoutProfileInput = {
    id?: string
    name: string
    login: string
    password: string
    email: string
    cpf: string
    sexo?: $Enums.UserSexo
    datanasc?: string | null
    escolaridade?: string | null
    possuinomesocial?: boolean
    nomesocial?: string | null
    empresa?: string | null
    profileImage: string
    active?: boolean
    createdBy?: string | null
    createdAt?: Date | string
    updatedAt?: Date | string
    forgetpassword?: forgetpasswordUncheckedCreateNestedManyWithoutUserInput
  }

  export type userCreateOrConnectWithoutProfileInput = {
    where: userWhereUniqueInput
    create: XOR<userCreateWithoutProfileInput, userUncheckedCreateWithoutProfileInput>
  }

  export type userCreateManyProfileInputEnvelope = {
    data: userCreateManyProfileInput | userCreateManyProfileInput[]
    skipDuplicates?: boolean
  }

  export type userUpsertWithWhereUniqueWithoutProfileInput = {
    where: userWhereUniqueInput
    update: XOR<userUpdateWithoutProfileInput, userUncheckedUpdateWithoutProfileInput>
    create: XOR<userCreateWithoutProfileInput, userUncheckedCreateWithoutProfileInput>
  }

  export type userUpdateWithWhereUniqueWithoutProfileInput = {
    where: userWhereUniqueInput
    data: XOR<userUpdateWithoutProfileInput, userUncheckedUpdateWithoutProfileInput>
  }

  export type userUpdateManyWithWhereWithoutProfileInput = {
    where: userScalarWhereInput
    data: XOR<userUpdateManyMutationInput, userUncheckedUpdateManyWithoutProfileInput>
  }

  export type userScalarWhereInput = {
    AND?: userScalarWhereInput | userScalarWhereInput[]
    OR?: userScalarWhereInput[]
    NOT?: userScalarWhereInput | userScalarWhereInput[]
    id?: StringFilter<"user"> | string
    name?: StringFilter<"user"> | string
    login?: StringFilter<"user"> | string
    password?: StringFilter<"user"> | string
    email?: StringFilter<"user"> | string
    cpf?: StringFilter<"user"> | string
    sexo?: EnumUserSexoFilter<"user"> | $Enums.UserSexo
    datanasc?: StringNullableFilter<"user"> | string | null
    escolaridade?: StringNullableFilter<"user"> | string | null
    possuinomesocial?: BoolFilter<"user"> | boolean
    nomesocial?: StringNullableFilter<"user"> | string | null
    empresa?: StringNullableFilter<"user"> | string | null
    profileImage?: StringFilter<"user"> | string
    profileId?: StringFilter<"user"> | string
    active?: BoolFilter<"user"> | boolean
    createdBy?: StringNullableFilter<"user"> | string | null
    createdAt?: DateTimeFilter<"user"> | Date | string
    updatedAt?: DateTimeFilter<"user"> | Date | string
  }

  export type entrevistaDiagnosticoCreateWithoutCheckinvisitaInput = {
    id?: string
    userId: string
    areaEscolhida: string
    formacao_preco_venda?: number | null
    credito_capital_giro?: number | null
    credito_expansao?: number | null
    controle_financeiro?: number | null
    outro_financas?: number | null
    divulgacao_ecommerce?: number | null
    visual_ponto_loja?: number | null
    atendimento_clientes?: number | null
    concorrencia?: number | null
    outro_marketing?: number | null
    selecao_pessoas?: number | null
    retencao_motivacao?: number | null
    outro_rh?: number | null
    caixa_edicao?: string | null
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type entrevistaDiagnosticoUncheckedCreateWithoutCheckinvisitaInput = {
    id?: string
    userId: string
    areaEscolhida: string
    formacao_preco_venda?: number | null
    credito_capital_giro?: number | null
    credito_expansao?: number | null
    controle_financeiro?: number | null
    outro_financas?: number | null
    divulgacao_ecommerce?: number | null
    visual_ponto_loja?: number | null
    atendimento_clientes?: number | null
    concorrencia?: number | null
    outro_marketing?: number | null
    selecao_pessoas?: number | null
    retencao_motivacao?: number | null
    outro_rh?: number | null
    caixa_edicao?: string | null
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type entrevistaDiagnosticoCreateOrConnectWithoutCheckinvisitaInput = {
    where: entrevistaDiagnosticoWhereUniqueInput
    create: XOR<entrevistaDiagnosticoCreateWithoutCheckinvisitaInput, entrevistaDiagnosticoUncheckedCreateWithoutCheckinvisitaInput>
  }

  export type entrevistaDiagnosticoCreateManyCheckinvisitaInputEnvelope = {
    data: entrevistaDiagnosticoCreateManyCheckinvisitaInput | entrevistaDiagnosticoCreateManyCheckinvisitaInput[]
    skipDuplicates?: boolean
  }

  export type cadastropfCreateWithoutCheckinvisitaInput = {
    id?: string
    nome: string
    cpf: string
    sexo: string
    possuinomesocial?: boolean | null
    nomesocial?: string | null
    datanasc: Date | string
    escolaridade: string
    possuideficiencia: boolean
    deficiencia?: string | null
    possuifuncionariocomdeficiencia?: boolean | null
    cep: string
    tipologradoro: string
    endereco: string
    numero: string
    complemento?: string | null
    bairro: string
    cidade: string
    estado: string
    aceitacontatopor: string
    telefone?: string | null
    celular?: string | null
    email?: string | null
    userId: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type cadastropfUncheckedCreateWithoutCheckinvisitaInput = {
    id?: string
    nome: string
    cpf: string
    sexo: string
    possuinomesocial?: boolean | null
    nomesocial?: string | null
    datanasc: Date | string
    escolaridade: string
    possuideficiencia: boolean
    deficiencia?: string | null
    possuifuncionariocomdeficiencia?: boolean | null
    cep: string
    tipologradoro: string
    endereco: string
    numero: string
    complemento?: string | null
    bairro: string
    cidade: string
    estado: string
    aceitacontatopor: string
    telefone?: string | null
    celular?: string | null
    email?: string | null
    userId: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type cadastropfCreateOrConnectWithoutCheckinvisitaInput = {
    where: cadastropfWhereUniqueInput
    create: XOR<cadastropfCreateWithoutCheckinvisitaInput, cadastropfUncheckedCreateWithoutCheckinvisitaInput>
  }

  export type cadastropfCreateManyCheckinvisitaInputEnvelope = {
    data: cadastropfCreateManyCheckinvisitaInput | cadastropfCreateManyCheckinvisitaInput[]
    skipDuplicates?: boolean
  }

  export type cadastropjCreateWithoutCheckinvisitaInput = {
    id?: string
    cnpj: string
    razaosocial: string
    nomefantasia: string
    faixadefaturamento: string
    datadeabertura: Date | string
    setor: string
    cnae: string
    cep: string
    tipologradoro: string
    endereco: string
    numero: string
    complemento?: string | null
    bairro: string
    cidade: string
    estado: string
    email?: string | null
    naotememail: boolean
    telefone: string
    celular: string
    whatsapp: string
    userId: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type cadastropjUncheckedCreateWithoutCheckinvisitaInput = {
    id?: string
    cnpj: string
    razaosocial: string
    nomefantasia: string
    faixadefaturamento: string
    datadeabertura: Date | string
    setor: string
    cnae: string
    cep: string
    tipologradoro: string
    endereco: string
    numero: string
    complemento?: string | null
    bairro: string
    cidade: string
    estado: string
    email?: string | null
    naotememail: boolean
    telefone: string
    celular: string
    whatsapp: string
    userId: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type cadastropjCreateOrConnectWithoutCheckinvisitaInput = {
    where: cadastropjWhereUniqueInput
    create: XOR<cadastropjCreateWithoutCheckinvisitaInput, cadastropjUncheckedCreateWithoutCheckinvisitaInput>
  }

  export type cadastropjCreateManyCheckinvisitaInputEnvelope = {
    data: cadastropjCreateManyCheckinvisitaInput | cadastropjCreateManyCheckinvisitaInput[]
    skipDuplicates?: boolean
  }

  export type planoacaoCreateWithoutCheckinvisitaInput = {
    id?: string
    userId: string
    planoAcao: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type planoacaoUncheckedCreateWithoutCheckinvisitaInput = {
    id?: string
    userId: string
    planoAcao: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type planoacaoCreateOrConnectWithoutCheckinvisitaInput = {
    where: planoacaoWhereUniqueInput
    create: XOR<planoacaoCreateWithoutCheckinvisitaInput, planoacaoUncheckedCreateWithoutCheckinvisitaInput>
  }

  export type planoacaoCreateManyCheckinvisitaInputEnvelope = {
    data: planoacaoCreateManyCheckinvisitaInput | planoacaoCreateManyCheckinvisitaInput[]
    skipDuplicates?: boolean
  }

  export type assinaturadigitalCreateWithoutCheckinvisitaInput = {
    id?: string
    assinaturaDigital: string
    userId: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type assinaturadigitalUncheckedCreateWithoutCheckinvisitaInput = {
    id?: string
    assinaturaDigital: string
    userId: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type assinaturadigitalCreateOrConnectWithoutCheckinvisitaInput = {
    where: assinaturadigitalWhereUniqueInput
    create: XOR<assinaturadigitalCreateWithoutCheckinvisitaInput, assinaturadigitalUncheckedCreateWithoutCheckinvisitaInput>
  }

  export type assinaturadigitalCreateManyCheckinvisitaInputEnvelope = {
    data: assinaturadigitalCreateManyCheckinvisitaInput | assinaturadigitalCreateManyCheckinvisitaInput[]
    skipDuplicates?: boolean
  }

  export type checkoutCreateWithoutCheckinvisitaInput = {
    id?: string
    interessePrograma: boolean
    horarioContato: string
    aceitaEmail: boolean
    deixouComentarios: boolean
    comentarios: string
    userId: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type checkoutUncheckedCreateWithoutCheckinvisitaInput = {
    id?: string
    interessePrograma: boolean
    horarioContato: string
    aceitaEmail: boolean
    deixouComentarios: boolean
    comentarios: string
    userId: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type checkoutCreateOrConnectWithoutCheckinvisitaInput = {
    where: checkoutWhereUniqueInput
    create: XOR<checkoutCreateWithoutCheckinvisitaInput, checkoutUncheckedCreateWithoutCheckinvisitaInput>
  }

  export type checkoutCreateManyCheckinvisitaInputEnvelope = {
    data: checkoutCreateManyCheckinvisitaInput | checkoutCreateManyCheckinvisitaInput[]
    skipDuplicates?: boolean
  }

  export type recordingsCreateWithoutCheckinvisitaInput = {
    id?: string
    title: string
    filename: string
    mimeType: string
    base64: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type recordingsUncheckedCreateWithoutCheckinvisitaInput = {
    id?: string
    title: string
    filename: string
    mimeType: string
    base64: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type recordingsCreateOrConnectWithoutCheckinvisitaInput = {
    where: recordingsWhereUniqueInput
    create: XOR<recordingsCreateWithoutCheckinvisitaInput, recordingsUncheckedCreateWithoutCheckinvisitaInput>
  }

  export type recordingsCreateManyCheckinvisitaInputEnvelope = {
    data: recordingsCreateManyCheckinvisitaInput | recordingsCreateManyCheckinvisitaInput[]
    skipDuplicates?: boolean
  }

  export type entrevistaDiagnosticoUpsertWithWhereUniqueWithoutCheckinvisitaInput = {
    where: entrevistaDiagnosticoWhereUniqueInput
    update: XOR<entrevistaDiagnosticoUpdateWithoutCheckinvisitaInput, entrevistaDiagnosticoUncheckedUpdateWithoutCheckinvisitaInput>
    create: XOR<entrevistaDiagnosticoCreateWithoutCheckinvisitaInput, entrevistaDiagnosticoUncheckedCreateWithoutCheckinvisitaInput>
  }

  export type entrevistaDiagnosticoUpdateWithWhereUniqueWithoutCheckinvisitaInput = {
    where: entrevistaDiagnosticoWhereUniqueInput
    data: XOR<entrevistaDiagnosticoUpdateWithoutCheckinvisitaInput, entrevistaDiagnosticoUncheckedUpdateWithoutCheckinvisitaInput>
  }

  export type entrevistaDiagnosticoUpdateManyWithWhereWithoutCheckinvisitaInput = {
    where: entrevistaDiagnosticoScalarWhereInput
    data: XOR<entrevistaDiagnosticoUpdateManyMutationInput, entrevistaDiagnosticoUncheckedUpdateManyWithoutCheckinvisitaInput>
  }

  export type entrevistaDiagnosticoScalarWhereInput = {
    AND?: entrevistaDiagnosticoScalarWhereInput | entrevistaDiagnosticoScalarWhereInput[]
    OR?: entrevistaDiagnosticoScalarWhereInput[]
    NOT?: entrevistaDiagnosticoScalarWhereInput | entrevistaDiagnosticoScalarWhereInput[]
    id?: StringFilter<"entrevistaDiagnostico"> | string
    userId?: StringFilter<"entrevistaDiagnostico"> | string
    areaEscolhida?: StringFilter<"entrevistaDiagnostico"> | string
    formacao_preco_venda?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    credito_capital_giro?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    credito_expansao?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    controle_financeiro?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    outro_financas?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    divulgacao_ecommerce?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    visual_ponto_loja?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    atendimento_clientes?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    concorrencia?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    outro_marketing?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    selecao_pessoas?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    retencao_motivacao?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    outro_rh?: IntNullableFilter<"entrevistaDiagnostico"> | number | null
    caixa_edicao?: StringNullableFilter<"entrevistaDiagnostico"> | string | null
    checkinvisitaId?: StringFilter<"entrevistaDiagnostico"> | string
    createdAt?: DateTimeFilter<"entrevistaDiagnostico"> | Date | string
    updatedAt?: DateTimeFilter<"entrevistaDiagnostico"> | Date | string
  }

  export type cadastropfUpsertWithWhereUniqueWithoutCheckinvisitaInput = {
    where: cadastropfWhereUniqueInput
    update: XOR<cadastropfUpdateWithoutCheckinvisitaInput, cadastropfUncheckedUpdateWithoutCheckinvisitaInput>
    create: XOR<cadastropfCreateWithoutCheckinvisitaInput, cadastropfUncheckedCreateWithoutCheckinvisitaInput>
  }

  export type cadastropfUpdateWithWhereUniqueWithoutCheckinvisitaInput = {
    where: cadastropfWhereUniqueInput
    data: XOR<cadastropfUpdateWithoutCheckinvisitaInput, cadastropfUncheckedUpdateWithoutCheckinvisitaInput>
  }

  export type cadastropfUpdateManyWithWhereWithoutCheckinvisitaInput = {
    where: cadastropfScalarWhereInput
    data: XOR<cadastropfUpdateManyMutationInput, cadastropfUncheckedUpdateManyWithoutCheckinvisitaInput>
  }

  export type cadastropfScalarWhereInput = {
    AND?: cadastropfScalarWhereInput | cadastropfScalarWhereInput[]
    OR?: cadastropfScalarWhereInput[]
    NOT?: cadastropfScalarWhereInput | cadastropfScalarWhereInput[]
    id?: StringFilter<"cadastropf"> | string
    nome?: StringFilter<"cadastropf"> | string
    cpf?: StringFilter<"cadastropf"> | string
    sexo?: StringFilter<"cadastropf"> | string
    possuinomesocial?: BoolNullableFilter<"cadastropf"> | boolean | null
    nomesocial?: StringNullableFilter<"cadastropf"> | string | null
    datanasc?: DateTimeFilter<"cadastropf"> | Date | string
    escolaridade?: StringFilter<"cadastropf"> | string
    possuideficiencia?: BoolFilter<"cadastropf"> | boolean
    deficiencia?: StringNullableFilter<"cadastropf"> | string | null
    possuifuncionariocomdeficiencia?: BoolNullableFilter<"cadastropf"> | boolean | null
    cep?: StringFilter<"cadastropf"> | string
    tipologradoro?: StringFilter<"cadastropf"> | string
    endereco?: StringFilter<"cadastropf"> | string
    numero?: StringFilter<"cadastropf"> | string
    complemento?: StringNullableFilter<"cadastropf"> | string | null
    bairro?: StringFilter<"cadastropf"> | string
    cidade?: StringFilter<"cadastropf"> | string
    estado?: StringFilter<"cadastropf"> | string
    aceitacontatopor?: StringFilter<"cadastropf"> | string
    telefone?: StringNullableFilter<"cadastropf"> | string | null
    celular?: StringNullableFilter<"cadastropf"> | string | null
    email?: StringNullableFilter<"cadastropf"> | string | null
    userId?: StringFilter<"cadastropf"> | string
    checkinvisitaId?: StringFilter<"cadastropf"> | string
    createdAt?: DateTimeFilter<"cadastropf"> | Date | string
    updatedAt?: DateTimeFilter<"cadastropf"> | Date | string
  }

  export type cadastropjUpsertWithWhereUniqueWithoutCheckinvisitaInput = {
    where: cadastropjWhereUniqueInput
    update: XOR<cadastropjUpdateWithoutCheckinvisitaInput, cadastropjUncheckedUpdateWithoutCheckinvisitaInput>
    create: XOR<cadastropjCreateWithoutCheckinvisitaInput, cadastropjUncheckedCreateWithoutCheckinvisitaInput>
  }

  export type cadastropjUpdateWithWhereUniqueWithoutCheckinvisitaInput = {
    where: cadastropjWhereUniqueInput
    data: XOR<cadastropjUpdateWithoutCheckinvisitaInput, cadastropjUncheckedUpdateWithoutCheckinvisitaInput>
  }

  export type cadastropjUpdateManyWithWhereWithoutCheckinvisitaInput = {
    where: cadastropjScalarWhereInput
    data: XOR<cadastropjUpdateManyMutationInput, cadastropjUncheckedUpdateManyWithoutCheckinvisitaInput>
  }

  export type cadastropjScalarWhereInput = {
    AND?: cadastropjScalarWhereInput | cadastropjScalarWhereInput[]
    OR?: cadastropjScalarWhereInput[]
    NOT?: cadastropjScalarWhereInput | cadastropjScalarWhereInput[]
    id?: StringFilter<"cadastropj"> | string
    cnpj?: StringFilter<"cadastropj"> | string
    razaosocial?: StringFilter<"cadastropj"> | string
    nomefantasia?: StringFilter<"cadastropj"> | string
    faixadefaturamento?: StringFilter<"cadastropj"> | string
    datadeabertura?: DateTimeFilter<"cadastropj"> | Date | string
    setor?: StringFilter<"cadastropj"> | string
    cnae?: StringFilter<"cadastropj"> | string
    cep?: StringFilter<"cadastropj"> | string
    tipologradoro?: StringFilter<"cadastropj"> | string
    endereco?: StringFilter<"cadastropj"> | string
    numero?: StringFilter<"cadastropj"> | string
    complemento?: StringNullableFilter<"cadastropj"> | string | null
    bairro?: StringFilter<"cadastropj"> | string
    cidade?: StringFilter<"cadastropj"> | string
    estado?: StringFilter<"cadastropj"> | string
    email?: StringNullableFilter<"cadastropj"> | string | null
    naotememail?: BoolFilter<"cadastropj"> | boolean
    telefone?: StringFilter<"cadastropj"> | string
    celular?: StringFilter<"cadastropj"> | string
    whatsapp?: StringFilter<"cadastropj"> | string
    checkinvisitaId?: StringFilter<"cadastropj"> | string
    userId?: StringFilter<"cadastropj"> | string
    createdAt?: DateTimeFilter<"cadastropj"> | Date | string
    updatedAt?: DateTimeFilter<"cadastropj"> | Date | string
  }

  export type planoacaoUpsertWithWhereUniqueWithoutCheckinvisitaInput = {
    where: planoacaoWhereUniqueInput
    update: XOR<planoacaoUpdateWithoutCheckinvisitaInput, planoacaoUncheckedUpdateWithoutCheckinvisitaInput>
    create: XOR<planoacaoCreateWithoutCheckinvisitaInput, planoacaoUncheckedCreateWithoutCheckinvisitaInput>
  }

  export type planoacaoUpdateWithWhereUniqueWithoutCheckinvisitaInput = {
    where: planoacaoWhereUniqueInput
    data: XOR<planoacaoUpdateWithoutCheckinvisitaInput, planoacaoUncheckedUpdateWithoutCheckinvisitaInput>
  }

  export type planoacaoUpdateManyWithWhereWithoutCheckinvisitaInput = {
    where: planoacaoScalarWhereInput
    data: XOR<planoacaoUpdateManyMutationInput, planoacaoUncheckedUpdateManyWithoutCheckinvisitaInput>
  }

  export type planoacaoScalarWhereInput = {
    AND?: planoacaoScalarWhereInput | planoacaoScalarWhereInput[]
    OR?: planoacaoScalarWhereInput[]
    NOT?: planoacaoScalarWhereInput | planoacaoScalarWhereInput[]
    id?: StringFilter<"planoacao"> | string
    userId?: StringFilter<"planoacao"> | string
    planoAcao?: StringFilter<"planoacao"> | string
    checkinvisitaId?: StringFilter<"planoacao"> | string
    createdAt?: DateTimeFilter<"planoacao"> | Date | string
    updatedAt?: DateTimeFilter<"planoacao"> | Date | string
  }

  export type assinaturadigitalUpsertWithWhereUniqueWithoutCheckinvisitaInput = {
    where: assinaturadigitalWhereUniqueInput
    update: XOR<assinaturadigitalUpdateWithoutCheckinvisitaInput, assinaturadigitalUncheckedUpdateWithoutCheckinvisitaInput>
    create: XOR<assinaturadigitalCreateWithoutCheckinvisitaInput, assinaturadigitalUncheckedCreateWithoutCheckinvisitaInput>
  }

  export type assinaturadigitalUpdateWithWhereUniqueWithoutCheckinvisitaInput = {
    where: assinaturadigitalWhereUniqueInput
    data: XOR<assinaturadigitalUpdateWithoutCheckinvisitaInput, assinaturadigitalUncheckedUpdateWithoutCheckinvisitaInput>
  }

  export type assinaturadigitalUpdateManyWithWhereWithoutCheckinvisitaInput = {
    where: assinaturadigitalScalarWhereInput
    data: XOR<assinaturadigitalUpdateManyMutationInput, assinaturadigitalUncheckedUpdateManyWithoutCheckinvisitaInput>
  }

  export type assinaturadigitalScalarWhereInput = {
    AND?: assinaturadigitalScalarWhereInput | assinaturadigitalScalarWhereInput[]
    OR?: assinaturadigitalScalarWhereInput[]
    NOT?: assinaturadigitalScalarWhereInput | assinaturadigitalScalarWhereInput[]
    id?: StringFilter<"assinaturadigital"> | string
    assinaturaDigital?: StringFilter<"assinaturadigital"> | string
    checkinvisitaId?: StringFilter<"assinaturadigital"> | string
    userId?: StringFilter<"assinaturadigital"> | string
    createdAt?: DateTimeFilter<"assinaturadigital"> | Date | string
    updatedAt?: DateTimeFilter<"assinaturadigital"> | Date | string
  }

  export type checkoutUpsertWithWhereUniqueWithoutCheckinvisitaInput = {
    where: checkoutWhereUniqueInput
    update: XOR<checkoutUpdateWithoutCheckinvisitaInput, checkoutUncheckedUpdateWithoutCheckinvisitaInput>
    create: XOR<checkoutCreateWithoutCheckinvisitaInput, checkoutUncheckedCreateWithoutCheckinvisitaInput>
  }

  export type checkoutUpdateWithWhereUniqueWithoutCheckinvisitaInput = {
    where: checkoutWhereUniqueInput
    data: XOR<checkoutUpdateWithoutCheckinvisitaInput, checkoutUncheckedUpdateWithoutCheckinvisitaInput>
  }

  export type checkoutUpdateManyWithWhereWithoutCheckinvisitaInput = {
    where: checkoutScalarWhereInput
    data: XOR<checkoutUpdateManyMutationInput, checkoutUncheckedUpdateManyWithoutCheckinvisitaInput>
  }

  export type checkoutScalarWhereInput = {
    AND?: checkoutScalarWhereInput | checkoutScalarWhereInput[]
    OR?: checkoutScalarWhereInput[]
    NOT?: checkoutScalarWhereInput | checkoutScalarWhereInput[]
    id?: StringFilter<"checkout"> | string
    interessePrograma?: BoolFilter<"checkout"> | boolean
    horarioContato?: StringFilter<"checkout"> | string
    aceitaEmail?: BoolFilter<"checkout"> | boolean
    deixouComentarios?: BoolFilter<"checkout"> | boolean
    comentarios?: StringFilter<"checkout"> | string
    checkinvisitaId?: StringFilter<"checkout"> | string
    userId?: StringFilter<"checkout"> | string
    createdAt?: DateTimeFilter<"checkout"> | Date | string
    updatedAt?: DateTimeFilter<"checkout"> | Date | string
  }

  export type recordingsUpsertWithWhereUniqueWithoutCheckinvisitaInput = {
    where: recordingsWhereUniqueInput
    update: XOR<recordingsUpdateWithoutCheckinvisitaInput, recordingsUncheckedUpdateWithoutCheckinvisitaInput>
    create: XOR<recordingsCreateWithoutCheckinvisitaInput, recordingsUncheckedCreateWithoutCheckinvisitaInput>
  }

  export type recordingsUpdateWithWhereUniqueWithoutCheckinvisitaInput = {
    where: recordingsWhereUniqueInput
    data: XOR<recordingsUpdateWithoutCheckinvisitaInput, recordingsUncheckedUpdateWithoutCheckinvisitaInput>
  }

  export type recordingsUpdateManyWithWhereWithoutCheckinvisitaInput = {
    where: recordingsScalarWhereInput
    data: XOR<recordingsUpdateManyMutationInput, recordingsUncheckedUpdateManyWithoutCheckinvisitaInput>
  }

  export type recordingsScalarWhereInput = {
    AND?: recordingsScalarWhereInput | recordingsScalarWhereInput[]
    OR?: recordingsScalarWhereInput[]
    NOT?: recordingsScalarWhereInput | recordingsScalarWhereInput[]
    id?: StringFilter<"recordings"> | string
    title?: StringFilter<"recordings"> | string
    filename?: StringFilter<"recordings"> | string
    mimeType?: StringFilter<"recordings"> | string
    base64?: StringFilter<"recordings"> | string
    checkinvisitaId?: StringFilter<"recordings"> | string
    createdAt?: DateTimeFilter<"recordings"> | Date | string
    updatedAt?: DateTimeFilter<"recordings"> | Date | string
  }

  export type checkinvisitaCreateWithoutCadastropfInput = {
    id?: string
    isAdmin: boolean
    userId: string
    envolvimentoGestao?: string | null
    formalizadaPorteMeEpp: boolean
    disponibilidademomento: boolean
    latitude: string
    longitude: string
    processedAt?: Date | string | null
    insertedAt?: Date | string | null
    tipocadastro?: $Enums.TipoCadastro | null
    createdAt?: Date | string
    updatedAt?: Date | string
    entrevistaDiagnostico?: entrevistaDiagnosticoCreateNestedManyWithoutCheckinvisitaInput
    cadastropj?: cadastropjCreateNestedManyWithoutCheckinvisitaInput
    planoacao?: planoacaoCreateNestedManyWithoutCheckinvisitaInput
    assinaturadigital?: assinaturadigitalCreateNestedManyWithoutCheckinvisitaInput
    checkout?: checkoutCreateNestedManyWithoutCheckinvisitaInput
    recordings?: recordingsCreateNestedManyWithoutCheckinvisitaInput
  }

  export type checkinvisitaUncheckedCreateWithoutCadastropfInput = {
    id?: string
    isAdmin: boolean
    userId: string
    envolvimentoGestao?: string | null
    formalizadaPorteMeEpp: boolean
    disponibilidademomento: boolean
    latitude: string
    longitude: string
    processedAt?: Date | string | null
    insertedAt?: Date | string | null
    tipocadastro?: $Enums.TipoCadastro | null
    createdAt?: Date | string
    updatedAt?: Date | string
    entrevistaDiagnostico?: entrevistaDiagnosticoUncheckedCreateNestedManyWithoutCheckinvisitaInput
    cadastropj?: cadastropjUncheckedCreateNestedManyWithoutCheckinvisitaInput
    planoacao?: planoacaoUncheckedCreateNestedManyWithoutCheckinvisitaInput
    assinaturadigital?: assinaturadigitalUncheckedCreateNestedManyWithoutCheckinvisitaInput
    checkout?: checkoutUncheckedCreateNestedManyWithoutCheckinvisitaInput
    recordings?: recordingsUncheckedCreateNestedManyWithoutCheckinvisitaInput
  }

  export type checkinvisitaCreateOrConnectWithoutCadastropfInput = {
    where: checkinvisitaWhereUniqueInput
    create: XOR<checkinvisitaCreateWithoutCadastropfInput, checkinvisitaUncheckedCreateWithoutCadastropfInput>
  }

  export type checkinvisitaUpsertWithoutCadastropfInput = {
    update: XOR<checkinvisitaUpdateWithoutCadastropfInput, checkinvisitaUncheckedUpdateWithoutCadastropfInput>
    create: XOR<checkinvisitaCreateWithoutCadastropfInput, checkinvisitaUncheckedCreateWithoutCadastropfInput>
    where?: checkinvisitaWhereInput
  }

  export type checkinvisitaUpdateToOneWithWhereWithoutCadastropfInput = {
    where?: checkinvisitaWhereInput
    data: XOR<checkinvisitaUpdateWithoutCadastropfInput, checkinvisitaUncheckedUpdateWithoutCadastropfInput>
  }

  export type checkinvisitaUpdateWithoutCadastropfInput = {
    id?: StringFieldUpdateOperationsInput | string
    isAdmin?: BoolFieldUpdateOperationsInput | boolean
    userId?: StringFieldUpdateOperationsInput | string
    envolvimentoGestao?: NullableStringFieldUpdateOperationsInput | string | null
    formalizadaPorteMeEpp?: BoolFieldUpdateOperationsInput | boolean
    disponibilidademomento?: BoolFieldUpdateOperationsInput | boolean
    latitude?: StringFieldUpdateOperationsInput | string
    longitude?: StringFieldUpdateOperationsInput | string
    processedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    insertedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    tipocadastro?: NullableEnumTipoCadastroFieldUpdateOperationsInput | $Enums.TipoCadastro | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    entrevistaDiagnostico?: entrevistaDiagnosticoUpdateManyWithoutCheckinvisitaNestedInput
    cadastropj?: cadastropjUpdateManyWithoutCheckinvisitaNestedInput
    planoacao?: planoacaoUpdateManyWithoutCheckinvisitaNestedInput
    assinaturadigital?: assinaturadigitalUpdateManyWithoutCheckinvisitaNestedInput
    checkout?: checkoutUpdateManyWithoutCheckinvisitaNestedInput
    recordings?: recordingsUpdateManyWithoutCheckinvisitaNestedInput
  }

  export type checkinvisitaUncheckedUpdateWithoutCadastropfInput = {
    id?: StringFieldUpdateOperationsInput | string
    isAdmin?: BoolFieldUpdateOperationsInput | boolean
    userId?: StringFieldUpdateOperationsInput | string
    envolvimentoGestao?: NullableStringFieldUpdateOperationsInput | string | null
    formalizadaPorteMeEpp?: BoolFieldUpdateOperationsInput | boolean
    disponibilidademomento?: BoolFieldUpdateOperationsInput | boolean
    latitude?: StringFieldUpdateOperationsInput | string
    longitude?: StringFieldUpdateOperationsInput | string
    processedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    insertedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    tipocadastro?: NullableEnumTipoCadastroFieldUpdateOperationsInput | $Enums.TipoCadastro | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    entrevistaDiagnostico?: entrevistaDiagnosticoUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    cadastropj?: cadastropjUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    planoacao?: planoacaoUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    assinaturadigital?: assinaturadigitalUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    checkout?: checkoutUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    recordings?: recordingsUncheckedUpdateManyWithoutCheckinvisitaNestedInput
  }

  export type checkinvisitaCreateWithoutCadastropjInput = {
    id?: string
    isAdmin: boolean
    userId: string
    envolvimentoGestao?: string | null
    formalizadaPorteMeEpp: boolean
    disponibilidademomento: boolean
    latitude: string
    longitude: string
    processedAt?: Date | string | null
    insertedAt?: Date | string | null
    tipocadastro?: $Enums.TipoCadastro | null
    createdAt?: Date | string
    updatedAt?: Date | string
    entrevistaDiagnostico?: entrevistaDiagnosticoCreateNestedManyWithoutCheckinvisitaInput
    cadastropf?: cadastropfCreateNestedManyWithoutCheckinvisitaInput
    planoacao?: planoacaoCreateNestedManyWithoutCheckinvisitaInput
    assinaturadigital?: assinaturadigitalCreateNestedManyWithoutCheckinvisitaInput
    checkout?: checkoutCreateNestedManyWithoutCheckinvisitaInput
    recordings?: recordingsCreateNestedManyWithoutCheckinvisitaInput
  }

  export type checkinvisitaUncheckedCreateWithoutCadastropjInput = {
    id?: string
    isAdmin: boolean
    userId: string
    envolvimentoGestao?: string | null
    formalizadaPorteMeEpp: boolean
    disponibilidademomento: boolean
    latitude: string
    longitude: string
    processedAt?: Date | string | null
    insertedAt?: Date | string | null
    tipocadastro?: $Enums.TipoCadastro | null
    createdAt?: Date | string
    updatedAt?: Date | string
    entrevistaDiagnostico?: entrevistaDiagnosticoUncheckedCreateNestedManyWithoutCheckinvisitaInput
    cadastropf?: cadastropfUncheckedCreateNestedManyWithoutCheckinvisitaInput
    planoacao?: planoacaoUncheckedCreateNestedManyWithoutCheckinvisitaInput
    assinaturadigital?: assinaturadigitalUncheckedCreateNestedManyWithoutCheckinvisitaInput
    checkout?: checkoutUncheckedCreateNestedManyWithoutCheckinvisitaInput
    recordings?: recordingsUncheckedCreateNestedManyWithoutCheckinvisitaInput
  }

  export type checkinvisitaCreateOrConnectWithoutCadastropjInput = {
    where: checkinvisitaWhereUniqueInput
    create: XOR<checkinvisitaCreateWithoutCadastropjInput, checkinvisitaUncheckedCreateWithoutCadastropjInput>
  }

  export type checkinvisitaUpsertWithoutCadastropjInput = {
    update: XOR<checkinvisitaUpdateWithoutCadastropjInput, checkinvisitaUncheckedUpdateWithoutCadastropjInput>
    create: XOR<checkinvisitaCreateWithoutCadastropjInput, checkinvisitaUncheckedCreateWithoutCadastropjInput>
    where?: checkinvisitaWhereInput
  }

  export type checkinvisitaUpdateToOneWithWhereWithoutCadastropjInput = {
    where?: checkinvisitaWhereInput
    data: XOR<checkinvisitaUpdateWithoutCadastropjInput, checkinvisitaUncheckedUpdateWithoutCadastropjInput>
  }

  export type checkinvisitaUpdateWithoutCadastropjInput = {
    id?: StringFieldUpdateOperationsInput | string
    isAdmin?: BoolFieldUpdateOperationsInput | boolean
    userId?: StringFieldUpdateOperationsInput | string
    envolvimentoGestao?: NullableStringFieldUpdateOperationsInput | string | null
    formalizadaPorteMeEpp?: BoolFieldUpdateOperationsInput | boolean
    disponibilidademomento?: BoolFieldUpdateOperationsInput | boolean
    latitude?: StringFieldUpdateOperationsInput | string
    longitude?: StringFieldUpdateOperationsInput | string
    processedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    insertedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    tipocadastro?: NullableEnumTipoCadastroFieldUpdateOperationsInput | $Enums.TipoCadastro | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    entrevistaDiagnostico?: entrevistaDiagnosticoUpdateManyWithoutCheckinvisitaNestedInput
    cadastropf?: cadastropfUpdateManyWithoutCheckinvisitaNestedInput
    planoacao?: planoacaoUpdateManyWithoutCheckinvisitaNestedInput
    assinaturadigital?: assinaturadigitalUpdateManyWithoutCheckinvisitaNestedInput
    checkout?: checkoutUpdateManyWithoutCheckinvisitaNestedInput
    recordings?: recordingsUpdateManyWithoutCheckinvisitaNestedInput
  }

  export type checkinvisitaUncheckedUpdateWithoutCadastropjInput = {
    id?: StringFieldUpdateOperationsInput | string
    isAdmin?: BoolFieldUpdateOperationsInput | boolean
    userId?: StringFieldUpdateOperationsInput | string
    envolvimentoGestao?: NullableStringFieldUpdateOperationsInput | string | null
    formalizadaPorteMeEpp?: BoolFieldUpdateOperationsInput | boolean
    disponibilidademomento?: BoolFieldUpdateOperationsInput | boolean
    latitude?: StringFieldUpdateOperationsInput | string
    longitude?: StringFieldUpdateOperationsInput | string
    processedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    insertedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    tipocadastro?: NullableEnumTipoCadastroFieldUpdateOperationsInput | $Enums.TipoCadastro | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    entrevistaDiagnostico?: entrevistaDiagnosticoUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    cadastropf?: cadastropfUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    planoacao?: planoacaoUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    assinaturadigital?: assinaturadigitalUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    checkout?: checkoutUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    recordings?: recordingsUncheckedUpdateManyWithoutCheckinvisitaNestedInput
  }

  export type checkinvisitaCreateWithoutPlanoacaoInput = {
    id?: string
    isAdmin: boolean
    userId: string
    envolvimentoGestao?: string | null
    formalizadaPorteMeEpp: boolean
    disponibilidademomento: boolean
    latitude: string
    longitude: string
    processedAt?: Date | string | null
    insertedAt?: Date | string | null
    tipocadastro?: $Enums.TipoCadastro | null
    createdAt?: Date | string
    updatedAt?: Date | string
    entrevistaDiagnostico?: entrevistaDiagnosticoCreateNestedManyWithoutCheckinvisitaInput
    cadastropf?: cadastropfCreateNestedManyWithoutCheckinvisitaInput
    cadastropj?: cadastropjCreateNestedManyWithoutCheckinvisitaInput
    assinaturadigital?: assinaturadigitalCreateNestedManyWithoutCheckinvisitaInput
    checkout?: checkoutCreateNestedManyWithoutCheckinvisitaInput
    recordings?: recordingsCreateNestedManyWithoutCheckinvisitaInput
  }

  export type checkinvisitaUncheckedCreateWithoutPlanoacaoInput = {
    id?: string
    isAdmin: boolean
    userId: string
    envolvimentoGestao?: string | null
    formalizadaPorteMeEpp: boolean
    disponibilidademomento: boolean
    latitude: string
    longitude: string
    processedAt?: Date | string | null
    insertedAt?: Date | string | null
    tipocadastro?: $Enums.TipoCadastro | null
    createdAt?: Date | string
    updatedAt?: Date | string
    entrevistaDiagnostico?: entrevistaDiagnosticoUncheckedCreateNestedManyWithoutCheckinvisitaInput
    cadastropf?: cadastropfUncheckedCreateNestedManyWithoutCheckinvisitaInput
    cadastropj?: cadastropjUncheckedCreateNestedManyWithoutCheckinvisitaInput
    assinaturadigital?: assinaturadigitalUncheckedCreateNestedManyWithoutCheckinvisitaInput
    checkout?: checkoutUncheckedCreateNestedManyWithoutCheckinvisitaInput
    recordings?: recordingsUncheckedCreateNestedManyWithoutCheckinvisitaInput
  }

  export type checkinvisitaCreateOrConnectWithoutPlanoacaoInput = {
    where: checkinvisitaWhereUniqueInput
    create: XOR<checkinvisitaCreateWithoutPlanoacaoInput, checkinvisitaUncheckedCreateWithoutPlanoacaoInput>
  }

  export type checkinvisitaUpsertWithoutPlanoacaoInput = {
    update: XOR<checkinvisitaUpdateWithoutPlanoacaoInput, checkinvisitaUncheckedUpdateWithoutPlanoacaoInput>
    create: XOR<checkinvisitaCreateWithoutPlanoacaoInput, checkinvisitaUncheckedCreateWithoutPlanoacaoInput>
    where?: checkinvisitaWhereInput
  }

  export type checkinvisitaUpdateToOneWithWhereWithoutPlanoacaoInput = {
    where?: checkinvisitaWhereInput
    data: XOR<checkinvisitaUpdateWithoutPlanoacaoInput, checkinvisitaUncheckedUpdateWithoutPlanoacaoInput>
  }

  export type checkinvisitaUpdateWithoutPlanoacaoInput = {
    id?: StringFieldUpdateOperationsInput | string
    isAdmin?: BoolFieldUpdateOperationsInput | boolean
    userId?: StringFieldUpdateOperationsInput | string
    envolvimentoGestao?: NullableStringFieldUpdateOperationsInput | string | null
    formalizadaPorteMeEpp?: BoolFieldUpdateOperationsInput | boolean
    disponibilidademomento?: BoolFieldUpdateOperationsInput | boolean
    latitude?: StringFieldUpdateOperationsInput | string
    longitude?: StringFieldUpdateOperationsInput | string
    processedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    insertedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    tipocadastro?: NullableEnumTipoCadastroFieldUpdateOperationsInput | $Enums.TipoCadastro | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    entrevistaDiagnostico?: entrevistaDiagnosticoUpdateManyWithoutCheckinvisitaNestedInput
    cadastropf?: cadastropfUpdateManyWithoutCheckinvisitaNestedInput
    cadastropj?: cadastropjUpdateManyWithoutCheckinvisitaNestedInput
    assinaturadigital?: assinaturadigitalUpdateManyWithoutCheckinvisitaNestedInput
    checkout?: checkoutUpdateManyWithoutCheckinvisitaNestedInput
    recordings?: recordingsUpdateManyWithoutCheckinvisitaNestedInput
  }

  export type checkinvisitaUncheckedUpdateWithoutPlanoacaoInput = {
    id?: StringFieldUpdateOperationsInput | string
    isAdmin?: BoolFieldUpdateOperationsInput | boolean
    userId?: StringFieldUpdateOperationsInput | string
    envolvimentoGestao?: NullableStringFieldUpdateOperationsInput | string | null
    formalizadaPorteMeEpp?: BoolFieldUpdateOperationsInput | boolean
    disponibilidademomento?: BoolFieldUpdateOperationsInput | boolean
    latitude?: StringFieldUpdateOperationsInput | string
    longitude?: StringFieldUpdateOperationsInput | string
    processedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    insertedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    tipocadastro?: NullableEnumTipoCadastroFieldUpdateOperationsInput | $Enums.TipoCadastro | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    entrevistaDiagnostico?: entrevistaDiagnosticoUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    cadastropf?: cadastropfUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    cadastropj?: cadastropjUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    assinaturadigital?: assinaturadigitalUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    checkout?: checkoutUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    recordings?: recordingsUncheckedUpdateManyWithoutCheckinvisitaNestedInput
  }

  export type checkinvisitaCreateWithoutEntrevistaDiagnosticoInput = {
    id?: string
    isAdmin: boolean
    userId: string
    envolvimentoGestao?: string | null
    formalizadaPorteMeEpp: boolean
    disponibilidademomento: boolean
    latitude: string
    longitude: string
    processedAt?: Date | string | null
    insertedAt?: Date | string | null
    tipocadastro?: $Enums.TipoCadastro | null
    createdAt?: Date | string
    updatedAt?: Date | string
    cadastropf?: cadastropfCreateNestedManyWithoutCheckinvisitaInput
    cadastropj?: cadastropjCreateNestedManyWithoutCheckinvisitaInput
    planoacao?: planoacaoCreateNestedManyWithoutCheckinvisitaInput
    assinaturadigital?: assinaturadigitalCreateNestedManyWithoutCheckinvisitaInput
    checkout?: checkoutCreateNestedManyWithoutCheckinvisitaInput
    recordings?: recordingsCreateNestedManyWithoutCheckinvisitaInput
  }

  export type checkinvisitaUncheckedCreateWithoutEntrevistaDiagnosticoInput = {
    id?: string
    isAdmin: boolean
    userId: string
    envolvimentoGestao?: string | null
    formalizadaPorteMeEpp: boolean
    disponibilidademomento: boolean
    latitude: string
    longitude: string
    processedAt?: Date | string | null
    insertedAt?: Date | string | null
    tipocadastro?: $Enums.TipoCadastro | null
    createdAt?: Date | string
    updatedAt?: Date | string
    cadastropf?: cadastropfUncheckedCreateNestedManyWithoutCheckinvisitaInput
    cadastropj?: cadastropjUncheckedCreateNestedManyWithoutCheckinvisitaInput
    planoacao?: planoacaoUncheckedCreateNestedManyWithoutCheckinvisitaInput
    assinaturadigital?: assinaturadigitalUncheckedCreateNestedManyWithoutCheckinvisitaInput
    checkout?: checkoutUncheckedCreateNestedManyWithoutCheckinvisitaInput
    recordings?: recordingsUncheckedCreateNestedManyWithoutCheckinvisitaInput
  }

  export type checkinvisitaCreateOrConnectWithoutEntrevistaDiagnosticoInput = {
    where: checkinvisitaWhereUniqueInput
    create: XOR<checkinvisitaCreateWithoutEntrevistaDiagnosticoInput, checkinvisitaUncheckedCreateWithoutEntrevistaDiagnosticoInput>
  }

  export type checkinvisitaUpsertWithoutEntrevistaDiagnosticoInput = {
    update: XOR<checkinvisitaUpdateWithoutEntrevistaDiagnosticoInput, checkinvisitaUncheckedUpdateWithoutEntrevistaDiagnosticoInput>
    create: XOR<checkinvisitaCreateWithoutEntrevistaDiagnosticoInput, checkinvisitaUncheckedCreateWithoutEntrevistaDiagnosticoInput>
    where?: checkinvisitaWhereInput
  }

  export type checkinvisitaUpdateToOneWithWhereWithoutEntrevistaDiagnosticoInput = {
    where?: checkinvisitaWhereInput
    data: XOR<checkinvisitaUpdateWithoutEntrevistaDiagnosticoInput, checkinvisitaUncheckedUpdateWithoutEntrevistaDiagnosticoInput>
  }

  export type checkinvisitaUpdateWithoutEntrevistaDiagnosticoInput = {
    id?: StringFieldUpdateOperationsInput | string
    isAdmin?: BoolFieldUpdateOperationsInput | boolean
    userId?: StringFieldUpdateOperationsInput | string
    envolvimentoGestao?: NullableStringFieldUpdateOperationsInput | string | null
    formalizadaPorteMeEpp?: BoolFieldUpdateOperationsInput | boolean
    disponibilidademomento?: BoolFieldUpdateOperationsInput | boolean
    latitude?: StringFieldUpdateOperationsInput | string
    longitude?: StringFieldUpdateOperationsInput | string
    processedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    insertedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    tipocadastro?: NullableEnumTipoCadastroFieldUpdateOperationsInput | $Enums.TipoCadastro | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    cadastropf?: cadastropfUpdateManyWithoutCheckinvisitaNestedInput
    cadastropj?: cadastropjUpdateManyWithoutCheckinvisitaNestedInput
    planoacao?: planoacaoUpdateManyWithoutCheckinvisitaNestedInput
    assinaturadigital?: assinaturadigitalUpdateManyWithoutCheckinvisitaNestedInput
    checkout?: checkoutUpdateManyWithoutCheckinvisitaNestedInput
    recordings?: recordingsUpdateManyWithoutCheckinvisitaNestedInput
  }

  export type checkinvisitaUncheckedUpdateWithoutEntrevistaDiagnosticoInput = {
    id?: StringFieldUpdateOperationsInput | string
    isAdmin?: BoolFieldUpdateOperationsInput | boolean
    userId?: StringFieldUpdateOperationsInput | string
    envolvimentoGestao?: NullableStringFieldUpdateOperationsInput | string | null
    formalizadaPorteMeEpp?: BoolFieldUpdateOperationsInput | boolean
    disponibilidademomento?: BoolFieldUpdateOperationsInput | boolean
    latitude?: StringFieldUpdateOperationsInput | string
    longitude?: StringFieldUpdateOperationsInput | string
    processedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    insertedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    tipocadastro?: NullableEnumTipoCadastroFieldUpdateOperationsInput | $Enums.TipoCadastro | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    cadastropf?: cadastropfUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    cadastropj?: cadastropjUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    planoacao?: planoacaoUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    assinaturadigital?: assinaturadigitalUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    checkout?: checkoutUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    recordings?: recordingsUncheckedUpdateManyWithoutCheckinvisitaNestedInput
  }

  export type checkinvisitaCreateWithoutAssinaturadigitalInput = {
    id?: string
    isAdmin: boolean
    userId: string
    envolvimentoGestao?: string | null
    formalizadaPorteMeEpp: boolean
    disponibilidademomento: boolean
    latitude: string
    longitude: string
    processedAt?: Date | string | null
    insertedAt?: Date | string | null
    tipocadastro?: $Enums.TipoCadastro | null
    createdAt?: Date | string
    updatedAt?: Date | string
    entrevistaDiagnostico?: entrevistaDiagnosticoCreateNestedManyWithoutCheckinvisitaInput
    cadastropf?: cadastropfCreateNestedManyWithoutCheckinvisitaInput
    cadastropj?: cadastropjCreateNestedManyWithoutCheckinvisitaInput
    planoacao?: planoacaoCreateNestedManyWithoutCheckinvisitaInput
    checkout?: checkoutCreateNestedManyWithoutCheckinvisitaInput
    recordings?: recordingsCreateNestedManyWithoutCheckinvisitaInput
  }

  export type checkinvisitaUncheckedCreateWithoutAssinaturadigitalInput = {
    id?: string
    isAdmin: boolean
    userId: string
    envolvimentoGestao?: string | null
    formalizadaPorteMeEpp: boolean
    disponibilidademomento: boolean
    latitude: string
    longitude: string
    processedAt?: Date | string | null
    insertedAt?: Date | string | null
    tipocadastro?: $Enums.TipoCadastro | null
    createdAt?: Date | string
    updatedAt?: Date | string
    entrevistaDiagnostico?: entrevistaDiagnosticoUncheckedCreateNestedManyWithoutCheckinvisitaInput
    cadastropf?: cadastropfUncheckedCreateNestedManyWithoutCheckinvisitaInput
    cadastropj?: cadastropjUncheckedCreateNestedManyWithoutCheckinvisitaInput
    planoacao?: planoacaoUncheckedCreateNestedManyWithoutCheckinvisitaInput
    checkout?: checkoutUncheckedCreateNestedManyWithoutCheckinvisitaInput
    recordings?: recordingsUncheckedCreateNestedManyWithoutCheckinvisitaInput
  }

  export type checkinvisitaCreateOrConnectWithoutAssinaturadigitalInput = {
    where: checkinvisitaWhereUniqueInput
    create: XOR<checkinvisitaCreateWithoutAssinaturadigitalInput, checkinvisitaUncheckedCreateWithoutAssinaturadigitalInput>
  }

  export type checkinvisitaUpsertWithoutAssinaturadigitalInput = {
    update: XOR<checkinvisitaUpdateWithoutAssinaturadigitalInput, checkinvisitaUncheckedUpdateWithoutAssinaturadigitalInput>
    create: XOR<checkinvisitaCreateWithoutAssinaturadigitalInput, checkinvisitaUncheckedCreateWithoutAssinaturadigitalInput>
    where?: checkinvisitaWhereInput
  }

  export type checkinvisitaUpdateToOneWithWhereWithoutAssinaturadigitalInput = {
    where?: checkinvisitaWhereInput
    data: XOR<checkinvisitaUpdateWithoutAssinaturadigitalInput, checkinvisitaUncheckedUpdateWithoutAssinaturadigitalInput>
  }

  export type checkinvisitaUpdateWithoutAssinaturadigitalInput = {
    id?: StringFieldUpdateOperationsInput | string
    isAdmin?: BoolFieldUpdateOperationsInput | boolean
    userId?: StringFieldUpdateOperationsInput | string
    envolvimentoGestao?: NullableStringFieldUpdateOperationsInput | string | null
    formalizadaPorteMeEpp?: BoolFieldUpdateOperationsInput | boolean
    disponibilidademomento?: BoolFieldUpdateOperationsInput | boolean
    latitude?: StringFieldUpdateOperationsInput | string
    longitude?: StringFieldUpdateOperationsInput | string
    processedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    insertedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    tipocadastro?: NullableEnumTipoCadastroFieldUpdateOperationsInput | $Enums.TipoCadastro | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    entrevistaDiagnostico?: entrevistaDiagnosticoUpdateManyWithoutCheckinvisitaNestedInput
    cadastropf?: cadastropfUpdateManyWithoutCheckinvisitaNestedInput
    cadastropj?: cadastropjUpdateManyWithoutCheckinvisitaNestedInput
    planoacao?: planoacaoUpdateManyWithoutCheckinvisitaNestedInput
    checkout?: checkoutUpdateManyWithoutCheckinvisitaNestedInput
    recordings?: recordingsUpdateManyWithoutCheckinvisitaNestedInput
  }

  export type checkinvisitaUncheckedUpdateWithoutAssinaturadigitalInput = {
    id?: StringFieldUpdateOperationsInput | string
    isAdmin?: BoolFieldUpdateOperationsInput | boolean
    userId?: StringFieldUpdateOperationsInput | string
    envolvimentoGestao?: NullableStringFieldUpdateOperationsInput | string | null
    formalizadaPorteMeEpp?: BoolFieldUpdateOperationsInput | boolean
    disponibilidademomento?: BoolFieldUpdateOperationsInput | boolean
    latitude?: StringFieldUpdateOperationsInput | string
    longitude?: StringFieldUpdateOperationsInput | string
    processedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    insertedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    tipocadastro?: NullableEnumTipoCadastroFieldUpdateOperationsInput | $Enums.TipoCadastro | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    entrevistaDiagnostico?: entrevistaDiagnosticoUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    cadastropf?: cadastropfUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    cadastropj?: cadastropjUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    planoacao?: planoacaoUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    checkout?: checkoutUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    recordings?: recordingsUncheckedUpdateManyWithoutCheckinvisitaNestedInput
  }

  export type checkinvisitaCreateWithoutCheckoutInput = {
    id?: string
    isAdmin: boolean
    userId: string
    envolvimentoGestao?: string | null
    formalizadaPorteMeEpp: boolean
    disponibilidademomento: boolean
    latitude: string
    longitude: string
    processedAt?: Date | string | null
    insertedAt?: Date | string | null
    tipocadastro?: $Enums.TipoCadastro | null
    createdAt?: Date | string
    updatedAt?: Date | string
    entrevistaDiagnostico?: entrevistaDiagnosticoCreateNestedManyWithoutCheckinvisitaInput
    cadastropf?: cadastropfCreateNestedManyWithoutCheckinvisitaInput
    cadastropj?: cadastropjCreateNestedManyWithoutCheckinvisitaInput
    planoacao?: planoacaoCreateNestedManyWithoutCheckinvisitaInput
    assinaturadigital?: assinaturadigitalCreateNestedManyWithoutCheckinvisitaInput
    recordings?: recordingsCreateNestedManyWithoutCheckinvisitaInput
  }

  export type checkinvisitaUncheckedCreateWithoutCheckoutInput = {
    id?: string
    isAdmin: boolean
    userId: string
    envolvimentoGestao?: string | null
    formalizadaPorteMeEpp: boolean
    disponibilidademomento: boolean
    latitude: string
    longitude: string
    processedAt?: Date | string | null
    insertedAt?: Date | string | null
    tipocadastro?: $Enums.TipoCadastro | null
    createdAt?: Date | string
    updatedAt?: Date | string
    entrevistaDiagnostico?: entrevistaDiagnosticoUncheckedCreateNestedManyWithoutCheckinvisitaInput
    cadastropf?: cadastropfUncheckedCreateNestedManyWithoutCheckinvisitaInput
    cadastropj?: cadastropjUncheckedCreateNestedManyWithoutCheckinvisitaInput
    planoacao?: planoacaoUncheckedCreateNestedManyWithoutCheckinvisitaInput
    assinaturadigital?: assinaturadigitalUncheckedCreateNestedManyWithoutCheckinvisitaInput
    recordings?: recordingsUncheckedCreateNestedManyWithoutCheckinvisitaInput
  }

  export type checkinvisitaCreateOrConnectWithoutCheckoutInput = {
    where: checkinvisitaWhereUniqueInput
    create: XOR<checkinvisitaCreateWithoutCheckoutInput, checkinvisitaUncheckedCreateWithoutCheckoutInput>
  }

  export type checkinvisitaUpsertWithoutCheckoutInput = {
    update: XOR<checkinvisitaUpdateWithoutCheckoutInput, checkinvisitaUncheckedUpdateWithoutCheckoutInput>
    create: XOR<checkinvisitaCreateWithoutCheckoutInput, checkinvisitaUncheckedCreateWithoutCheckoutInput>
    where?: checkinvisitaWhereInput
  }

  export type checkinvisitaUpdateToOneWithWhereWithoutCheckoutInput = {
    where?: checkinvisitaWhereInput
    data: XOR<checkinvisitaUpdateWithoutCheckoutInput, checkinvisitaUncheckedUpdateWithoutCheckoutInput>
  }

  export type checkinvisitaUpdateWithoutCheckoutInput = {
    id?: StringFieldUpdateOperationsInput | string
    isAdmin?: BoolFieldUpdateOperationsInput | boolean
    userId?: StringFieldUpdateOperationsInput | string
    envolvimentoGestao?: NullableStringFieldUpdateOperationsInput | string | null
    formalizadaPorteMeEpp?: BoolFieldUpdateOperationsInput | boolean
    disponibilidademomento?: BoolFieldUpdateOperationsInput | boolean
    latitude?: StringFieldUpdateOperationsInput | string
    longitude?: StringFieldUpdateOperationsInput | string
    processedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    insertedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    tipocadastro?: NullableEnumTipoCadastroFieldUpdateOperationsInput | $Enums.TipoCadastro | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    entrevistaDiagnostico?: entrevistaDiagnosticoUpdateManyWithoutCheckinvisitaNestedInput
    cadastropf?: cadastropfUpdateManyWithoutCheckinvisitaNestedInput
    cadastropj?: cadastropjUpdateManyWithoutCheckinvisitaNestedInput
    planoacao?: planoacaoUpdateManyWithoutCheckinvisitaNestedInput
    assinaturadigital?: assinaturadigitalUpdateManyWithoutCheckinvisitaNestedInput
    recordings?: recordingsUpdateManyWithoutCheckinvisitaNestedInput
  }

  export type checkinvisitaUncheckedUpdateWithoutCheckoutInput = {
    id?: StringFieldUpdateOperationsInput | string
    isAdmin?: BoolFieldUpdateOperationsInput | boolean
    userId?: StringFieldUpdateOperationsInput | string
    envolvimentoGestao?: NullableStringFieldUpdateOperationsInput | string | null
    formalizadaPorteMeEpp?: BoolFieldUpdateOperationsInput | boolean
    disponibilidademomento?: BoolFieldUpdateOperationsInput | boolean
    latitude?: StringFieldUpdateOperationsInput | string
    longitude?: StringFieldUpdateOperationsInput | string
    processedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    insertedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    tipocadastro?: NullableEnumTipoCadastroFieldUpdateOperationsInput | $Enums.TipoCadastro | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    entrevistaDiagnostico?: entrevistaDiagnosticoUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    cadastropf?: cadastropfUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    cadastropj?: cadastropjUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    planoacao?: planoacaoUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    assinaturadigital?: assinaturadigitalUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    recordings?: recordingsUncheckedUpdateManyWithoutCheckinvisitaNestedInput
  }

  export type checkinvisitaCreateWithoutRecordingsInput = {
    id?: string
    isAdmin: boolean
    userId: string
    envolvimentoGestao?: string | null
    formalizadaPorteMeEpp: boolean
    disponibilidademomento: boolean
    latitude: string
    longitude: string
    processedAt?: Date | string | null
    insertedAt?: Date | string | null
    tipocadastro?: $Enums.TipoCadastro | null
    createdAt?: Date | string
    updatedAt?: Date | string
    entrevistaDiagnostico?: entrevistaDiagnosticoCreateNestedManyWithoutCheckinvisitaInput
    cadastropf?: cadastropfCreateNestedManyWithoutCheckinvisitaInput
    cadastropj?: cadastropjCreateNestedManyWithoutCheckinvisitaInput
    planoacao?: planoacaoCreateNestedManyWithoutCheckinvisitaInput
    assinaturadigital?: assinaturadigitalCreateNestedManyWithoutCheckinvisitaInput
    checkout?: checkoutCreateNestedManyWithoutCheckinvisitaInput
  }

  export type checkinvisitaUncheckedCreateWithoutRecordingsInput = {
    id?: string
    isAdmin: boolean
    userId: string
    envolvimentoGestao?: string | null
    formalizadaPorteMeEpp: boolean
    disponibilidademomento: boolean
    latitude: string
    longitude: string
    processedAt?: Date | string | null
    insertedAt?: Date | string | null
    tipocadastro?: $Enums.TipoCadastro | null
    createdAt?: Date | string
    updatedAt?: Date | string
    entrevistaDiagnostico?: entrevistaDiagnosticoUncheckedCreateNestedManyWithoutCheckinvisitaInput
    cadastropf?: cadastropfUncheckedCreateNestedManyWithoutCheckinvisitaInput
    cadastropj?: cadastropjUncheckedCreateNestedManyWithoutCheckinvisitaInput
    planoacao?: planoacaoUncheckedCreateNestedManyWithoutCheckinvisitaInput
    assinaturadigital?: assinaturadigitalUncheckedCreateNestedManyWithoutCheckinvisitaInput
    checkout?: checkoutUncheckedCreateNestedManyWithoutCheckinvisitaInput
  }

  export type checkinvisitaCreateOrConnectWithoutRecordingsInput = {
    where: checkinvisitaWhereUniqueInput
    create: XOR<checkinvisitaCreateWithoutRecordingsInput, checkinvisitaUncheckedCreateWithoutRecordingsInput>
  }

  export type checkinvisitaUpsertWithoutRecordingsInput = {
    update: XOR<checkinvisitaUpdateWithoutRecordingsInput, checkinvisitaUncheckedUpdateWithoutRecordingsInput>
    create: XOR<checkinvisitaCreateWithoutRecordingsInput, checkinvisitaUncheckedCreateWithoutRecordingsInput>
    where?: checkinvisitaWhereInput
  }

  export type checkinvisitaUpdateToOneWithWhereWithoutRecordingsInput = {
    where?: checkinvisitaWhereInput
    data: XOR<checkinvisitaUpdateWithoutRecordingsInput, checkinvisitaUncheckedUpdateWithoutRecordingsInput>
  }

  export type checkinvisitaUpdateWithoutRecordingsInput = {
    id?: StringFieldUpdateOperationsInput | string
    isAdmin?: BoolFieldUpdateOperationsInput | boolean
    userId?: StringFieldUpdateOperationsInput | string
    envolvimentoGestao?: NullableStringFieldUpdateOperationsInput | string | null
    formalizadaPorteMeEpp?: BoolFieldUpdateOperationsInput | boolean
    disponibilidademomento?: BoolFieldUpdateOperationsInput | boolean
    latitude?: StringFieldUpdateOperationsInput | string
    longitude?: StringFieldUpdateOperationsInput | string
    processedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    insertedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    tipocadastro?: NullableEnumTipoCadastroFieldUpdateOperationsInput | $Enums.TipoCadastro | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    entrevistaDiagnostico?: entrevistaDiagnosticoUpdateManyWithoutCheckinvisitaNestedInput
    cadastropf?: cadastropfUpdateManyWithoutCheckinvisitaNestedInput
    cadastropj?: cadastropjUpdateManyWithoutCheckinvisitaNestedInput
    planoacao?: planoacaoUpdateManyWithoutCheckinvisitaNestedInput
    assinaturadigital?: assinaturadigitalUpdateManyWithoutCheckinvisitaNestedInput
    checkout?: checkoutUpdateManyWithoutCheckinvisitaNestedInput
  }

  export type checkinvisitaUncheckedUpdateWithoutRecordingsInput = {
    id?: StringFieldUpdateOperationsInput | string
    isAdmin?: BoolFieldUpdateOperationsInput | boolean
    userId?: StringFieldUpdateOperationsInput | string
    envolvimentoGestao?: NullableStringFieldUpdateOperationsInput | string | null
    formalizadaPorteMeEpp?: BoolFieldUpdateOperationsInput | boolean
    disponibilidademomento?: BoolFieldUpdateOperationsInput | boolean
    latitude?: StringFieldUpdateOperationsInput | string
    longitude?: StringFieldUpdateOperationsInput | string
    processedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    insertedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
    tipocadastro?: NullableEnumTipoCadastroFieldUpdateOperationsInput | $Enums.TipoCadastro | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    entrevistaDiagnostico?: entrevistaDiagnosticoUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    cadastropf?: cadastropfUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    cadastropj?: cadastropjUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    planoacao?: planoacaoUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    assinaturadigital?: assinaturadigitalUncheckedUpdateManyWithoutCheckinvisitaNestedInput
    checkout?: checkoutUncheckedUpdateManyWithoutCheckinvisitaNestedInput
  }

  export type forgetpasswordCreateManyUserInput = {
    id?: string
    token: string
    expiration: Date | string
    active?: boolean
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type forgetpasswordUpdateWithoutUserInput = {
    id?: StringFieldUpdateOperationsInput | string
    token?: StringFieldUpdateOperationsInput | string
    expiration?: DateTimeFieldUpdateOperationsInput | Date | string
    active?: BoolFieldUpdateOperationsInput | boolean
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type forgetpasswordUncheckedUpdateWithoutUserInput = {
    id?: StringFieldUpdateOperationsInput | string
    token?: StringFieldUpdateOperationsInput | string
    expiration?: DateTimeFieldUpdateOperationsInput | Date | string
    active?: BoolFieldUpdateOperationsInput | boolean
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type forgetpasswordUncheckedUpdateManyWithoutUserInput = {
    id?: StringFieldUpdateOperationsInput | string
    token?: StringFieldUpdateOperationsInput | string
    expiration?: DateTimeFieldUpdateOperationsInput | Date | string
    active?: BoolFieldUpdateOperationsInput | boolean
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type userCreateManyProfileInput = {
    id?: string
    name: string
    login: string
    password: string
    email: string
    cpf: string
    sexo?: $Enums.UserSexo
    datanasc?: string | null
    escolaridade?: string | null
    possuinomesocial?: boolean
    nomesocial?: string | null
    empresa?: string | null
    profileImage: string
    active?: boolean
    createdBy?: string | null
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type userUpdateWithoutProfileInput = {
    id?: StringFieldUpdateOperationsInput | string
    name?: StringFieldUpdateOperationsInput | string
    login?: StringFieldUpdateOperationsInput | string
    password?: StringFieldUpdateOperationsInput | string
    email?: StringFieldUpdateOperationsInput | string
    cpf?: StringFieldUpdateOperationsInput | string
    sexo?: EnumUserSexoFieldUpdateOperationsInput | $Enums.UserSexo
    datanasc?: NullableStringFieldUpdateOperationsInput | string | null
    escolaridade?: NullableStringFieldUpdateOperationsInput | string | null
    possuinomesocial?: BoolFieldUpdateOperationsInput | boolean
    nomesocial?: NullableStringFieldUpdateOperationsInput | string | null
    empresa?: NullableStringFieldUpdateOperationsInput | string | null
    profileImage?: StringFieldUpdateOperationsInput | string
    active?: BoolFieldUpdateOperationsInput | boolean
    createdBy?: NullableStringFieldUpdateOperationsInput | string | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    forgetpassword?: forgetpasswordUpdateManyWithoutUserNestedInput
  }

  export type userUncheckedUpdateWithoutProfileInput = {
    id?: StringFieldUpdateOperationsInput | string
    name?: StringFieldUpdateOperationsInput | string
    login?: StringFieldUpdateOperationsInput | string
    password?: StringFieldUpdateOperationsInput | string
    email?: StringFieldUpdateOperationsInput | string
    cpf?: StringFieldUpdateOperationsInput | string
    sexo?: EnumUserSexoFieldUpdateOperationsInput | $Enums.UserSexo
    datanasc?: NullableStringFieldUpdateOperationsInput | string | null
    escolaridade?: NullableStringFieldUpdateOperationsInput | string | null
    possuinomesocial?: BoolFieldUpdateOperationsInput | boolean
    nomesocial?: NullableStringFieldUpdateOperationsInput | string | null
    empresa?: NullableStringFieldUpdateOperationsInput | string | null
    profileImage?: StringFieldUpdateOperationsInput | string
    active?: BoolFieldUpdateOperationsInput | boolean
    createdBy?: NullableStringFieldUpdateOperationsInput | string | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
    forgetpassword?: forgetpasswordUncheckedUpdateManyWithoutUserNestedInput
  }

  export type userUncheckedUpdateManyWithoutProfileInput = {
    id?: StringFieldUpdateOperationsInput | string
    name?: StringFieldUpdateOperationsInput | string
    login?: StringFieldUpdateOperationsInput | string
    password?: StringFieldUpdateOperationsInput | string
    email?: StringFieldUpdateOperationsInput | string
    cpf?: StringFieldUpdateOperationsInput | string
    sexo?: EnumUserSexoFieldUpdateOperationsInput | $Enums.UserSexo
    datanasc?: NullableStringFieldUpdateOperationsInput | string | null
    escolaridade?: NullableStringFieldUpdateOperationsInput | string | null
    possuinomesocial?: BoolFieldUpdateOperationsInput | boolean
    nomesocial?: NullableStringFieldUpdateOperationsInput | string | null
    empresa?: NullableStringFieldUpdateOperationsInput | string | null
    profileImage?: StringFieldUpdateOperationsInput | string
    active?: BoolFieldUpdateOperationsInput | boolean
    createdBy?: NullableStringFieldUpdateOperationsInput | string | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type entrevistaDiagnosticoCreateManyCheckinvisitaInput = {
    id?: string
    userId: string
    areaEscolhida: string
    formacao_preco_venda?: number | null
    credito_capital_giro?: number | null
    credito_expansao?: number | null
    controle_financeiro?: number | null
    outro_financas?: number | null
    divulgacao_ecommerce?: number | null
    visual_ponto_loja?: number | null
    atendimento_clientes?: number | null
    concorrencia?: number | null
    outro_marketing?: number | null
    selecao_pessoas?: number | null
    retencao_motivacao?: number | null
    outro_rh?: number | null
    caixa_edicao?: string | null
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type cadastropfCreateManyCheckinvisitaInput = {
    id?: string
    nome: string
    cpf: string
    sexo: string
    possuinomesocial?: boolean | null
    nomesocial?: string | null
    datanasc: Date | string
    escolaridade: string
    possuideficiencia: boolean
    deficiencia?: string | null
    possuifuncionariocomdeficiencia?: boolean | null
    cep: string
    tipologradoro: string
    endereco: string
    numero: string
    complemento?: string | null
    bairro: string
    cidade: string
    estado: string
    aceitacontatopor: string
    telefone?: string | null
    celular?: string | null
    email?: string | null
    userId: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type cadastropjCreateManyCheckinvisitaInput = {
    id?: string
    cnpj: string
    razaosocial: string
    nomefantasia: string
    faixadefaturamento: string
    datadeabertura: Date | string
    setor: string
    cnae: string
    cep: string
    tipologradoro: string
    endereco: string
    numero: string
    complemento?: string | null
    bairro: string
    cidade: string
    estado: string
    email?: string | null
    naotememail: boolean
    telefone: string
    celular: string
    whatsapp: string
    userId: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type planoacaoCreateManyCheckinvisitaInput = {
    id?: string
    userId: string
    planoAcao: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type assinaturadigitalCreateManyCheckinvisitaInput = {
    id?: string
    assinaturaDigital: string
    userId: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type checkoutCreateManyCheckinvisitaInput = {
    id?: string
    interessePrograma: boolean
    horarioContato: string
    aceitaEmail: boolean
    deixouComentarios: boolean
    comentarios: string
    userId: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type recordingsCreateManyCheckinvisitaInput = {
    id?: string
    title: string
    filename: string
    mimeType: string
    base64: string
    createdAt?: Date | string
    updatedAt?: Date | string
  }

  export type entrevistaDiagnosticoUpdateWithoutCheckinvisitaInput = {
    id?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    areaEscolhida?: StringFieldUpdateOperationsInput | string
    formacao_preco_venda?: NullableIntFieldUpdateOperationsInput | number | null
    credito_capital_giro?: NullableIntFieldUpdateOperationsInput | number | null
    credito_expansao?: NullableIntFieldUpdateOperationsInput | number | null
    controle_financeiro?: NullableIntFieldUpdateOperationsInput | number | null
    outro_financas?: NullableIntFieldUpdateOperationsInput | number | null
    divulgacao_ecommerce?: NullableIntFieldUpdateOperationsInput | number | null
    visual_ponto_loja?: NullableIntFieldUpdateOperationsInput | number | null
    atendimento_clientes?: NullableIntFieldUpdateOperationsInput | number | null
    concorrencia?: NullableIntFieldUpdateOperationsInput | number | null
    outro_marketing?: NullableIntFieldUpdateOperationsInput | number | null
    selecao_pessoas?: NullableIntFieldUpdateOperationsInput | number | null
    retencao_motivacao?: NullableIntFieldUpdateOperationsInput | number | null
    outro_rh?: NullableIntFieldUpdateOperationsInput | number | null
    caixa_edicao?: NullableStringFieldUpdateOperationsInput | string | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type entrevistaDiagnosticoUncheckedUpdateWithoutCheckinvisitaInput = {
    id?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    areaEscolhida?: StringFieldUpdateOperationsInput | string
    formacao_preco_venda?: NullableIntFieldUpdateOperationsInput | number | null
    credito_capital_giro?: NullableIntFieldUpdateOperationsInput | number | null
    credito_expansao?: NullableIntFieldUpdateOperationsInput | number | null
    controle_financeiro?: NullableIntFieldUpdateOperationsInput | number | null
    outro_financas?: NullableIntFieldUpdateOperationsInput | number | null
    divulgacao_ecommerce?: NullableIntFieldUpdateOperationsInput | number | null
    visual_ponto_loja?: NullableIntFieldUpdateOperationsInput | number | null
    atendimento_clientes?: NullableIntFieldUpdateOperationsInput | number | null
    concorrencia?: NullableIntFieldUpdateOperationsInput | number | null
    outro_marketing?: NullableIntFieldUpdateOperationsInput | number | null
    selecao_pessoas?: NullableIntFieldUpdateOperationsInput | number | null
    retencao_motivacao?: NullableIntFieldUpdateOperationsInput | number | null
    outro_rh?: NullableIntFieldUpdateOperationsInput | number | null
    caixa_edicao?: NullableStringFieldUpdateOperationsInput | string | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type entrevistaDiagnosticoUncheckedUpdateManyWithoutCheckinvisitaInput = {
    id?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    areaEscolhida?: StringFieldUpdateOperationsInput | string
    formacao_preco_venda?: NullableIntFieldUpdateOperationsInput | number | null
    credito_capital_giro?: NullableIntFieldUpdateOperationsInput | number | null
    credito_expansao?: NullableIntFieldUpdateOperationsInput | number | null
    controle_financeiro?: NullableIntFieldUpdateOperationsInput | number | null
    outro_financas?: NullableIntFieldUpdateOperationsInput | number | null
    divulgacao_ecommerce?: NullableIntFieldUpdateOperationsInput | number | null
    visual_ponto_loja?: NullableIntFieldUpdateOperationsInput | number | null
    atendimento_clientes?: NullableIntFieldUpdateOperationsInput | number | null
    concorrencia?: NullableIntFieldUpdateOperationsInput | number | null
    outro_marketing?: NullableIntFieldUpdateOperationsInput | number | null
    selecao_pessoas?: NullableIntFieldUpdateOperationsInput | number | null
    retencao_motivacao?: NullableIntFieldUpdateOperationsInput | number | null
    outro_rh?: NullableIntFieldUpdateOperationsInput | number | null
    caixa_edicao?: NullableStringFieldUpdateOperationsInput | string | null
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type cadastropfUpdateWithoutCheckinvisitaInput = {
    id?: StringFieldUpdateOperationsInput | string
    nome?: StringFieldUpdateOperationsInput | string
    cpf?: StringFieldUpdateOperationsInput | string
    sexo?: StringFieldUpdateOperationsInput | string
    possuinomesocial?: NullableBoolFieldUpdateOperationsInput | boolean | null
    nomesocial?: NullableStringFieldUpdateOperationsInput | string | null
    datanasc?: DateTimeFieldUpdateOperationsInput | Date | string
    escolaridade?: StringFieldUpdateOperationsInput | string
    possuideficiencia?: BoolFieldUpdateOperationsInput | boolean
    deficiencia?: NullableStringFieldUpdateOperationsInput | string | null
    possuifuncionariocomdeficiencia?: NullableBoolFieldUpdateOperationsInput | boolean | null
    cep?: StringFieldUpdateOperationsInput | string
    tipologradoro?: StringFieldUpdateOperationsInput | string
    endereco?: StringFieldUpdateOperationsInput | string
    numero?: StringFieldUpdateOperationsInput | string
    complemento?: NullableStringFieldUpdateOperationsInput | string | null
    bairro?: StringFieldUpdateOperationsInput | string
    cidade?: StringFieldUpdateOperationsInput | string
    estado?: StringFieldUpdateOperationsInput | string
    aceitacontatopor?: StringFieldUpdateOperationsInput | string
    telefone?: NullableStringFieldUpdateOperationsInput | string | null
    celular?: NullableStringFieldUpdateOperationsInput | string | null
    email?: NullableStringFieldUpdateOperationsInput | string | null
    userId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type cadastropfUncheckedUpdateWithoutCheckinvisitaInput = {
    id?: StringFieldUpdateOperationsInput | string
    nome?: StringFieldUpdateOperationsInput | string
    cpf?: StringFieldUpdateOperationsInput | string
    sexo?: StringFieldUpdateOperationsInput | string
    possuinomesocial?: NullableBoolFieldUpdateOperationsInput | boolean | null
    nomesocial?: NullableStringFieldUpdateOperationsInput | string | null
    datanasc?: DateTimeFieldUpdateOperationsInput | Date | string
    escolaridade?: StringFieldUpdateOperationsInput | string
    possuideficiencia?: BoolFieldUpdateOperationsInput | boolean
    deficiencia?: NullableStringFieldUpdateOperationsInput | string | null
    possuifuncionariocomdeficiencia?: NullableBoolFieldUpdateOperationsInput | boolean | null
    cep?: StringFieldUpdateOperationsInput | string
    tipologradoro?: StringFieldUpdateOperationsInput | string
    endereco?: StringFieldUpdateOperationsInput | string
    numero?: StringFieldUpdateOperationsInput | string
    complemento?: NullableStringFieldUpdateOperationsInput | string | null
    bairro?: StringFieldUpdateOperationsInput | string
    cidade?: StringFieldUpdateOperationsInput | string
    estado?: StringFieldUpdateOperationsInput | string
    aceitacontatopor?: StringFieldUpdateOperationsInput | string
    telefone?: NullableStringFieldUpdateOperationsInput | string | null
    celular?: NullableStringFieldUpdateOperationsInput | string | null
    email?: NullableStringFieldUpdateOperationsInput | string | null
    userId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type cadastropfUncheckedUpdateManyWithoutCheckinvisitaInput = {
    id?: StringFieldUpdateOperationsInput | string
    nome?: StringFieldUpdateOperationsInput | string
    cpf?: StringFieldUpdateOperationsInput | string
    sexo?: StringFieldUpdateOperationsInput | string
    possuinomesocial?: NullableBoolFieldUpdateOperationsInput | boolean | null
    nomesocial?: NullableStringFieldUpdateOperationsInput | string | null
    datanasc?: DateTimeFieldUpdateOperationsInput | Date | string
    escolaridade?: StringFieldUpdateOperationsInput | string
    possuideficiencia?: BoolFieldUpdateOperationsInput | boolean
    deficiencia?: NullableStringFieldUpdateOperationsInput | string | null
    possuifuncionariocomdeficiencia?: NullableBoolFieldUpdateOperationsInput | boolean | null
    cep?: StringFieldUpdateOperationsInput | string
    tipologradoro?: StringFieldUpdateOperationsInput | string
    endereco?: StringFieldUpdateOperationsInput | string
    numero?: StringFieldUpdateOperationsInput | string
    complemento?: NullableStringFieldUpdateOperationsInput | string | null
    bairro?: StringFieldUpdateOperationsInput | string
    cidade?: StringFieldUpdateOperationsInput | string
    estado?: StringFieldUpdateOperationsInput | string
    aceitacontatopor?: StringFieldUpdateOperationsInput | string
    telefone?: NullableStringFieldUpdateOperationsInput | string | null
    celular?: NullableStringFieldUpdateOperationsInput | string | null
    email?: NullableStringFieldUpdateOperationsInput | string | null
    userId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type cadastropjUpdateWithoutCheckinvisitaInput = {
    id?: StringFieldUpdateOperationsInput | string
    cnpj?: StringFieldUpdateOperationsInput | string
    razaosocial?: StringFieldUpdateOperationsInput | string
    nomefantasia?: StringFieldUpdateOperationsInput | string
    faixadefaturamento?: StringFieldUpdateOperationsInput | string
    datadeabertura?: DateTimeFieldUpdateOperationsInput | Date | string
    setor?: StringFieldUpdateOperationsInput | string
    cnae?: StringFieldUpdateOperationsInput | string
    cep?: StringFieldUpdateOperationsInput | string
    tipologradoro?: StringFieldUpdateOperationsInput | string
    endereco?: StringFieldUpdateOperationsInput | string
    numero?: StringFieldUpdateOperationsInput | string
    complemento?: NullableStringFieldUpdateOperationsInput | string | null
    bairro?: StringFieldUpdateOperationsInput | string
    cidade?: StringFieldUpdateOperationsInput | string
    estado?: StringFieldUpdateOperationsInput | string
    email?: NullableStringFieldUpdateOperationsInput | string | null
    naotememail?: BoolFieldUpdateOperationsInput | boolean
    telefone?: StringFieldUpdateOperationsInput | string
    celular?: StringFieldUpdateOperationsInput | string
    whatsapp?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type cadastropjUncheckedUpdateWithoutCheckinvisitaInput = {
    id?: StringFieldUpdateOperationsInput | string
    cnpj?: StringFieldUpdateOperationsInput | string
    razaosocial?: StringFieldUpdateOperationsInput | string
    nomefantasia?: StringFieldUpdateOperationsInput | string
    faixadefaturamento?: StringFieldUpdateOperationsInput | string
    datadeabertura?: DateTimeFieldUpdateOperationsInput | Date | string
    setor?: StringFieldUpdateOperationsInput | string
    cnae?: StringFieldUpdateOperationsInput | string
    cep?: StringFieldUpdateOperationsInput | string
    tipologradoro?: StringFieldUpdateOperationsInput | string
    endereco?: StringFieldUpdateOperationsInput | string
    numero?: StringFieldUpdateOperationsInput | string
    complemento?: NullableStringFieldUpdateOperationsInput | string | null
    bairro?: StringFieldUpdateOperationsInput | string
    cidade?: StringFieldUpdateOperationsInput | string
    estado?: StringFieldUpdateOperationsInput | string
    email?: NullableStringFieldUpdateOperationsInput | string | null
    naotememail?: BoolFieldUpdateOperationsInput | boolean
    telefone?: StringFieldUpdateOperationsInput | string
    celular?: StringFieldUpdateOperationsInput | string
    whatsapp?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type cadastropjUncheckedUpdateManyWithoutCheckinvisitaInput = {
    id?: StringFieldUpdateOperationsInput | string
    cnpj?: StringFieldUpdateOperationsInput | string
    razaosocial?: StringFieldUpdateOperationsInput | string
    nomefantasia?: StringFieldUpdateOperationsInput | string
    faixadefaturamento?: StringFieldUpdateOperationsInput | string
    datadeabertura?: DateTimeFieldUpdateOperationsInput | Date | string
    setor?: StringFieldUpdateOperationsInput | string
    cnae?: StringFieldUpdateOperationsInput | string
    cep?: StringFieldUpdateOperationsInput | string
    tipologradoro?: StringFieldUpdateOperationsInput | string
    endereco?: StringFieldUpdateOperationsInput | string
    numero?: StringFieldUpdateOperationsInput | string
    complemento?: NullableStringFieldUpdateOperationsInput | string | null
    bairro?: StringFieldUpdateOperationsInput | string
    cidade?: StringFieldUpdateOperationsInput | string
    estado?: StringFieldUpdateOperationsInput | string
    email?: NullableStringFieldUpdateOperationsInput | string | null
    naotememail?: BoolFieldUpdateOperationsInput | boolean
    telefone?: StringFieldUpdateOperationsInput | string
    celular?: StringFieldUpdateOperationsInput | string
    whatsapp?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type planoacaoUpdateWithoutCheckinvisitaInput = {
    id?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    planoAcao?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type planoacaoUncheckedUpdateWithoutCheckinvisitaInput = {
    id?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    planoAcao?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type planoacaoUncheckedUpdateManyWithoutCheckinvisitaInput = {
    id?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    planoAcao?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type assinaturadigitalUpdateWithoutCheckinvisitaInput = {
    id?: StringFieldUpdateOperationsInput | string
    assinaturaDigital?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type assinaturadigitalUncheckedUpdateWithoutCheckinvisitaInput = {
    id?: StringFieldUpdateOperationsInput | string
    assinaturaDigital?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type assinaturadigitalUncheckedUpdateManyWithoutCheckinvisitaInput = {
    id?: StringFieldUpdateOperationsInput | string
    assinaturaDigital?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type checkoutUpdateWithoutCheckinvisitaInput = {
    id?: StringFieldUpdateOperationsInput | string
    interessePrograma?: BoolFieldUpdateOperationsInput | boolean
    horarioContato?: StringFieldUpdateOperationsInput | string
    aceitaEmail?: BoolFieldUpdateOperationsInput | boolean
    deixouComentarios?: BoolFieldUpdateOperationsInput | boolean
    comentarios?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type checkoutUncheckedUpdateWithoutCheckinvisitaInput = {
    id?: StringFieldUpdateOperationsInput | string
    interessePrograma?: BoolFieldUpdateOperationsInput | boolean
    horarioContato?: StringFieldUpdateOperationsInput | string
    aceitaEmail?: BoolFieldUpdateOperationsInput | boolean
    deixouComentarios?: BoolFieldUpdateOperationsInput | boolean
    comentarios?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type checkoutUncheckedUpdateManyWithoutCheckinvisitaInput = {
    id?: StringFieldUpdateOperationsInput | string
    interessePrograma?: BoolFieldUpdateOperationsInput | boolean
    horarioContato?: StringFieldUpdateOperationsInput | string
    aceitaEmail?: BoolFieldUpdateOperationsInput | boolean
    deixouComentarios?: BoolFieldUpdateOperationsInput | boolean
    comentarios?: StringFieldUpdateOperationsInput | string
    userId?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type recordingsUpdateWithoutCheckinvisitaInput = {
    id?: StringFieldUpdateOperationsInput | string
    title?: StringFieldUpdateOperationsInput | string
    filename?: StringFieldUpdateOperationsInput | string
    mimeType?: StringFieldUpdateOperationsInput | string
    base64?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type recordingsUncheckedUpdateWithoutCheckinvisitaInput = {
    id?: StringFieldUpdateOperationsInput | string
    title?: StringFieldUpdateOperationsInput | string
    filename?: StringFieldUpdateOperationsInput | string
    mimeType?: StringFieldUpdateOperationsInput | string
    base64?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }

  export type recordingsUncheckedUpdateManyWithoutCheckinvisitaInput = {
    id?: StringFieldUpdateOperationsInput | string
    title?: StringFieldUpdateOperationsInput | string
    filename?: StringFieldUpdateOperationsInput | string
    mimeType?: StringFieldUpdateOperationsInput | string
    base64?: StringFieldUpdateOperationsInput | string
    createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
    updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
  }



  /**
   * Batch Payload for updateMany & deleteMany & createMany
   */

  export type BatchPayload = {
    count: number
  }

  /**
   * DMMF
   */
  export const dmmf: runtime.BaseDMMF
}

Anon7 - 2021