/**
 * This file exports the `migrations_two_factor` model and its related types.
 *
 * 🟢 You can import this file directly.
 */
import * as runtime from "@prisma/client/runtime/client";
import type * as Prisma from "../internal/prismaNamespace";
/**
 * Model migrations_two_factor
 *
 */
export type migrations_two_factorModel = runtime.Types.Result.DefaultSelection<Prisma.$migrations_two_factorPayload>;
export type AggregateMigrations_two_factor = {
    _count: Migrations_two_factorCountAggregateOutputType | null;
    _avg: Migrations_two_factorAvgAggregateOutputType | null;
    _sum: Migrations_two_factorSumAggregateOutputType | null;
    _min: Migrations_two_factorMinAggregateOutputType | null;
    _max: Migrations_two_factorMaxAggregateOutputType | null;
};
export type Migrations_two_factorAvgAggregateOutputType = {
    installed_rank: number | null;
    checksum: number | null;
    execution_time: number | null;
};
export type Migrations_two_factorSumAggregateOutputType = {
    installed_rank: number | null;
    checksum: number | null;
    execution_time: number | null;
};
export type Migrations_two_factorMinAggregateOutputType = {
    installed_rank: number | null;
    version: string | null;
    description: string | null;
    type: string | null;
    script: string | null;
    checksum: number | null;
    installed_by: string | null;
    installed_on: Date | null;
    execution_time: number | null;
    success: boolean | null;
};
export type Migrations_two_factorMaxAggregateOutputType = {
    installed_rank: number | null;
    version: string | null;
    description: string | null;
    type: string | null;
    script: string | null;
    checksum: number | null;
    installed_by: string | null;
    installed_on: Date | null;
    execution_time: number | null;
    success: boolean | null;
};
export type Migrations_two_factorCountAggregateOutputType = {
    installed_rank: number;
    version: number;
    description: number;
    type: number;
    script: number;
    checksum: number;
    installed_by: number;
    installed_on: number;
    execution_time: number;
    success: number;
    _all: number;
};
export type Migrations_two_factorAvgAggregateInputType = {
    installed_rank?: true;
    checksum?: true;
    execution_time?: true;
};
export type Migrations_two_factorSumAggregateInputType = {
    installed_rank?: true;
    checksum?: true;
    execution_time?: true;
};
export type Migrations_two_factorMinAggregateInputType = {
    installed_rank?: true;
    version?: true;
    description?: true;
    type?: true;
    script?: true;
    checksum?: true;
    installed_by?: true;
    installed_on?: true;
    execution_time?: true;
    success?: true;
};
export type Migrations_two_factorMaxAggregateInputType = {
    installed_rank?: true;
    version?: true;
    description?: true;
    type?: true;
    script?: true;
    checksum?: true;
    installed_by?: true;
    installed_on?: true;
    execution_time?: true;
    success?: true;
};
export type Migrations_two_factorCountAggregateInputType = {
    installed_rank?: true;
    version?: true;
    description?: true;
    type?: true;
    script?: true;
    checksum?: true;
    installed_by?: true;
    installed_on?: true;
    execution_time?: true;
    success?: true;
    _all?: true;
};
export type Migrations_two_factorAggregateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Filter which migrations_two_factor to aggregate.
     */
    where?: Prisma.migrations_two_factorWhereInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     *
     * Determine the order of migrations_two_factors to fetch.
     */
    orderBy?: Prisma.migrations_two_factorOrderByWithRelationInput | Prisma.migrations_two_factorOrderByWithRelationInput[];
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     *
     * Sets the start position
     */
    cursor?: Prisma.migrations_two_factorWhereUniqueInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     *
     * Take `±n` migrations_two_factors 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` migrations_two_factors.
     */
    skip?: number;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     *
     * Count returned migrations_two_factors
    **/
    _count?: true | Migrations_two_factorCountAggregateInputType;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     *
     * Select which fields to average
    **/
    _avg?: Migrations_two_factorAvgAggregateInputType;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     *
     * Select which fields to sum
    **/
    _sum?: Migrations_two_factorSumAggregateInputType;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     *
     * Select which fields to find the minimum value
    **/
    _min?: Migrations_two_factorMinAggregateInputType;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     *
     * Select which fields to find the maximum value
    **/
    _max?: Migrations_two_factorMaxAggregateInputType;
};
export type GetMigrations_two_factorAggregateType<T extends Migrations_two_factorAggregateArgs> = {
    [P in keyof T & keyof AggregateMigrations_two_factor]: P extends '_count' | 'count' ? T[P] extends true ? number : Prisma.GetScalarType<T[P], AggregateMigrations_two_factor[P]> : Prisma.GetScalarType<T[P], AggregateMigrations_two_factor[P]>;
};
export type migrations_two_factorGroupByArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    where?: Prisma.migrations_two_factorWhereInput;
    orderBy?: Prisma.migrations_two_factorOrderByWithAggregationInput | Prisma.migrations_two_factorOrderByWithAggregationInput[];
    by: Prisma.Migrations_two_factorScalarFieldEnum[] | Prisma.Migrations_two_factorScalarFieldEnum;
    having?: Prisma.migrations_two_factorScalarWhereWithAggregatesInput;
    take?: number;
    skip?: number;
    _count?: Migrations_two_factorCountAggregateInputType | true;
    _avg?: Migrations_two_factorAvgAggregateInputType;
    _sum?: Migrations_two_factorSumAggregateInputType;
    _min?: Migrations_two_factorMinAggregateInputType;
    _max?: Migrations_two_factorMaxAggregateInputType;
};
export type Migrations_two_factorGroupByOutputType = {
    installed_rank: number;
    version: string | null;
    description: string;
    type: string;
    script: string;
    checksum: number | null;
    installed_by: string;
    installed_on: Date;
    execution_time: number;
    success: boolean;
    _count: Migrations_two_factorCountAggregateOutputType | null;
    _avg: Migrations_two_factorAvgAggregateOutputType | null;
    _sum: Migrations_two_factorSumAggregateOutputType | null;
    _min: Migrations_two_factorMinAggregateOutputType | null;
    _max: Migrations_two_factorMaxAggregateOutputType | null;
};
type GetMigrations_two_factorGroupByPayload<T extends migrations_two_factorGroupByArgs> = Prisma.PrismaPromise<Array<Prisma.PickEnumerable<Migrations_two_factorGroupByOutputType, T['by']> & {
    [P in ((keyof T) & (keyof Migrations_two_factorGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : Prisma.GetScalarType<T[P], Migrations_two_factorGroupByOutputType[P]> : Prisma.GetScalarType<T[P], Migrations_two_factorGroupByOutputType[P]>;
}>>;
export type migrations_two_factorWhereInput = {
    AND?: Prisma.migrations_two_factorWhereInput | Prisma.migrations_two_factorWhereInput[];
    OR?: Prisma.migrations_two_factorWhereInput[];
    NOT?: Prisma.migrations_two_factorWhereInput | Prisma.migrations_two_factorWhereInput[];
    installed_rank?: Prisma.IntFilter<"migrations_two_factor"> | number;
    version?: Prisma.StringNullableFilter<"migrations_two_factor"> | string | null;
    description?: Prisma.StringFilter<"migrations_two_factor"> | string;
    type?: Prisma.StringFilter<"migrations_two_factor"> | string;
    script?: Prisma.StringFilter<"migrations_two_factor"> | string;
    checksum?: Prisma.IntNullableFilter<"migrations_two_factor"> | number | null;
    installed_by?: Prisma.StringFilter<"migrations_two_factor"> | string;
    installed_on?: Prisma.DateTimeFilter<"migrations_two_factor"> | Date | string;
    execution_time?: Prisma.IntFilter<"migrations_two_factor"> | number;
    success?: Prisma.BoolFilter<"migrations_two_factor"> | boolean;
};
export type migrations_two_factorOrderByWithRelationInput = {
    installed_rank?: Prisma.SortOrder;
    version?: Prisma.SortOrderInput | Prisma.SortOrder;
    description?: Prisma.SortOrder;
    type?: Prisma.SortOrder;
    script?: Prisma.SortOrder;
    checksum?: Prisma.SortOrderInput | Prisma.SortOrder;
    installed_by?: Prisma.SortOrder;
    installed_on?: Prisma.SortOrder;
    execution_time?: Prisma.SortOrder;
    success?: Prisma.SortOrder;
};
export type migrations_two_factorWhereUniqueInput = Prisma.AtLeast<{
    installed_rank?: number;
    AND?: Prisma.migrations_two_factorWhereInput | Prisma.migrations_two_factorWhereInput[];
    OR?: Prisma.migrations_two_factorWhereInput[];
    NOT?: Prisma.migrations_two_factorWhereInput | Prisma.migrations_two_factorWhereInput[];
    version?: Prisma.StringNullableFilter<"migrations_two_factor"> | string | null;
    description?: Prisma.StringFilter<"migrations_two_factor"> | string;
    type?: Prisma.StringFilter<"migrations_two_factor"> | string;
    script?: Prisma.StringFilter<"migrations_two_factor"> | string;
    checksum?: Prisma.IntNullableFilter<"migrations_two_factor"> | number | null;
    installed_by?: Prisma.StringFilter<"migrations_two_factor"> | string;
    installed_on?: Prisma.DateTimeFilter<"migrations_two_factor"> | Date | string;
    execution_time?: Prisma.IntFilter<"migrations_two_factor"> | number;
    success?: Prisma.BoolFilter<"migrations_two_factor"> | boolean;
}, "installed_rank">;
export type migrations_two_factorOrderByWithAggregationInput = {
    installed_rank?: Prisma.SortOrder;
    version?: Prisma.SortOrderInput | Prisma.SortOrder;
    description?: Prisma.SortOrder;
    type?: Prisma.SortOrder;
    script?: Prisma.SortOrder;
    checksum?: Prisma.SortOrderInput | Prisma.SortOrder;
    installed_by?: Prisma.SortOrder;
    installed_on?: Prisma.SortOrder;
    execution_time?: Prisma.SortOrder;
    success?: Prisma.SortOrder;
    _count?: Prisma.migrations_two_factorCountOrderByAggregateInput;
    _avg?: Prisma.migrations_two_factorAvgOrderByAggregateInput;
    _max?: Prisma.migrations_two_factorMaxOrderByAggregateInput;
    _min?: Prisma.migrations_two_factorMinOrderByAggregateInput;
    _sum?: Prisma.migrations_two_factorSumOrderByAggregateInput;
};
export type migrations_two_factorScalarWhereWithAggregatesInput = {
    AND?: Prisma.migrations_two_factorScalarWhereWithAggregatesInput | Prisma.migrations_two_factorScalarWhereWithAggregatesInput[];
    OR?: Prisma.migrations_two_factorScalarWhereWithAggregatesInput[];
    NOT?: Prisma.migrations_two_factorScalarWhereWithAggregatesInput | Prisma.migrations_two_factorScalarWhereWithAggregatesInput[];
    installed_rank?: Prisma.IntWithAggregatesFilter<"migrations_two_factor"> | number;
    version?: Prisma.StringNullableWithAggregatesFilter<"migrations_two_factor"> | string | null;
    description?: Prisma.StringWithAggregatesFilter<"migrations_two_factor"> | string;
    type?: Prisma.StringWithAggregatesFilter<"migrations_two_factor"> | string;
    script?: Prisma.StringWithAggregatesFilter<"migrations_two_factor"> | string;
    checksum?: Prisma.IntNullableWithAggregatesFilter<"migrations_two_factor"> | number | null;
    installed_by?: Prisma.StringWithAggregatesFilter<"migrations_two_factor"> | string;
    installed_on?: Prisma.DateTimeWithAggregatesFilter<"migrations_two_factor"> | Date | string;
    execution_time?: Prisma.IntWithAggregatesFilter<"migrations_two_factor"> | number;
    success?: Prisma.BoolWithAggregatesFilter<"migrations_two_factor"> | boolean;
};
export type migrations_two_factorCreateInput = {
    installed_rank: number;
    version?: string | null;
    description: string;
    type: string;
    script: string;
    checksum?: number | null;
    installed_by: string;
    installed_on?: Date | string;
    execution_time: number;
    success: boolean;
};
export type migrations_two_factorUncheckedCreateInput = {
    installed_rank: number;
    version?: string | null;
    description: string;
    type: string;
    script: string;
    checksum?: number | null;
    installed_by: string;
    installed_on?: Date | string;
    execution_time: number;
    success: boolean;
};
export type migrations_two_factorUpdateInput = {
    installed_rank?: Prisma.IntFieldUpdateOperationsInput | number;
    version?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    description?: Prisma.StringFieldUpdateOperationsInput | string;
    type?: Prisma.StringFieldUpdateOperationsInput | string;
    script?: Prisma.StringFieldUpdateOperationsInput | string;
    checksum?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
    installed_by?: Prisma.StringFieldUpdateOperationsInput | string;
    installed_on?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    execution_time?: Prisma.IntFieldUpdateOperationsInput | number;
    success?: Prisma.BoolFieldUpdateOperationsInput | boolean;
};
export type migrations_two_factorUncheckedUpdateInput = {
    installed_rank?: Prisma.IntFieldUpdateOperationsInput | number;
    version?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    description?: Prisma.StringFieldUpdateOperationsInput | string;
    type?: Prisma.StringFieldUpdateOperationsInput | string;
    script?: Prisma.StringFieldUpdateOperationsInput | string;
    checksum?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
    installed_by?: Prisma.StringFieldUpdateOperationsInput | string;
    installed_on?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    execution_time?: Prisma.IntFieldUpdateOperationsInput | number;
    success?: Prisma.BoolFieldUpdateOperationsInput | boolean;
};
export type migrations_two_factorCreateManyInput = {
    installed_rank: number;
    version?: string | null;
    description: string;
    type: string;
    script: string;
    checksum?: number | null;
    installed_by: string;
    installed_on?: Date | string;
    execution_time: number;
    success: boolean;
};
export type migrations_two_factorUpdateManyMutationInput = {
    installed_rank?: Prisma.IntFieldUpdateOperationsInput | number;
    version?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    description?: Prisma.StringFieldUpdateOperationsInput | string;
    type?: Prisma.StringFieldUpdateOperationsInput | string;
    script?: Prisma.StringFieldUpdateOperationsInput | string;
    checksum?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
    installed_by?: Prisma.StringFieldUpdateOperationsInput | string;
    installed_on?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    execution_time?: Prisma.IntFieldUpdateOperationsInput | number;
    success?: Prisma.BoolFieldUpdateOperationsInput | boolean;
};
export type migrations_two_factorUncheckedUpdateManyInput = {
    installed_rank?: Prisma.IntFieldUpdateOperationsInput | number;
    version?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    description?: Prisma.StringFieldUpdateOperationsInput | string;
    type?: Prisma.StringFieldUpdateOperationsInput | string;
    script?: Prisma.StringFieldUpdateOperationsInput | string;
    checksum?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
    installed_by?: Prisma.StringFieldUpdateOperationsInput | string;
    installed_on?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    execution_time?: Prisma.IntFieldUpdateOperationsInput | number;
    success?: Prisma.BoolFieldUpdateOperationsInput | boolean;
};
export type migrations_two_factorCountOrderByAggregateInput = {
    installed_rank?: Prisma.SortOrder;
    version?: Prisma.SortOrder;
    description?: Prisma.SortOrder;
    type?: Prisma.SortOrder;
    script?: Prisma.SortOrder;
    checksum?: Prisma.SortOrder;
    installed_by?: Prisma.SortOrder;
    installed_on?: Prisma.SortOrder;
    execution_time?: Prisma.SortOrder;
    success?: Prisma.SortOrder;
};
export type migrations_two_factorAvgOrderByAggregateInput = {
    installed_rank?: Prisma.SortOrder;
    checksum?: Prisma.SortOrder;
    execution_time?: Prisma.SortOrder;
};
export type migrations_two_factorMaxOrderByAggregateInput = {
    installed_rank?: Prisma.SortOrder;
    version?: Prisma.SortOrder;
    description?: Prisma.SortOrder;
    type?: Prisma.SortOrder;
    script?: Prisma.SortOrder;
    checksum?: Prisma.SortOrder;
    installed_by?: Prisma.SortOrder;
    installed_on?: Prisma.SortOrder;
    execution_time?: Prisma.SortOrder;
    success?: Prisma.SortOrder;
};
export type migrations_two_factorMinOrderByAggregateInput = {
    installed_rank?: Prisma.SortOrder;
    version?: Prisma.SortOrder;
    description?: Prisma.SortOrder;
    type?: Prisma.SortOrder;
    script?: Prisma.SortOrder;
    checksum?: Prisma.SortOrder;
    installed_by?: Prisma.SortOrder;
    installed_on?: Prisma.SortOrder;
    execution_time?: Prisma.SortOrder;
    success?: Prisma.SortOrder;
};
export type migrations_two_factorSumOrderByAggregateInput = {
    installed_rank?: Prisma.SortOrder;
    checksum?: Prisma.SortOrder;
    execution_time?: Prisma.SortOrder;
};
export type IntFieldUpdateOperationsInput = {
    set?: number;
    increment?: number;
    decrement?: number;
    multiply?: number;
    divide?: number;
};
export type NullableIntFieldUpdateOperationsInput = {
    set?: number | null;
    increment?: number;
    decrement?: number;
    multiply?: number;
    divide?: number;
};
export type migrations_two_factorSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
    installed_rank?: boolean;
    version?: boolean;
    description?: boolean;
    type?: boolean;
    script?: boolean;
    checksum?: boolean;
    installed_by?: boolean;
    installed_on?: boolean;
    execution_time?: boolean;
    success?: boolean;
}, ExtArgs["result"]["migrations_two_factor"]>;
export type migrations_two_factorSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
    installed_rank?: boolean;
    version?: boolean;
    description?: boolean;
    type?: boolean;
    script?: boolean;
    checksum?: boolean;
    installed_by?: boolean;
    installed_on?: boolean;
    execution_time?: boolean;
    success?: boolean;
}, ExtArgs["result"]["migrations_two_factor"]>;
export type migrations_two_factorSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
    installed_rank?: boolean;
    version?: boolean;
    description?: boolean;
    type?: boolean;
    script?: boolean;
    checksum?: boolean;
    installed_by?: boolean;
    installed_on?: boolean;
    execution_time?: boolean;
    success?: boolean;
}, ExtArgs["result"]["migrations_two_factor"]>;
export type migrations_two_factorSelectScalar = {
    installed_rank?: boolean;
    version?: boolean;
    description?: boolean;
    type?: boolean;
    script?: boolean;
    checksum?: boolean;
    installed_by?: boolean;
    installed_on?: boolean;
    execution_time?: boolean;
    success?: boolean;
};
export type migrations_two_factorOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"installed_rank" | "version" | "description" | "type" | "script" | "checksum" | "installed_by" | "installed_on" | "execution_time" | "success", ExtArgs["result"]["migrations_two_factor"]>;
export type $migrations_two_factorPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    name: "migrations_two_factor";
    objects: {};
    scalars: runtime.Types.Extensions.GetPayloadResult<{
        installed_rank: number;
        version: string | null;
        description: string;
        type: string;
        script: string;
        checksum: number | null;
        installed_by: string;
        installed_on: Date;
        execution_time: number;
        success: boolean;
    }, ExtArgs["result"]["migrations_two_factor"]>;
    composites: {};
};
export type migrations_two_factorGetPayload<S extends boolean | null | undefined | migrations_two_factorDefaultArgs> = runtime.Types.Result.GetResult<Prisma.$migrations_two_factorPayload, S>;
export type migrations_two_factorCountArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = Omit<migrations_two_factorFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
    select?: Migrations_two_factorCountAggregateInputType | true;
};
export interface migrations_two_factorDelegate<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> {
    [K: symbol]: {
        types: Prisma.TypeMap<ExtArgs>['model']['migrations_two_factor'];
        meta: {
            name: 'migrations_two_factor';
        };
    };
    /**
     * Find zero or one Migrations_two_factor that matches the filter.
     * @param {migrations_two_factorFindUniqueArgs} args - Arguments to find a Migrations_two_factor
     * @example
     * // Get one Migrations_two_factor
     * const migrations_two_factor = await prisma.migrations_two_factor.findUnique({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUnique<T extends migrations_two_factorFindUniqueArgs>(args: Prisma.SelectSubset<T, migrations_two_factorFindUniqueArgs<ExtArgs>>): Prisma.Prisma__migrations_two_factorClient<runtime.Types.Result.GetResult<Prisma.$migrations_two_factorPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>;
    /**
     * Find one Migrations_two_factor that matches the filter or throw an error with `error.code='P2025'`
     * if no matches were found.
     * @param {migrations_two_factorFindUniqueOrThrowArgs} args - Arguments to find a Migrations_two_factor
     * @example
     * // Get one Migrations_two_factor
     * const migrations_two_factor = await prisma.migrations_two_factor.findUniqueOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUniqueOrThrow<T extends migrations_two_factorFindUniqueOrThrowArgs>(args: Prisma.SelectSubset<T, migrations_two_factorFindUniqueOrThrowArgs<ExtArgs>>): Prisma.Prisma__migrations_two_factorClient<runtime.Types.Result.GetResult<Prisma.$migrations_two_factorPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    /**
     * Find the first Migrations_two_factor 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 {migrations_two_factorFindFirstArgs} args - Arguments to find a Migrations_two_factor
     * @example
     * // Get one Migrations_two_factor
     * const migrations_two_factor = await prisma.migrations_two_factor.findFirst({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirst<T extends migrations_two_factorFindFirstArgs>(args?: Prisma.SelectSubset<T, migrations_two_factorFindFirstArgs<ExtArgs>>): Prisma.Prisma__migrations_two_factorClient<runtime.Types.Result.GetResult<Prisma.$migrations_two_factorPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>;
    /**
     * Find the first Migrations_two_factor 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 {migrations_two_factorFindFirstOrThrowArgs} args - Arguments to find a Migrations_two_factor
     * @example
     * // Get one Migrations_two_factor
     * const migrations_two_factor = await prisma.migrations_two_factor.findFirstOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirstOrThrow<T extends migrations_two_factorFindFirstOrThrowArgs>(args?: Prisma.SelectSubset<T, migrations_two_factorFindFirstOrThrowArgs<ExtArgs>>): Prisma.Prisma__migrations_two_factorClient<runtime.Types.Result.GetResult<Prisma.$migrations_two_factorPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    /**
     * Find zero or more Migrations_two_factors 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 {migrations_two_factorFindManyArgs} args - Arguments to filter and select certain fields only.
     * @example
     * // Get all Migrations_two_factors
     * const migrations_two_factors = await prisma.migrations_two_factor.findMany()
     *
     * // Get first 10 Migrations_two_factors
     * const migrations_two_factors = await prisma.migrations_two_factor.findMany({ take: 10 })
     *
     * // Only select the `installed_rank`
     * const migrations_two_factorWithInstalled_rankOnly = await prisma.migrations_two_factor.findMany({ select: { installed_rank: true } })
     *
     */
    findMany<T extends migrations_two_factorFindManyArgs>(args?: Prisma.SelectSubset<T, migrations_two_factorFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$migrations_two_factorPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>;
    /**
     * Create a Migrations_two_factor.
     * @param {migrations_two_factorCreateArgs} args - Arguments to create a Migrations_two_factor.
     * @example
     * // Create one Migrations_two_factor
     * const Migrations_two_factor = await prisma.migrations_two_factor.create({
     *   data: {
     *     // ... data to create a Migrations_two_factor
     *   }
     * })
     *
     */
    create<T extends migrations_two_factorCreateArgs>(args: Prisma.SelectSubset<T, migrations_two_factorCreateArgs<ExtArgs>>): Prisma.Prisma__migrations_two_factorClient<runtime.Types.Result.GetResult<Prisma.$migrations_two_factorPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    /**
     * Create many Migrations_two_factors.
     * @param {migrations_two_factorCreateManyArgs} args - Arguments to create many Migrations_two_factors.
     * @example
     * // Create many Migrations_two_factors
     * const migrations_two_factor = await prisma.migrations_two_factor.createMany({
     *   data: [
     *     // ... provide data here
     *   ]
     * })
     *
     */
    createMany<T extends migrations_two_factorCreateManyArgs>(args?: Prisma.SelectSubset<T, migrations_two_factorCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>;
    /**
     * Create many Migrations_two_factors and returns the data saved in the database.
     * @param {migrations_two_factorCreateManyAndReturnArgs} args - Arguments to create many Migrations_two_factors.
     * @example
     * // Create many Migrations_two_factors
     * const migrations_two_factor = await prisma.migrations_two_factor.createManyAndReturn({
     *   data: [
     *     // ... provide data here
     *   ]
     * })
     *
     * // Create many Migrations_two_factors and only return the `installed_rank`
     * const migrations_two_factorWithInstalled_rankOnly = await prisma.migrations_two_factor.createManyAndReturn({
     *   select: { installed_rank: 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 migrations_two_factorCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, migrations_two_factorCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$migrations_two_factorPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>;
    /**
     * Delete a Migrations_two_factor.
     * @param {migrations_two_factorDeleteArgs} args - Arguments to delete one Migrations_two_factor.
     * @example
     * // Delete one Migrations_two_factor
     * const Migrations_two_factor = await prisma.migrations_two_factor.delete({
     *   where: {
     *     // ... filter to delete one Migrations_two_factor
     *   }
     * })
     *
     */
    delete<T extends migrations_two_factorDeleteArgs>(args: Prisma.SelectSubset<T, migrations_two_factorDeleteArgs<ExtArgs>>): Prisma.Prisma__migrations_two_factorClient<runtime.Types.Result.GetResult<Prisma.$migrations_two_factorPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    /**
     * Update one Migrations_two_factor.
     * @param {migrations_two_factorUpdateArgs} args - Arguments to update one Migrations_two_factor.
     * @example
     * // Update one Migrations_two_factor
     * const migrations_two_factor = await prisma.migrations_two_factor.update({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     *
     */
    update<T extends migrations_two_factorUpdateArgs>(args: Prisma.SelectSubset<T, migrations_two_factorUpdateArgs<ExtArgs>>): Prisma.Prisma__migrations_two_factorClient<runtime.Types.Result.GetResult<Prisma.$migrations_two_factorPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    /**
     * Delete zero or more Migrations_two_factors.
     * @param {migrations_two_factorDeleteManyArgs} args - Arguments to filter Migrations_two_factors to delete.
     * @example
     * // Delete a few Migrations_two_factors
     * const { count } = await prisma.migrations_two_factor.deleteMany({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     *
     */
    deleteMany<T extends migrations_two_factorDeleteManyArgs>(args?: Prisma.SelectSubset<T, migrations_two_factorDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>;
    /**
     * Update zero or more Migrations_two_factors.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {migrations_two_factorUpdateManyArgs} args - Arguments to update one or more rows.
     * @example
     * // Update many Migrations_two_factors
     * const migrations_two_factor = await prisma.migrations_two_factor.updateMany({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     *
     */
    updateMany<T extends migrations_two_factorUpdateManyArgs>(args: Prisma.SelectSubset<T, migrations_two_factorUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>;
    /**
     * Update zero or more Migrations_two_factors and returns the data updated in the database.
     * @param {migrations_two_factorUpdateManyAndReturnArgs} args - Arguments to update many Migrations_two_factors.
     * @example
     * // Update many Migrations_two_factors
     * const migrations_two_factor = await prisma.migrations_two_factor.updateManyAndReturn({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: [
     *     // ... provide data here
     *   ]
     * })
     *
     * // Update zero or more Migrations_two_factors and only return the `installed_rank`
     * const migrations_two_factorWithInstalled_rankOnly = await prisma.migrations_two_factor.updateManyAndReturn({
     *   select: { installed_rank: 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 migrations_two_factorUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, migrations_two_factorUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$migrations_two_factorPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>;
    /**
     * Create or update one Migrations_two_factor.
     * @param {migrations_two_factorUpsertArgs} args - Arguments to update or create a Migrations_two_factor.
     * @example
     * // Update or create a Migrations_two_factor
     * const migrations_two_factor = await prisma.migrations_two_factor.upsert({
     *   create: {
     *     // ... data to create a Migrations_two_factor
     *   },
     *   update: {
     *     // ... in case it already exists, update
     *   },
     *   where: {
     *     // ... the filter for the Migrations_two_factor we want to update
     *   }
     * })
     */
    upsert<T extends migrations_two_factorUpsertArgs>(args: Prisma.SelectSubset<T, migrations_two_factorUpsertArgs<ExtArgs>>): Prisma.Prisma__migrations_two_factorClient<runtime.Types.Result.GetResult<Prisma.$migrations_two_factorPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    /**
     * Count the number of Migrations_two_factors.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {migrations_two_factorCountArgs} args - Arguments to filter Migrations_two_factors to count.
     * @example
     * // Count the number of Migrations_two_factors
     * const count = await prisma.migrations_two_factor.count({
     *   where: {
     *     // ... the filter for the Migrations_two_factors we want to count
     *   }
     * })
    **/
    count<T extends migrations_two_factorCountArgs>(args?: Prisma.Subset<T, migrations_two_factorCountArgs>): Prisma.PrismaPromise<T extends runtime.Types.Utils.Record<'select', any> ? T['select'] extends true ? number : Prisma.GetScalarType<T['select'], Migrations_two_factorCountAggregateOutputType> : number>;
    /**
     * Allows you to perform aggregations operations on a Migrations_two_factor.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {Migrations_two_factorAggregateArgs} 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 Migrations_two_factorAggregateArgs>(args: Prisma.Subset<T, Migrations_two_factorAggregateArgs>): Prisma.PrismaPromise<GetMigrations_two_factorAggregateType<T>>;
    /**
     * Group by Migrations_two_factor.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {migrations_two_factorGroupByArgs} 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 migrations_two_factorGroupByArgs, HasSelectOrTake extends Prisma.Or<Prisma.Extends<'skip', Prisma.Keys<T>>, Prisma.Extends<'take', Prisma.Keys<T>>>, OrderByArg extends Prisma.True extends HasSelectOrTake ? {
        orderBy: migrations_two_factorGroupByArgs['orderBy'];
    } : {
        orderBy?: migrations_two_factorGroupByArgs['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, migrations_two_factorGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetMigrations_two_factorGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>;
    /**
     * Fields of the migrations_two_factor model
     */
    readonly fields: migrations_two_factorFieldRefs;
}
/**
 * The delegate class that acts as a "Promise-like" for migrations_two_factor.
 * 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__migrations_two_factorClient<T, Null = never, ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.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): 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 migrations_two_factor model
 */
export interface migrations_two_factorFieldRefs {
    readonly installed_rank: Prisma.FieldRef<"migrations_two_factor", 'Int'>;
    readonly version: Prisma.FieldRef<"migrations_two_factor", 'String'>;
    readonly description: Prisma.FieldRef<"migrations_two_factor", 'String'>;
    readonly type: Prisma.FieldRef<"migrations_two_factor", 'String'>;
    readonly script: Prisma.FieldRef<"migrations_two_factor", 'String'>;
    readonly checksum: Prisma.FieldRef<"migrations_two_factor", 'Int'>;
    readonly installed_by: Prisma.FieldRef<"migrations_two_factor", 'String'>;
    readonly installed_on: Prisma.FieldRef<"migrations_two_factor", 'DateTime'>;
    readonly execution_time: Prisma.FieldRef<"migrations_two_factor", 'Int'>;
    readonly success: Prisma.FieldRef<"migrations_two_factor", 'Boolean'>;
}
/**
 * migrations_two_factor findUnique
 */
export type migrations_two_factorFindUniqueArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the migrations_two_factor
     */
    select?: Prisma.migrations_two_factorSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the migrations_two_factor
     */
    omit?: Prisma.migrations_two_factorOmit<ExtArgs> | null;
    /**
     * Filter, which migrations_two_factor to fetch.
     */
    where: Prisma.migrations_two_factorWhereUniqueInput;
};
/**
 * migrations_two_factor findUniqueOrThrow
 */
export type migrations_two_factorFindUniqueOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the migrations_two_factor
     */
    select?: Prisma.migrations_two_factorSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the migrations_two_factor
     */
    omit?: Prisma.migrations_two_factorOmit<ExtArgs> | null;
    /**
     * Filter, which migrations_two_factor to fetch.
     */
    where: Prisma.migrations_two_factorWhereUniqueInput;
};
/**
 * migrations_two_factor findFirst
 */
export type migrations_two_factorFindFirstArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the migrations_two_factor
     */
    select?: Prisma.migrations_two_factorSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the migrations_two_factor
     */
    omit?: Prisma.migrations_two_factorOmit<ExtArgs> | null;
    /**
     * Filter, which migrations_two_factor to fetch.
     */
    where?: Prisma.migrations_two_factorWhereInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     *
     * Determine the order of migrations_two_factors to fetch.
     */
    orderBy?: Prisma.migrations_two_factorOrderByWithRelationInput | Prisma.migrations_two_factorOrderByWithRelationInput[];
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     *
     * Sets the position for searching for migrations_two_factors.
     */
    cursor?: Prisma.migrations_two_factorWhereUniqueInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     *
     * Take `±n` migrations_two_factors 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` migrations_two_factors.
     */
    skip?: number;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     *
     * Filter by unique combinations of migrations_two_factors.
     */
    distinct?: Prisma.Migrations_two_factorScalarFieldEnum | Prisma.Migrations_two_factorScalarFieldEnum[];
};
/**
 * migrations_two_factor findFirstOrThrow
 */
