
/* !!! This is code generated by Prisma. Do not edit directly. !!! */
/* eslint-disable */
// biome-ignore-all lint: generated file
// @ts-nocheck 
/*
 * This file exports the `SecureValue` model and its related types.
 *
 * 🟢 You can import this file directly.
 */
import type * as runtime from "@prisma/client/runtime/client"
import type * as $Enums from "../enums.ts"
import type * as Prisma from "../internal/prismaNamespace.ts"

/**
 * Model SecureValue
 * 
 */
export type SecureValueModel = runtime.Types.Result.DefaultSelection<Prisma.$SecureValuePayload>

export type AggregateSecureValue = {
  _count: SecureValueCountAggregateOutputType | null
  _min: SecureValueMinAggregateOutputType | null
  _max: SecureValueMaxAggregateOutputType | null
}

export type SecureValueMinAggregateOutputType = {
  id: string | null
  name: string | null
  content: string | null
  hash: string | null
  credentialId: string | null
  createdAt: Date | null
  updatedAt: Date | null
}

export type SecureValueMaxAggregateOutputType = {
  id: string | null
  name: string | null
  content: string | null
  hash: string | null
  credentialId: string | null
  createdAt: Date | null
  updatedAt: Date | null
}

export type SecureValueCountAggregateOutputType = {
  id: number
  name: number
  content: number
  hash: number
  credentialId: number
  createdAt: number
  updatedAt: number
  _all: number
}


export type SecureValueMinAggregateInputType = {
  id?: true
  name?: true
  content?: true
  hash?: true
  credentialId?: true
  createdAt?: true
  updatedAt?: true
}

export type SecureValueMaxAggregateInputType = {
  id?: true
  name?: true
  content?: true
  hash?: true
  credentialId?: true
  createdAt?: true
  updatedAt?: true
}

export type SecureValueCountAggregateInputType = {
  id?: true
  name?: true
  content?: true
  hash?: true
  credentialId?: true
  createdAt?: true
  updatedAt?: true
  _all?: true
}