export type migrations_two_factorFindFirstOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the migrations_two_factor
     */
    select?: Prisma.migrations_two_factorSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the migrations_two_factor
     */
    omit?: Prisma.migrations_two_factorOmit<ExtArgs> | null;
    /**
     * Filter, which migrations_two_factor to fetch.
     */
    where?: Prisma.migrations_two_factorWhereInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     *
     * Determine the order of migrations_two_factors to fetch.
     */
    orderBy?: Prisma.migrations_two_factorOrderByWithRelationInput | Prisma.migrations_two_factorOrderByWithRelationInput[];
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     *
     * Sets the position for searching for migrations_two_factors.
     */
    cursor?: Prisma.migrations_two_factorWhereUniqueInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     *
     * Take `±n` migrations_two_factors 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` migrations_two_factors.
     */
    skip?: number;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     *
     * Filter by unique combinations of migrations_two_factors.
     */
    distinct?: Prisma.Migrations_two_factorScalarFieldEnum | Prisma.Migrations_two_factorScalarFieldEnum[];
};
/**
 * migrations_two_factor findMany
 */
export type migrations_two_factorFindManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the migrations_two_factor
     */
    select?: Prisma.migrations_two_factorSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the migrations_two_factor
     */
    omit?: Prisma.migrations_two_factorOmit<ExtArgs> | null;
    /**
     * Filter, which migrations_two_factors to fetch.
     */
    where?: Prisma.migrations_two_factorWhereInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     *
     * Determine the order of migrations_two_factors to fetch.
     */
    orderBy?: Prisma.migrations_two_factorOrderByWithRelationInput | Prisma.migrations_two_factorOrderByWithRelationInput[];
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     *
     * Sets the position for listing migrations_two_factors.
     */
    cursor?: Prisma.migrations_two_factorWhereUniqueInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     *
     * Take `±n` migrations_two_factors 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` migrations_two_factors.
     */
    skip?: number;
    distinct?: Prisma.Migrations_two_factorScalarFieldEnum | Prisma.Migrations_two_factorScalarFieldEnum[];
};
/**
 * migrations_two_factor create
 */
export type migrations_two_factorCreateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the migrations_two_factor
     */
    select?: Prisma.migrations_two_factorSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the migrations_two_factor
     */
    omit?: Prisma.migrations_two_factorOmit<ExtArgs> | null;
    /**
     * The data needed to create a migrations_two_factor.
     */
    data: Prisma.XOR<Prisma.migrations_two_factorCreateInput, Prisma.migrations_two_factorUncheckedCreateInput>;
};
/**
 * migrations_two_factor createMany
 */
export type migrations_two_factorCreateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * The data used to create many migrations_two_factors.
     */
    data: Prisma.migrations_two_factorCreateManyInput | Prisma.migrations_two_factorCreateManyInput[];
    skipDuplicates?: boolean;
};
/**
 * migrations_two_factor createManyAndReturn
 */
export type migrations_two_factorCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the migrations_two_factor
     */
    select?: Prisma.migrations_two_factorSelectCreateManyAndReturn<ExtArgs> | null;
    /**
     * Omit specific fields from the migrations_two_factor
     */
    omit?: Prisma.migrations_two_factorOmit<ExtArgs> | null;
    /**
     * The data used to create many migrations_two_factors.
     */
    data: Prisma.migrations_two_factorCreateManyInput | Prisma.migrations_two_factorCreateManyInput[];
    skipDuplicates?: boolean;
};
/**
 * migrations_two_factor update
 */