export type SecureValueAggregateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Filter which SecureValue to aggregate.
   */
  where?: Prisma.SecureValueWhereInput
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
   * 
   * Determine the order of SecureValues to fetch.
   */
  orderBy?: Prisma.SecureValueOrderByWithRelationInput | Prisma.SecureValueOrderByWithRelationInput[]
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
   * 
   * Sets the start position
   */
  cursor?: Prisma.SecureValueWhereUniqueInput
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
   * 
   * Take `±n` SecureValues 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` SecureValues.
   */
  skip?: number
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
   * 
   * Count returned SecureValues
  **/
  _count?: true | SecureValueCountAggregateInputType
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
   * 
   * Select which fields to find the minimum value
  **/
  _min?: SecureValueMinAggregateInputType
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
   * 
   * Select which fields to find the maximum value
  **/
  _max?: SecureValueMaxAggregateInputType
}

export type GetSecureValueAggregateType<T extends SecureValueAggregateArgs> = {
      [P in keyof T & keyof AggregateSecureValue]: P extends '_count' | 'count'
    ? T[P] extends true
      ? number
      : Prisma.GetScalarType<T[P], AggregateSecureValue[P]>
    : Prisma.GetScalarType<T[P], AggregateSecureValue[P]>
}




export type SecureValueGroupByArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  where?: Prisma.SecureValueWhereInput
  orderBy?: Prisma.SecureValueOrderByWithAggregationInput | Prisma.SecureValueOrderByWithAggregationInput[]
  by: Prisma.SecureValueScalarFieldEnum[] | Prisma.SecureValueScalarFieldEnum
  having?: Prisma.SecureValueScalarWhereWithAggregatesInput
  take?: number
  skip?: number
  _count?: SecureValueCountAggregateInputType | true
  _min?: SecureValueMinAggregateInputType
  _max?: SecureValueMaxAggregateInputType
}

export type SecureValueGroupByOutputType = {
  id: string
  name: string
  content: string
  hash: string
  credentialId: string
  createdAt: Date
  updatedAt: Date
  _count: SecureValueCountAggregateOutputType | null
  _min: SecureValueMinAggregateOutputType | null
  _max: SecureValueMaxAggregateOutputType | null
}

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



export type SecureValueWhereInput = {
  AND?: Prisma.SecureValueWhereInput | Prisma.SecureValueWhereInput[]
  OR?: Prisma.SecureValueWhereInput[]
  NOT?: Prisma.SecureValueWhereInput | Prisma.SecureValueWhereInput[]
  id?: Prisma.StringFilter<"SecureValue"> | string
  name?: Prisma.StringFilter<"SecureValue"> | string
  content?: Prisma.StringFilter<"SecureValue"> | string
  hash?: Prisma.StringFilter<"SecureValue"> | string
  credentialId?: Prisma.StringFilter<"SecureValue"> | string
  createdAt?: Prisma.DateTimeFilter<"SecureValue"> | Date | string
  updatedAt?: Prisma.DateTimeFilter<"SecureValue"> | Date | string
  credential?: Prisma.XOR<Prisma.CredentialScalarRelationFilter, Prisma.CredentialWhereInput>
}

export type SecureValueOrderByWithRelationInput = {
  id?: Prisma.SortOrder
  name?: Prisma.SortOrder
  content?: Prisma.SortOrder
  hash?: Prisma.SortOrder
  credentialId?: Prisma.SortOrder
  createdAt?: Prisma.SortOrder
  updatedAt?: Prisma.SortOrder
  credential?: Prisma.CredentialOrderByWithRelationInput
}

export type SecureValueWhereUniqueInput = Prisma.AtLeast<{
  id?: string
  AND?: Prisma.SecureValueWhereInput | Prisma.SecureValueWhereInput[]
  OR?: Prisma.SecureValueWhereInput[]
  NOT?: Prisma.SecureValueWhereInput | Prisma.SecureValueWhereInput[]
  name?: Prisma.StringFilter<"SecureValue"> | string
  content?: Prisma.StringFilter<"SecureValue"> | string
  hash?: Prisma.StringFilter<"SecureValue"> | string
  credentialId?: Prisma.StringFilter<"SecureValue"> | string
  createdAt?: Prisma.DateTimeFilter<"SecureValue"> | Date | string
  updatedAt?: Prisma.DateTimeFilter<"SecureValue"> | Date | string
  credential?: Prisma.XOR<Prisma.CredentialScalarRelationFilter, Prisma.CredentialWhereInput>
}, "id">

export type SecureValueOrderByWithAggregationInput = {
  id?: Prisma.SortOrder
  name?: Prisma.SortOrder
  content?: Prisma.SortOrder
  hash?: Prisma.SortOrder
  credentialId?: Prisma.SortOrder
  createdAt?: Prisma.SortOrder
  updatedAt?: Prisma.SortOrder
  _count?: Prisma.SecureValueCountOrderByAggregateInput
  _max?: Prisma.SecureValueMaxOrderByAggregateInput
  _min?: Prisma.SecureValueMinOrderByAggregateInput
}

export type SecureValueScalarWhereWithAggregatesInput = {
  AND?: Prisma.SecureValueScalarWhereWithAggregatesInput | Prisma.SecureValueScalarWhereWithAggregatesInput[]
  OR?: Prisma.SecureValueScalarWhereWithAggregatesInput[]
  NOT?: Prisma.SecureValueScalarWhereWithAggregatesInput | Prisma.SecureValueScalarWhereWithAggregatesInput[]
  id?: Prisma.StringWithAggregatesFilter<"SecureValue"> | string
  name?: Prisma.StringWithAggregatesFilter<"SecureValue"> | string
  content?: Prisma.StringWithAggregatesFilter<"SecureValue"> | string
  hash?: Prisma.StringWithAggregatesFilter<"SecureValue"> | string
  credentialId?: Prisma.StringWithAggregatesFilter<"SecureValue"> | string
  createdAt?: Prisma.DateTimeWithAggregatesFilter<"SecureValue"> | Date | string
  updatedAt?: Prisma.DateTimeWithAggregatesFilter<"SecureValue"> | Date | string
}

export type SecureValueCreateInput = {
  id?: string
  name: string
  content: string
  hash: string
  createdAt?: Date | string
  updatedAt?: Date | string
  credential: Prisma.CredentialCreateNestedOneWithoutSecurevaluesInput
}

export type SecureValueUncheckedCreateInput = {
  id?: string
  name: string
  content: string
  hash: string
  credentialId: string
  createdAt?: Date | string
  updatedAt?: Date | string
}

export type SecureValueUpdateInput = {
  id?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  content?: Prisma.StringFieldUpdateOperationsInput | string
  hash?: Prisma.StringFieldUpdateOperationsInput | string
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  credential?: Prisma.CredentialUpdateOneRequiredWithoutSecurevaluesNestedInput
}

export type SecureValueUncheckedUpdateInput = {
  id?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  content?: Prisma.StringFieldUpdateOperationsInput | string
  hash?: Prisma.StringFieldUpdateOperationsInput | string
  credentialId?: Prisma.StringFieldUpdateOperationsInput | string
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
}

export type SecureValueCreateManyInput = {
  id?: string
  name: string
  content: string
  hash: string
  credentialId: string
  createdAt?: Date | string
  updatedAt?: Date | string
}

export type SecureValueUpdateManyMutationInput = {
  id?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  content?: Prisma.StringFieldUpdateOperationsInput | string
  hash?: Prisma.StringFieldUpdateOperationsInput | string
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
}

export type SecureValueUncheckedUpdateManyInput = {
  id?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  content?: Prisma.StringFieldUpdateOperationsInput | string
  hash?: Prisma.StringFieldUpdateOperationsInput | string
  credentialId?: Prisma.StringFieldUpdateOperationsInput | string
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
}

export type SecureValueCountOrderByAggregateInput = {
  id?: Prisma.SortOrder
  name?: Prisma.SortOrder
  content?: Prisma.SortOrder
  hash?: Prisma.SortOrder
  credentialId?: Prisma.SortOrder
  createdAt?: Prisma.SortOrder
  updatedAt?: Prisma.SortOrder
}

export type SecureValueMaxOrderByAggregateInput = {
  id?: Prisma.SortOrder
  name?: Prisma.SortOrder
  content?: Prisma.SortOrder
  hash?: Prisma.SortOrder
  credentialId?: Prisma.SortOrder
  createdAt?: Prisma.SortOrder
  updatedAt?: Prisma.SortOrder
}

export type SecureValueMinOrderByAggregateInput = {
  id?: Prisma.SortOrder
  name?: Prisma.SortOrder
  content?: Prisma.SortOrder
  hash?: Prisma.SortOrder
  credentialId?: Prisma.SortOrder
  createdAt?: Prisma.SortOrder
  updatedAt?: Prisma.SortOrder
}

export type SecureValueListRelationFilter = {
  every?: Prisma.SecureValueWhereInput
  some?: Prisma.SecureValueWhereInput
  none?: Prisma.SecureValueWhereInput
}

export type SecureValueOrderByRelationAggregateInput = {
  _count?: Prisma.SortOrder
}

export type SecureValueCreateNestedManyWithoutCredentialInput = {
  create?: Prisma.XOR<Prisma.SecureValueCreateWithoutCredentialInput, Prisma.SecureValueUncheckedCreateWithoutCredentialInput> | Prisma.SecureValueCreateWithoutCredentialInput[] | Prisma.SecureValueUncheckedCreateWithoutCredentialInput[]
  connectOrCreate?: Prisma.SecureValueCreateOrConnectWithoutCredentialInput | Prisma.SecureValueCreateOrConnectWithoutCredentialInput[]
  createMany?: Prisma.SecureValueCreateManyCredentialInputEnvelope
  connect?: Prisma.SecureValueWhereUniqueInput | Prisma.SecureValueWhereUniqueInput[]
}

export type SecureValueUncheckedCreateNestedManyWithoutCredentialInput = {
  create?: Prisma.XOR<Prisma.SecureValueCreateWithoutCredentialInput, Prisma.SecureValueUncheckedCreateWithoutCredentialInput> | Prisma.SecureValueCreateWithoutCredentialInput[] | Prisma.SecureValueUncheckedCreateWithoutCredentialInput[]
  connectOrCreate?: Prisma.SecureValueCreateOrConnectWithoutCredentialInput | Prisma.SecureValueCreateOrConnectWithoutCredentialInput[]
  createMany?: Prisma.SecureValueCreateManyCredentialInputEnvelope
  connect?: Prisma.SecureValueWhereUniqueInput | Prisma.SecureValueWhereUniqueInput[]
}

export type SecureValueUpdateManyWithoutCredentialNestedInput = {
  create?: Prisma.XOR<Prisma.SecureValueCreateWithoutCredentialInput, Prisma.SecureValueUncheckedCreateWithoutCredentialInput> | Prisma.SecureValueCreateWithoutCredentialInput[] | Prisma.SecureValueUncheckedCreateWithoutCredentialInput[]
  connectOrCreate?: Prisma.SecureValueCreateOrConnectWithoutCredentialInput | Prisma.SecureValueCreateOrConnectWithoutCredentialInput[]
  upsert?: Prisma.SecureValueUpsertWithWhereUniqueWithoutCredentialInput | Prisma.SecureValueUpsertWithWhereUniqueWithoutCredentialInput[]
  createMany?: Prisma.SecureValueCreateManyCredentialInputEnvelope
  set?: Prisma.SecureValueWhereUniqueInput | Prisma.SecureValueWhereUniqueInput[]
  disconnect?: Prisma.SecureValueWhereUniqueInput | Prisma.SecureValueWhereUniqueInput[]
  delete?: Prisma.SecureValueWhereUniqueInput | Prisma.SecureValueWhereUniqueInput[]
  connect?: Prisma.SecureValueWhereUniqueInput | Prisma.SecureValueWhereUniqueInput[]
  update?: Prisma.SecureValueUpdateWithWhereUniqueWithoutCredentialInput | Prisma.SecureValueUpdateWithWhereUniqueWithoutCredentialInput[]
  updateMany?: Prisma.SecureValueUpdateManyWithWhereWithoutCredentialInput | Prisma.SecureValueUpdateManyWithWhereWithoutCredentialInput[]
  deleteMany?: Prisma.SecureValueScalarWhereInput | Prisma.SecureValueScalarWhereInput[]
}

export type SecureValueUncheckedUpdateManyWithoutCredentialNestedInput = {
  create?: Prisma.XOR<Prisma.SecureValueCreateWithoutCredentialInput, Prisma.SecureValueUncheckedCreateWithoutCredentialInput> | Prisma.SecureValueCreateWithoutCredentialInput[] | Prisma.SecureValueUncheckedCreateWithoutCredentialInput[]
  connectOrCreate?: Prisma.SecureValueCreateOrConnectWithoutCredentialInput | Prisma.SecureValueCreateOrConnectWithoutCredentialInput[]
  upsert?: Prisma.SecureValueUpsertWithWhereUniqueWithoutCredentialInput | Prisma.SecureValueUpsertWithWhereUniqueWithoutCredentialInput[]
  createMany?: Prisma.SecureValueCreateManyCredentialInputEnvelope
  set?: Prisma.SecureValueWhereUniqueInput | Prisma.SecureValueWhereUniqueInput[]
  disconnect?: Prisma.SecureValueWhereUniqueInput | Prisma.SecureValueWhereUniqueInput[]
  delete?: Prisma.SecureValueWhereUniqueInput | Prisma.SecureValueWhereUniqueInput[]
  connect?: Prisma.SecureValueWhereUniqueInput | Prisma.SecureValueWhereUniqueInput[]
  update?: Prisma.SecureValueUpdateWithWhereUniqueWithoutCredentialInput | Prisma.SecureValueUpdateWithWhereUniqueWithoutCredentialInput[]
  updateMany?: Prisma.SecureValueUpdateManyWithWhereWithoutCredentialInput | Prisma.SecureValueUpdateManyWithWhereWithoutCredentialInput[]
  deleteMany?: Prisma.SecureValueScalarWhereInput | Prisma.SecureValueScalarWhereInput[]
}

export type SecureValueCreateWithoutCredentialInput = {
  id?: string
  name: string
  content: string
  hash: string
  createdAt?: Date | string
  updatedAt?: Date | string
}

export type SecureValueUncheckedCreateWithoutCredentialInput = {
  id?: string
  name: string
  content: string
  hash: string
  createdAt?: Date | string
  updatedAt?: Date | string
}

export type SecureValueCreateOrConnectWithoutCredentialInput = {
  where: Prisma.SecureValueWhereUniqueInput
  create: Prisma.XOR<Prisma.SecureValueCreateWithoutCredentialInput, Prisma.SecureValueUncheckedCreateWithoutCredentialInput>
}

export type SecureValueCreateManyCredentialInputEnvelope = {
  data: Prisma.SecureValueCreateManyCredentialInput | Prisma.SecureValueCreateManyCredentialInput[]
  skipDuplicates?: boolean
}

export type SecureValueUpsertWithWhereUniqueWithoutCredentialInput = {
  where: Prisma.SecureValueWhereUniqueInput
  update: Prisma.XOR<Prisma.SecureValueUpdateWithoutCredentialInput, Prisma.SecureValueUncheckedUpdateWithoutCredentialInput>
  create: Prisma.XOR<Prisma.SecureValueCreateWithoutCredentialInput, Prisma.SecureValueUncheckedCreateWithoutCredentialInput>
}

export type SecureValueUpdateWithWhereUniqueWithoutCredentialInput = {
  where: Prisma.SecureValueWhereUniqueInput
  data: Prisma.XOR<Prisma.SecureValueUpdateWithoutCredentialInput, Prisma.SecureValueUncheckedUpdateWithoutCredentialInput>
}

export type SecureValueUpdateManyWithWhereWithoutCredentialInput = {
  where: Prisma.SecureValueScalarWhereInput
  data: Prisma.XOR<Prisma.SecureValueUpdateManyMutationInput, Prisma.SecureValueUncheckedUpdateManyWithoutCredentialInput>
}

export type SecureValueScalarWhereInput = {
  AND?: Prisma.SecureValueScalarWhereInput | Prisma.SecureValueScalarWhereInput[]
  OR?: Prisma.SecureValueScalarWhereInput[]
  NOT?: Prisma.SecureValueScalarWhereInput | Prisma.SecureValueScalarWhereInput[]
  id?: Prisma.StringFilter<"SecureValue"> | string
  name?: Prisma.StringFilter<"SecureValue"> | string
  content?: Prisma.StringFilter<"SecureValue"> | string
  hash?: Prisma.StringFilter<"SecureValue"> | string
  credentialId?: Prisma.StringFilter<"SecureValue"> | string
  createdAt?: Prisma.DateTimeFilter<"SecureValue"> | Date | string
  updatedAt?: Prisma.DateTimeFilter<"SecureValue"> | Date | string
}

export type SecureValueCreateManyCredentialInput = {
  id?: string
  name: string
  content: string
  hash: string
  createdAt?: Date | string
  updatedAt?: Date | string
}

export type SecureValueUpdateWithoutCredentialInput = {
  id?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  content?: Prisma.StringFieldUpdateOperationsInput | string
  hash?: Prisma.StringFieldUpdateOperationsInput | string
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
}

export type SecureValueUncheckedUpdateWithoutCredentialInput = {
  id?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  content?: Prisma.StringFieldUpdateOperationsInput | string
  hash?: Prisma.StringFieldUpdateOperationsInput | string
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
}

export type SecureValueUncheckedUpdateManyWithoutCredentialInput = {
  id?: Prisma.StringFieldUpdateOperationsInput | string
  name?: Prisma.StringFieldUpdateOperationsInput | string
  content?: Prisma.StringFieldUpdateOperationsInput | string
  hash?: Prisma.StringFieldUpdateOperationsInput | string
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
}



export type SecureValueSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
  id?: boolean
  name?: boolean
  content?: boolean
  hash?: boolean
  credentialId?: boolean
  createdAt?: boolean
  updatedAt?: boolean
  credential?: boolean | Prisma.CredentialDefaultArgs<ExtArgs>
}, ExtArgs["result"]["secureValue"]>

export type SecureValueSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
  id?: boolean
  name?: boolean
  content?: boolean
  hash?: boolean
  credentialId?: boolean
  createdAt?: boolean
  updatedAt?: boolean
  credential?: boolean | Prisma.CredentialDefaultArgs<ExtArgs>
}, ExtArgs["result"]["secureValue"]>

export type SecureValueSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
  id?: boolean
  name?: boolean
  content?: boolean
  hash?: boolean
  credentialId?: boolean
  createdAt?: boolean
  updatedAt?: boolean
  credential?: boolean | Prisma.CredentialDefaultArgs<ExtArgs>
}, ExtArgs["result"]["secureValue"]>

export type SecureValueSelectScalar = {
  id?: boolean
  name?: boolean
  content?: boolean
  hash?: boolean
  credentialId?: boolean
  createdAt?: boolean
  updatedAt?: boolean
}

export type SecureValueOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "name" | "content" | "hash" | "credentialId" | "createdAt" | "updatedAt", ExtArgs["result"]["secureValue"]>
export type SecureValueInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  credential?: boolean | Prisma.CredentialDefaultArgs<ExtArgs>
}
export type SecureValueIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  credential?: boolean | Prisma.CredentialDefaultArgs<ExtArgs>
}
export type SecureValueIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  credential?: boolean | Prisma.CredentialDefaultArgs<ExtArgs>
}

export type $SecureValuePayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  name: "SecureValue"
  objects: {
    credential: Prisma.$CredentialPayload<ExtArgs>
  }
  scalars: runtime.Types.Extensions.GetPayloadResult<{
    id: string
    name: string
    content: string
    hash: string
    credentialId: string
    createdAt: Date
    updatedAt: Date
  }, ExtArgs["result"]["secureValue"]>
  composites: {}
}

export type SecureValueGetPayload<S extends boolean | null | undefined | SecureValueDefaultArgs> = runtime.Types.Result.GetResult<Prisma.$SecureValuePayload, S>

export type SecureValueCountArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> =
  Omit<SecureValueFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
    select?: SecureValueCountAggregateInputType | true
  }

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

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

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

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

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

  /**
   * Create a SecureValue.
   * @param {SecureValueCreateArgs} args - Arguments to create a SecureValue.
   * @example
   * // Create one SecureValue
   * const SecureValue = await prisma.secureValue.create({
   *   data: {
   *     // ... data to create a SecureValue
   *   }
   * })
   * 
   */
  create<T extends SecureValueCreateArgs>(args: Prisma.SelectSubset<T, SecureValueCreateArgs<ExtArgs>>): Prisma.Prisma__SecureValueClient<runtime.Types.Result.GetResult<Prisma.$SecureValuePayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

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

  /**
   * Create many SecureValues and returns the data saved in the database.
   * @param {SecureValueCreateManyAndReturnArgs} args - Arguments to create many SecureValues.
   * @example
   * // Create many SecureValues
   * const secureValue = await prisma.secureValue.createManyAndReturn({
   *   data: [
   *     // ... provide data here
   *   ]
   * })
   * 
   * // Create many SecureValues and only return the `id`
   * const secureValueWithIdOnly = await prisma.secureValue.createManyAndReturn({
   *   select: { id: true },
   *   data: [
   *     // ... provide data here
   *   ]
   * })
   * Note, that providing `undefined` is treated as the value not being there.
   * Read more here: https://pris.ly/d/null-undefined
   * 
   */
  createManyAndReturn<T extends SecureValueCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, SecureValueCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$SecureValuePayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>

  /**
   * Delete a SecureValue.
   * @param {SecureValueDeleteArgs} args - Arguments to delete one SecureValue.
   * @example
   * // Delete one SecureValue
   * const SecureValue = await prisma.secureValue.delete({
   *   where: {
   *     // ... filter to delete one SecureValue
   *   }
   * })
   * 
   */
  delete<T extends SecureValueDeleteArgs>(args: Prisma.SelectSubset<T, SecureValueDeleteArgs<ExtArgs>>): Prisma.Prisma__SecureValueClient<runtime.Types.Result.GetResult<Prisma.$SecureValuePayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

  /**
   * Update one SecureValue.
   * @param {SecureValueUpdateArgs} args - Arguments to update one SecureValue.
   * @example
   * // Update one SecureValue
   * const secureValue = await prisma.secureValue.update({
   *   where: {
   *     // ... provide filter here
   *   },
   *   data: {
   *     // ... provide data here
   *   }
   * })
   * 
   */
  update<T extends SecureValueUpdateArgs>(args: Prisma.SelectSubset<T, SecureValueUpdateArgs<ExtArgs>>): Prisma.Prisma__SecureValueClient<runtime.Types.Result.GetResult<Prisma.$SecureValuePayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>

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

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

  /**
   * Update zero or more SecureValues and returns the data updated in the database.
   * @param {SecureValueUpdateManyAndReturnArgs} args - Arguments to update many SecureValues.
   * @example
   * // Update many SecureValues
   * const secureValue = await prisma.secureValue.updateManyAndReturn({
   *   where: {
   *     // ... provide filter here
   *   },
   *   data: [
   *     // ... provide data here
   *   ]
   * })
   * 
   * // Update zero or more SecureValues and only return the `id`
   * const secureValueWithIdOnly = await prisma.secureValue.updateManyAndReturn({
   *   select: { id: true },
   *   where: {
   *     // ... provide filter here
   *   },
   *   data: [
   *     // ... provide data here
   *   ]
   * })
   * Note, that providing `undefined` is treated as the value not being there.
   * Read more here: https://pris.ly/d/null-undefined
   * 
   */
  updateManyAndReturn<T extends SecureValueUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, SecureValueUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$SecureValuePayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>

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


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

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

  /**
   * Group by SecureValue.
   * Note, that providing `undefined` is treated as the value not being there.
   * Read more here: https://pris.ly/d/null-undefined
   * @param {SecureValueGroupByArgs} 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 SecureValueGroupByArgs,
    HasSelectOrTake extends Prisma.Or<
      Prisma.Extends<'skip', Prisma.Keys<T>>,
      Prisma.Extends<'take', Prisma.Keys<T>>
    >,
    OrderByArg extends Prisma.True extends HasSelectOrTake
      ? { orderBy: SecureValueGroupByArgs['orderBy'] }
      : { orderBy?: SecureValueGroupByArgs['orderBy'] },
    OrderFields extends Prisma.ExcludeUnderscoreKeys<Prisma.Keys<Prisma.MaybeTupleToUnion<T['orderBy']>>>,
    ByFields extends Prisma.MaybeTupleToUnion<T['by']>,
    ByValid extends Prisma.Has<ByFields, OrderFields>,
    HavingFields extends Prisma.GetHavingFields<T['having']>,
    HavingValid extends Prisma.Has<ByFields, HavingFields>,
    ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False,
    InputErrors extends ByEmpty extends Prisma.True
    ? `Error: "by" must not be empty.`
    : HavingValid extends Prisma.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 Prisma.Keys<T>
    ? 'orderBy' extends Prisma.Keys<T>
      ? ByValid extends Prisma.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 Prisma.Keys<T>
    ? 'orderBy' extends Prisma.Keys<T>
      ? ByValid extends Prisma.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 Prisma.True
    ? {}
    : {
        [P in OrderFields]: P extends ByFields
          ? never
          : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
      }[OrderFields]
  >(args: Prisma.SubsetIntersection<T, SecureValueGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetSecureValueGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>
/**
 * Fields of the SecureValue model
 */
readonly fields: SecureValueFieldRefs;
}

/**
 * The delegate class that acts as a "Promise-like" for SecureValue.
 * 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__SecureValueClient<T, Null = never, ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
  readonly [Symbol.toStringTag]: "PrismaPromise"
  credential<T extends Prisma.CredentialDefaultArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.CredentialDefaultArgs<ExtArgs>>): Prisma.Prisma__CredentialClient<runtime.Types.Result.GetResult<Prisma.$CredentialPayload<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): runtime.Types.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): runtime.Types.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): runtime.Types.Utils.JsPromise<T>
}




/**
 * Fields of the SecureValue model
 */
export interface SecureValueFieldRefs {
  readonly id: Prisma.FieldRef<"SecureValue", 'String'>
  readonly name: Prisma.FieldRef<"SecureValue", 'String'>
  readonly content: Prisma.FieldRef<"SecureValue", 'String'>
  readonly hash: Prisma.FieldRef<"SecureValue", 'String'>
  readonly credentialId: Prisma.FieldRef<"SecureValue", 'String'>
  readonly createdAt: Prisma.FieldRef<"SecureValue", 'DateTime'>
  readonly updatedAt: Prisma.FieldRef<"SecureValue", 'DateTime'>
}
    

// Custom InputTypes
/**
 * SecureValue findUnique
 */
export type SecureValueFindUniqueArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the SecureValue
   */
  select?: Prisma.SecureValueSelect<ExtArgs> | null
  /**
   * Omit specific fields from the SecureValue
   */
  omit?: Prisma.SecureValueOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.SecureValueInclude<ExtArgs> | null
  /**
   * Filter, which SecureValue to fetch.
   */
  where: Prisma.SecureValueWhereUniqueInput
}

/**
 * SecureValue findUniqueOrThrow
 */
export type SecureValueFindUniqueOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the SecureValue
   */
  select?: Prisma.SecureValueSelect<ExtArgs> | null
  /**
   * Omit specific fields from the SecureValue
   */
  omit?: Prisma.SecureValueOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.SecureValueInclude<ExtArgs> | null
  /**
   * Filter, which SecureValue to fetch.
   */
  where: Prisma.SecureValueWhereUniqueInput
}

/**
 * SecureValue findFirst
 */
export type SecureValueFindFirstArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the SecureValue
   */
  select?: Prisma.SecureValueSelect<ExtArgs> | null
  /**
   * Omit specific fields from the SecureValue
   */
  omit?: Prisma.SecureValueOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.SecureValueInclude<ExtArgs> | null
  /**
   * Filter, which SecureValue to fetch.
   */
  where?: Prisma.SecureValueWhereInput
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
   * 
   * Determine the order of SecureValues to fetch.
   */
  orderBy?: Prisma.SecureValueOrderByWithRelationInput | Prisma.SecureValueOrderByWithRelationInput[]
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
   * 
   * Sets the position for searching for SecureValues.
   */
  cursor?: Prisma.SecureValueWhereUniqueInput
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
   * 
   * Take `±n` SecureValues 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` SecureValues.
   */
  skip?: number
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
   * 
   * Filter by unique combinations of SecureValues.
   */
  distinct?: Prisma.SecureValueScalarFieldEnum | Prisma.SecureValueScalarFieldEnum[]
}

/**
 * SecureValue findFirstOrThrow
 */
export type SecureValueFindFirstOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the SecureValue
   */
  select?: Prisma.SecureValueSelect<ExtArgs> | null
  /**
   * Omit specific fields from the SecureValue
   */
  omit?: Prisma.SecureValueOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.SecureValueInclude<ExtArgs> | null
  /**
   * Filter, which SecureValue to fetch.
   */
  where?: Prisma.SecureValueWhereInput
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
   * 
   * Determine the order of SecureValues to fetch.
   */
  orderBy?: Prisma.SecureValueOrderByWithRelationInput | Prisma.SecureValueOrderByWithRelationInput[]
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
   * 
   * Sets the position for searching for SecureValues.
   */
  cursor?: Prisma.SecureValueWhereUniqueInput
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
   * 
   * Take `±n` SecureValues 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` SecureValues.
   */
  skip?: number
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
   * 
   * Filter by unique combinations of SecureValues.
   */
  distinct?: Prisma.SecureValueScalarFieldEnum | Prisma.SecureValueScalarFieldEnum[]
}

/**
 * SecureValue findMany
 */
export type SecureValueFindManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the SecureValue
   */
  select?: Prisma.SecureValueSelect<ExtArgs> | null
  /**
   * Omit specific fields from the SecureValue
   */
  omit?: Prisma.SecureValueOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.SecureValueInclude<ExtArgs> | null
  /**
   * Filter, which SecureValues to fetch.
   */
  where?: Prisma.SecureValueWhereInput
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
   * 
   * Determine the order of SecureValues to fetch.
   */
  orderBy?: Prisma.SecureValueOrderByWithRelationInput | Prisma.SecureValueOrderByWithRelationInput[]
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
   * 
   * Sets the position for listing SecureValues.
   */
  cursor?: Prisma.SecureValueWhereUniqueInput
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
   * 
   * Take `±n` SecureValues 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` SecureValues.
   */
  skip?: number
  /**
   * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
   * 
   * Filter by unique combinations of SecureValues.
   */
  distinct?: Prisma.SecureValueScalarFieldEnum | Prisma.SecureValueScalarFieldEnum[]
}