export type migrations_two_factorUpdateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the migrations_two_factor
     */
    select?: Prisma.migrations_two_factorSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the migrations_two_factor
     */
    omit?: Prisma.migrations_two_factorOmit<ExtArgs> | null;
    /**
     * The data needed to update a migrations_two_factor.
     */
    data: Prisma.XOR<Prisma.migrations_two_factorUpdateInput, Prisma.migrations_two_factorUncheckedUpdateInput>;
    /**
     * Choose, which migrations_two_factor to update.
     */
    where: Prisma.migrations_two_factorWhereUniqueInput;
};
/**
 * migrations_two_factor updateMany
 */
export type migrations_two_factorUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * The data used to update migrations_two_factors.
     */
    data: Prisma.XOR<Prisma.migrations_two_factorUpdateManyMutationInput, Prisma.migrations_two_factorUncheckedUpdateManyInput>;
    /**
     * Filter which migrations_two_factors to update
     */
    where?: Prisma.migrations_two_factorWhereInput;
    /**
     * Limit how many migrations_two_factors to update.
     */
    limit?: number;
};
/**
 * migrations_two_factor updateManyAndReturn
 */
export type migrations_two_factorUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the migrations_two_factor
     */
    select?: Prisma.migrations_two_factorSelectUpdateManyAndReturn<ExtArgs> | null;
    /**
     * Omit specific fields from the migrations_two_factor
     */
    omit?: Prisma.migrations_two_factorOmit<ExtArgs> | null;
    /**
     * The data used to update migrations_two_factors.
     */
    data: Prisma.XOR<Prisma.migrations_two_factorUpdateManyMutationInput, Prisma.migrations_two_factorUncheckedUpdateManyInput>;
    /**
     * Filter which migrations_two_factors to update
     */
    where?: Prisma.migrations_two_factorWhereInput;
    /**
     * Limit how many migrations_two_factors to update.
     */
    limit?: number;
};
/**
 * migrations_two_factor upsert
 */