/**
 * SecureValue create
 */
export type SecureValueCreateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the SecureValue
   */
  select?: Prisma.SecureValueSelect<ExtArgs> | null
  /**
   * Omit specific fields from the SecureValue
   */
  omit?: Prisma.SecureValueOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.SecureValueInclude<ExtArgs> | null
  /**
   * The data needed to create a SecureValue.
   */
  data: Prisma.XOR<Prisma.SecureValueCreateInput, Prisma.SecureValueUncheckedCreateInput>
}

/**
 * SecureValue createMany
 */
export type SecureValueCreateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * The data used to create many SecureValues.
   */
  data: Prisma.SecureValueCreateManyInput | Prisma.SecureValueCreateManyInput[]
  skipDuplicates?: boolean
}

/**
 * SecureValue createManyAndReturn
 */
export type SecureValueCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the SecureValue
   */
  select?: Prisma.SecureValueSelectCreateManyAndReturn<ExtArgs> | null
  /**
   * Omit specific fields from the SecureValue
   */
  omit?: Prisma.SecureValueOmit<ExtArgs> | null
  /**
   * The data used to create many SecureValues.
   */
  data: Prisma.SecureValueCreateManyInput | Prisma.SecureValueCreateManyInput[]
  skipDuplicates?: boolean
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.SecureValueIncludeCreateManyAndReturn<ExtArgs> | null
}

/**
 * SecureValue update
 */
export type SecureValueUpdateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the SecureValue
   */
  select?: Prisma.SecureValueSelect<ExtArgs> | null
  /**
   * Omit specific fields from the SecureValue
   */
  omit?: Prisma.SecureValueOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.SecureValueInclude<ExtArgs> | null
  /**
   * The data needed to update a SecureValue.
   */
  data: Prisma.XOR<Prisma.SecureValueUpdateInput, Prisma.SecureValueUncheckedUpdateInput>
  /**
   * Choose, which SecureValue to update.
   */
  where: Prisma.SecureValueWhereUniqueInput
}

/**
 * SecureValue updateMany
 */
export type SecureValueUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * The data used to update SecureValues.
   */
  data: Prisma.XOR<Prisma.SecureValueUpdateManyMutationInput, Prisma.SecureValueUncheckedUpdateManyInput>
  /**
   * Filter which SecureValues to update
   */
  where?: Prisma.SecureValueWhereInput
  /**
   * Limit how many SecureValues to update.
   */
  limit?: number
}

/**
 * SecureValue updateManyAndReturn
 */
export type SecureValueUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the SecureValue
   */
  select?: Prisma.SecureValueSelectUpdateManyAndReturn<ExtArgs> | null
  /**
   * Omit specific fields from the SecureValue
   */
  omit?: Prisma.SecureValueOmit<ExtArgs> | null
  /**
   * The data used to update SecureValues.
   */
  data: Prisma.XOR<Prisma.SecureValueUpdateManyMutationInput, Prisma.SecureValueUncheckedUpdateManyInput>
  /**
   * Filter which SecureValues to update
   */
  where?: Prisma.SecureValueWhereInput
  /**
   * Limit how many SecureValues to update.
   */
  limit?: number
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.SecureValueIncludeUpdateManyAndReturn<ExtArgs> | null
}