export type migrations_two_factorUpsertArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the migrations_two_factor
     */
    select?: Prisma.migrations_two_factorSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the migrations_two_factor
     */
    omit?: Prisma.migrations_two_factorOmit<ExtArgs> | null;
    /**
     * The filter to search for the migrations_two_factor to update in case it exists.
     */
    where: Prisma.migrations_two_factorWhereUniqueInput;
    /**
     * In case the migrations_two_factor found by the `where` argument doesn't exist, create a new migrations_two_factor with this data.
     */
    create: Prisma.XOR<Prisma.migrations_two_factorCreateInput, Prisma.migrations_two_factorUncheckedCreateInput>;
    /**
     * In case the migrations_two_factor was found with the provided `where` argument, update it with this data.
     */
    update: Prisma.XOR<Prisma.migrations_two_factorUpdateInput, Prisma.migrations_two_factorUncheckedUpdateInput>;
};
/**
 * migrations_two_factor delete
 */
export type migrations_two_factorDeleteArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the migrations_two_factor
     */
    select?: Prisma.migrations_two_factorSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the migrations_two_factor
     */
    omit?: Prisma.migrations_two_factorOmit<ExtArgs> | null;
    /**
     * Filter which migrations_two_factor to delete.
     */
    where: Prisma.migrations_two_factorWhereUniqueInput;
};
/**
 * migrations_two_factor deleteMany
 */
export type migrations_two_factorDeleteManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Filter which migrations_two_factors to delete
     */
    where?: Prisma.migrations_two_factorWhereInput;
    /**
     * Limit how many migrations_two_factors to delete.
     */
    limit?: number;
};
/**
 * migrations_two_factor without action
 */
export type migrations_two_factorDefaultArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the migrations_two_factor
     */
    select?: Prisma.migrations_two_factorSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the migrations_two_factor
     */
    omit?: Prisma.migrations_two_factorOmit<ExtArgs> | null;
};
export {};