/**
 * SecureValue upsert
 */
export type SecureValueUpsertArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the SecureValue
   */
  select?: Prisma.SecureValueSelect<ExtArgs> | null
  /**
   * Omit specific fields from the SecureValue
   */
  omit?: Prisma.SecureValueOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.SecureValueInclude<ExtArgs> | null
  /**
   * The filter to search for the SecureValue to update in case it exists.
   */
  where: Prisma.SecureValueWhereUniqueInput
  /**
   * In case the SecureValue found by the `where` argument doesn't exist, create a new SecureValue with this data.
   */
  create: Prisma.XOR<Prisma.SecureValueCreateInput, Prisma.SecureValueUncheckedCreateInput>
  /**
   * In case the SecureValue was found with the provided `where` argument, update it with this data.
   */
  update: Prisma.XOR<Prisma.SecureValueUpdateInput, Prisma.SecureValueUncheckedUpdateInput>
}

/**
 * SecureValue delete
 */
export type SecureValueDeleteArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the SecureValue
   */
  select?: Prisma.SecureValueSelect<ExtArgs> | null
  /**
   * Omit specific fields from the SecureValue
   */
  omit?: Prisma.SecureValueOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.SecureValueInclude<ExtArgs> | null
  /**
   * Filter which SecureValue to delete.
   */
  where: Prisma.SecureValueWhereUniqueInput
}

/**
 * SecureValue deleteMany
 */
export type SecureValueDeleteManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Filter which SecureValues to delete
   */
  where?: Prisma.SecureValueWhereInput
  /**
   * Limit how many SecureValues to delete.
   */
  limit?: number
}

/**
 * SecureValue without action
 */
export type SecureValueDefaultArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
  /**
   * Select specific fields to fetch from the SecureValue
   */
  select?: Prisma.SecureValueSelect<ExtArgs> | null
  /**
   * Omit specific fields from the SecureValue
   */
  omit?: Prisma.SecureValueOmit<ExtArgs> | null
  /**
   * Choose, which related nodes to fetch as well
   */
  include?: Prisma.SecureValueInclude<ExtArgs> | null
}
