import type * as runtime from "@prisma/client/runtime/client";
import type * as Prisma from "../internal/prismaNamespace";
export type UserModel = runtime.Types.Result.DefaultSelection<Prisma.$UserPayload>;
export type AggregateUser = {
    _count: UserCountAggregateOutputType | null;
    _min: UserMinAggregateOutputType | null;
    _max: UserMaxAggregateOutputType | null;
};
export type UserMinAggregateOutputType = {
    id: string | null;
    email: string | null;
    hash: string | null;
    firstName: string | null;
    lastName: string | null;
    roleId: string | null;
    createdAt: Date | null;
    modifiedAt: Date | null;
};
export type UserMaxAggregateOutputType = {
    id: string | null;
    email: string | null;
    hash: string | null;
    firstName: string | null;
    lastName: string | null;
    roleId: string | null;
    createdAt: Date | null;
    modifiedAt: Date | null;
};
export type UserCountAggregateOutputType = {
    id: number;
    email: number;
    hash: number;
    firstName: number;
    lastName: number;
    roleId: number;
    createdAt: number;
    modifiedAt: number;
    _all: number;
};
export type UserMinAggregateInputType = {
    id?: true;
    email?: true;
    hash?: true;
    firstName?: true;
    lastName?: true;
    roleId?: true;
    createdAt?: true;
    modifiedAt?: true;
};
export type UserMaxAggregateInputType = {
    id?: true;
    email?: true;
    hash?: true;
    firstName?: true;
    lastName?: true;
    roleId?: true;
    createdAt?: true;
    modifiedAt?: true;
};
export type UserCountAggregateInputType = {
    id?: true;
    email?: true;
    hash?: true;
    firstName?: true;
    lastName?: true;
    roleId?: true;
    createdAt?: true;
    modifiedAt?: true;
    _all?: true;
};
export type UserAggregateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    where?: Prisma.UserWhereInput;
    orderBy?: Prisma.UserOrderByWithRelationInput | Prisma.UserOrderByWithRelationInput[];
    cursor?: Prisma.UserWhereUniqueInput;
    take?: number;
    skip?: number;
    _count?: true | UserCountAggregateInputType;
    _min?: UserMinAggregateInputType;
    _max?: UserMaxAggregateInputType;
};
export type GetUserAggregateType<T extends UserAggregateArgs> = {
    [P in keyof T & keyof AggregateUser]: P extends '_count' | 'count' ? T[P] extends true ? number : Prisma.GetScalarType<T[P], AggregateUser[P]> : Prisma.GetScalarType<T[P], AggregateUser[P]>;
};
export type UserGroupByArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    where?: Prisma.UserWhereInput;
    orderBy?: Prisma.UserOrderByWithAggregationInput | Prisma.UserOrderByWithAggregationInput[];
    by: Prisma.UserScalarFieldEnum[] | Prisma.UserScalarFieldEnum;
    having?: Prisma.UserScalarWhereWithAggregatesInput;
    take?: number;
    skip?: number;
    _count?: UserCountAggregateInputType | true;
    _min?: UserMinAggregateInputType;
    _max?: UserMaxAggregateInputType;
};
export type UserGroupByOutputType = {
    id: string;
    email: string;
    hash: string;
    firstName: string | null;
    lastName: string | null;
    roleId: string;
    createdAt: Date;
    modifiedAt: Date;
    _count: UserCountAggregateOutputType | null;
    _min: UserMinAggregateOutputType | null;
    _max: UserMaxAggregateOutputType | null;
};
type GetUserGroupByPayload<T extends UserGroupByArgs> = Prisma.PrismaPromise<Array<Prisma.PickEnumerable<UserGroupByOutputType, T['by']> & {
    [P in ((keyof T) & (keyof UserGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : Prisma.GetScalarType<T[P], UserGroupByOutputType[P]> : Prisma.GetScalarType<T[P], UserGroupByOutputType[P]>;
}>>;
export type UserWhereInput = {
    AND?: Prisma.UserWhereInput | Prisma.UserWhereInput[];
    OR?: Prisma.UserWhereInput[];
    NOT?: Prisma.UserWhereInput | Prisma.UserWhereInput[];
    id?: Prisma.StringFilter<"User"> | string;
    email?: Prisma.StringFilter<"User"> | string;
    hash?: Prisma.StringFilter<"User"> | string;
    firstName?: Prisma.StringNullableFilter<"User"> | string | null;
    lastName?: Prisma.StringNullableFilter<"User"> | string | null;
    roleId?: Prisma.StringFilter<"User"> | string;
    createdAt?: Prisma.DateTimeFilter<"User"> | Date | string;
    modifiedAt?: Prisma.DateTimeFilter<"User"> | Date | string;
    role?: Prisma.XOR<Prisma.RoleScalarRelationFilter, Prisma.RoleWhereInput>;
    branches?: Prisma.UserBranchListRelationFilter;
    transactions?: Prisma.TransactionListRelationFilter;
    completedTransactions?: Prisma.TransactionListRelationFilter;
    createdTransactions?: Prisma.TransactionListRelationFilter;
    modifiedTransactions?: Prisma.TransactionListRelationFilter;
    auditLogsAuthored?: Prisma.AuditLogListRelationFilter;
    paymentsCreated?: Prisma.PaymentListRelationFilter;
};
export type UserOrderByWithRelationInput = {
    id?: Prisma.SortOrder;
    email?: Prisma.SortOrder;
    hash?: Prisma.SortOrder;
    firstName?: Prisma.SortOrderInput | Prisma.SortOrder;
    lastName?: Prisma.SortOrderInput | Prisma.SortOrder;
    roleId?: Prisma.SortOrder;
    createdAt?: Prisma.SortOrder;
    modifiedAt?: Prisma.SortOrder;
    role?: Prisma.RoleOrderByWithRelationInput;
    branches?: Prisma.UserBranchOrderByRelationAggregateInput;
    transactions?: Prisma.TransactionOrderByRelationAggregateInput;
    completedTransactions?: Prisma.TransactionOrderByRelationAggregateInput;
    createdTransactions?: Prisma.TransactionOrderByRelationAggregateInput;
    modifiedTransactions?: Prisma.TransactionOrderByRelationAggregateInput;
    auditLogsAuthored?: Prisma.AuditLogOrderByRelationAggregateInput;
    paymentsCreated?: Prisma.PaymentOrderByRelationAggregateInput;
};
export type UserWhereUniqueInput = Prisma.AtLeast<{
    id?: string;
    email?: string;
    AND?: Prisma.UserWhereInput | Prisma.UserWhereInput[];
    OR?: Prisma.UserWhereInput[];
    NOT?: Prisma.UserWhereInput | Prisma.UserWhereInput[];
    hash?: Prisma.StringFilter<"User"> | string;
    firstName?: Prisma.StringNullableFilter<"User"> | string | null;
    lastName?: Prisma.StringNullableFilter<"User"> | string | null;
    roleId?: Prisma.StringFilter<"User"> | string;
    createdAt?: Prisma.DateTimeFilter<"User"> | Date | string;
    modifiedAt?: Prisma.DateTimeFilter<"User"> | Date | string;
    role?: Prisma.XOR<Prisma.RoleScalarRelationFilter, Prisma.RoleWhereInput>;
    branches?: Prisma.UserBranchListRelationFilter;
    transactions?: Prisma.TransactionListRelationFilter;
    completedTransactions?: Prisma.TransactionListRelationFilter;
    createdTransactions?: Prisma.TransactionListRelationFilter;
    modifiedTransactions?: Prisma.TransactionListRelationFilter;
    auditLogsAuthored?: Prisma.AuditLogListRelationFilter;
    paymentsCreated?: Prisma.PaymentListRelationFilter;
}, "id" | "email">;
export type UserOrderByWithAggregationInput = {
    id?: Prisma.SortOrder;
    email?: Prisma.SortOrder;
    hash?: Prisma.SortOrder;
    firstName?: Prisma.SortOrderInput | Prisma.SortOrder;
    lastName?: Prisma.SortOrderInput | Prisma.SortOrder;
    roleId?: Prisma.SortOrder;
    createdAt?: Prisma.SortOrder;
    modifiedAt?: Prisma.SortOrder;
    _count?: Prisma.UserCountOrderByAggregateInput;
    _max?: Prisma.UserMaxOrderByAggregateInput;
    _min?: Prisma.UserMinOrderByAggregateInput;
};
export type UserScalarWhereWithAggregatesInput = {
    AND?: Prisma.UserScalarWhereWithAggregatesInput | Prisma.UserScalarWhereWithAggregatesInput[];
    OR?: Prisma.UserScalarWhereWithAggregatesInput[];
    NOT?: Prisma.UserScalarWhereWithAggregatesInput | Prisma.UserScalarWhereWithAggregatesInput[];
    id?: Prisma.StringWithAggregatesFilter<"User"> | string;
    email?: Prisma.StringWithAggregatesFilter<"User"> | string;
    hash?: Prisma.StringWithAggregatesFilter<"User"> | string;
    firstName?: Prisma.StringNullableWithAggregatesFilter<"User"> | string | null;
    lastName?: Prisma.StringNullableWithAggregatesFilter<"User"> | string | null;
    roleId?: Prisma.StringWithAggregatesFilter<"User"> | string;
    createdAt?: Prisma.DateTimeWithAggregatesFilter<"User"> | Date | string;
    modifiedAt?: Prisma.DateTimeWithAggregatesFilter<"User"> | Date | string;
};
export type UserCreateInput = {
    id?: string;
    email: string;
    hash: string;
    firstName?: string | null;
    lastName?: string | null;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    role: Prisma.RoleCreateNestedOneWithoutUsersInput;
    branches?: Prisma.UserBranchCreateNestedManyWithoutUserInput;
    transactions?: Prisma.TransactionCreateNestedManyWithoutHeadStoreUserInput;
    completedTransactions?: Prisma.TransactionCreateNestedManyWithoutCompletedByUserInput;
    createdTransactions?: Prisma.TransactionCreateNestedManyWithoutCreatedByUserInput;
    modifiedTransactions?: Prisma.TransactionCreateNestedManyWithoutModifiedByUserInput;
    auditLogsAuthored?: Prisma.AuditLogCreateNestedManyWithoutChangedByUserInput;
    paymentsCreated?: Prisma.PaymentCreateNestedManyWithoutTransferUserInput;
};
export type UserUncheckedCreateInput = {
    id?: string;
    email: string;
    hash: string;
    firstName?: string | null;
    lastName?: string | null;
    roleId: string;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    branches?: Prisma.UserBranchUncheckedCreateNestedManyWithoutUserInput;
    transactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutHeadStoreUserInput;
    completedTransactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutCompletedByUserInput;
    createdTransactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutCreatedByUserInput;
    modifiedTransactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutModifiedByUserInput;
    auditLogsAuthored?: Prisma.AuditLogUncheckedCreateNestedManyWithoutChangedByUserInput;
    paymentsCreated?: Prisma.PaymentUncheckedCreateNestedManyWithoutTransferUserInput;
};
export type UserUpdateInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    email?: Prisma.StringFieldUpdateOperationsInput | string;
    hash?: Prisma.StringFieldUpdateOperationsInput | string;
    firstName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    lastName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    role?: Prisma.RoleUpdateOneRequiredWithoutUsersNestedInput;
    branches?: Prisma.UserBranchUpdateManyWithoutUserNestedInput;
    transactions?: Prisma.TransactionUpdateManyWithoutHeadStoreUserNestedInput;
    completedTransactions?: Prisma.TransactionUpdateManyWithoutCompletedByUserNestedInput;
    createdTransactions?: Prisma.TransactionUpdateManyWithoutCreatedByUserNestedInput;
    modifiedTransactions?: Prisma.TransactionUpdateManyWithoutModifiedByUserNestedInput;
    auditLogsAuthored?: Prisma.AuditLogUpdateManyWithoutChangedByUserNestedInput;
    paymentsCreated?: Prisma.PaymentUpdateManyWithoutTransferUserNestedInput;
};
export type UserUncheckedUpdateInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    email?: Prisma.StringFieldUpdateOperationsInput | string;
    hash?: Prisma.StringFieldUpdateOperationsInput | string;
    firstName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    lastName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    roleId?: Prisma.StringFieldUpdateOperationsInput | string;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    branches?: Prisma.UserBranchUncheckedUpdateManyWithoutUserNestedInput;
    transactions?: Prisma.TransactionUncheckedUpdateManyWithoutHeadStoreUserNestedInput;
    completedTransactions?: Prisma.TransactionUncheckedUpdateManyWithoutCompletedByUserNestedInput;
    createdTransactions?: Prisma.TransactionUncheckedUpdateManyWithoutCreatedByUserNestedInput;
    modifiedTransactions?: Prisma.TransactionUncheckedUpdateManyWithoutModifiedByUserNestedInput;
    auditLogsAuthored?: Prisma.AuditLogUncheckedUpdateManyWithoutChangedByUserNestedInput;
    paymentsCreated?: Prisma.PaymentUncheckedUpdateManyWithoutTransferUserNestedInput;
};
export type UserCreateManyInput = {
    id?: string;
    email: string;
    hash: string;
    firstName?: string | null;
    lastName?: string | null;
    roleId: string;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
};
export type UserUpdateManyMutationInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    email?: Prisma.StringFieldUpdateOperationsInput | string;
    hash?: Prisma.StringFieldUpdateOperationsInput | string;
    firstName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    lastName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
};
export type UserUncheckedUpdateManyInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    email?: Prisma.StringFieldUpdateOperationsInput | string;
    hash?: Prisma.StringFieldUpdateOperationsInput | string;
    firstName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    lastName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    roleId?: Prisma.StringFieldUpdateOperationsInput | string;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
};
export type UserCountOrderByAggregateInput = {
    id?: Prisma.SortOrder;
    email?: Prisma.SortOrder;
    hash?: Prisma.SortOrder;
    firstName?: Prisma.SortOrder;
    lastName?: Prisma.SortOrder;
    roleId?: Prisma.SortOrder;
    createdAt?: Prisma.SortOrder;
    modifiedAt?: Prisma.SortOrder;
};
export type UserMaxOrderByAggregateInput = {
    id?: Prisma.SortOrder;
    email?: Prisma.SortOrder;
    hash?: Prisma.SortOrder;
    firstName?: Prisma.SortOrder;
    lastName?: Prisma.SortOrder;
    roleId?: Prisma.SortOrder;
    createdAt?: Prisma.SortOrder;
    modifiedAt?: Prisma.SortOrder;
};
export type UserMinOrderByAggregateInput = {
    id?: Prisma.SortOrder;
    email?: Prisma.SortOrder;
    hash?: Prisma.SortOrder;
    firstName?: Prisma.SortOrder;
    lastName?: Prisma.SortOrder;
    roleId?: Prisma.SortOrder;
    createdAt?: Prisma.SortOrder;
    modifiedAt?: Prisma.SortOrder;
};
export type UserListRelationFilter = {
    every?: Prisma.UserWhereInput;
    some?: Prisma.UserWhereInput;
    none?: Prisma.UserWhereInput;
};
export type UserOrderByRelationAggregateInput = {
    _count?: Prisma.SortOrder;
};
export type UserScalarRelationFilter = {
    is?: Prisma.UserWhereInput;
    isNot?: Prisma.UserWhereInput;
};
export type UserNullableScalarRelationFilter = {
    is?: Prisma.UserWhereInput | null;
    isNot?: Prisma.UserWhereInput | null;
};
export type StringFieldUpdateOperationsInput = {
    set?: string;
};
export type NullableStringFieldUpdateOperationsInput = {
    set?: string | null;
};
export type DateTimeFieldUpdateOperationsInput = {
    set?: Date | string;
};
export type UserCreateNestedManyWithoutRoleInput = {
    create?: Prisma.XOR<Prisma.UserCreateWithoutRoleInput, Prisma.UserUncheckedCreateWithoutRoleInput> | Prisma.UserCreateWithoutRoleInput[] | Prisma.UserUncheckedCreateWithoutRoleInput[];
    connectOrCreate?: Prisma.UserCreateOrConnectWithoutRoleInput | Prisma.UserCreateOrConnectWithoutRoleInput[];
    createMany?: Prisma.UserCreateManyRoleInputEnvelope;
    connect?: Prisma.UserWhereUniqueInput | Prisma.UserWhereUniqueInput[];
};
export type UserUncheckedCreateNestedManyWithoutRoleInput = {
    create?: Prisma.XOR<Prisma.UserCreateWithoutRoleInput, Prisma.UserUncheckedCreateWithoutRoleInput> | Prisma.UserCreateWithoutRoleInput[] | Prisma.UserUncheckedCreateWithoutRoleInput[];
    connectOrCreate?: Prisma.UserCreateOrConnectWithoutRoleInput | Prisma.UserCreateOrConnectWithoutRoleInput[];
    createMany?: Prisma.UserCreateManyRoleInputEnvelope;
    connect?: Prisma.UserWhereUniqueInput | Prisma.UserWhereUniqueInput[];
};
export type UserUpdateManyWithoutRoleNestedInput = {
    create?: Prisma.XOR<Prisma.UserCreateWithoutRoleInput, Prisma.UserUncheckedCreateWithoutRoleInput> | Prisma.UserCreateWithoutRoleInput[] | Prisma.UserUncheckedCreateWithoutRoleInput[];
    connectOrCreate?: Prisma.UserCreateOrConnectWithoutRoleInput | Prisma.UserCreateOrConnectWithoutRoleInput[];
    upsert?: Prisma.UserUpsertWithWhereUniqueWithoutRoleInput | Prisma.UserUpsertWithWhereUniqueWithoutRoleInput[];
    createMany?: Prisma.UserCreateManyRoleInputEnvelope;
    set?: Prisma.UserWhereUniqueInput | Prisma.UserWhereUniqueInput[];
    disconnect?: Prisma.UserWhereUniqueInput | Prisma.UserWhereUniqueInput[];
    delete?: Prisma.UserWhereUniqueInput | Prisma.UserWhereUniqueInput[];
    connect?: Prisma.UserWhereUniqueInput | Prisma.UserWhereUniqueInput[];
    update?: Prisma.UserUpdateWithWhereUniqueWithoutRoleInput | Prisma.UserUpdateWithWhereUniqueWithoutRoleInput[];
    updateMany?: Prisma.UserUpdateManyWithWhereWithoutRoleInput | Prisma.UserUpdateManyWithWhereWithoutRoleInput[];
    deleteMany?: Prisma.UserScalarWhereInput | Prisma.UserScalarWhereInput[];
};
export type UserUncheckedUpdateManyWithoutRoleNestedInput = {
    create?: Prisma.XOR<Prisma.UserCreateWithoutRoleInput, Prisma.UserUncheckedCreateWithoutRoleInput> | Prisma.UserCreateWithoutRoleInput[] | Prisma.UserUncheckedCreateWithoutRoleInput[];
    connectOrCreate?: Prisma.UserCreateOrConnectWithoutRoleInput | Prisma.UserCreateOrConnectWithoutRoleInput[];
    upsert?: Prisma.UserUpsertWithWhereUniqueWithoutRoleInput | Prisma.UserUpsertWithWhereUniqueWithoutRoleInput[];
    createMany?: Prisma.UserCreateManyRoleInputEnvelope;
    set?: Prisma.UserWhereUniqueInput | Prisma.UserWhereUniqueInput[];
    disconnect?: Prisma.UserWhereUniqueInput | Prisma.UserWhereUniqueInput[];
    delete?: Prisma.UserWhereUniqueInput | Prisma.UserWhereUniqueInput[];
    connect?: Prisma.UserWhereUniqueInput | Prisma.UserWhereUniqueInput[];
    update?: Prisma.UserUpdateWithWhereUniqueWithoutRoleInput | Prisma.UserUpdateWithWhereUniqueWithoutRoleInput[];
    updateMany?: Prisma.UserUpdateManyWithWhereWithoutRoleInput | Prisma.UserUpdateManyWithWhereWithoutRoleInput[];
    deleteMany?: Prisma.UserScalarWhereInput | Prisma.UserScalarWhereInput[];
};
export type UserCreateNestedOneWithoutBranchesInput = {
    create?: Prisma.XOR<Prisma.UserCreateWithoutBranchesInput, Prisma.UserUncheckedCreateWithoutBranchesInput>;
    connectOrCreate?: Prisma.UserCreateOrConnectWithoutBranchesInput;
    connect?: Prisma.UserWhereUniqueInput;
};
export type UserUpdateOneRequiredWithoutBranchesNestedInput = {
    create?: Prisma.XOR<Prisma.UserCreateWithoutBranchesInput, Prisma.UserUncheckedCreateWithoutBranchesInput>;
    connectOrCreate?: Prisma.UserCreateOrConnectWithoutBranchesInput;
    upsert?: Prisma.UserUpsertWithoutBranchesInput;
    connect?: Prisma.UserWhereUniqueInput;
    update?: Prisma.XOR<Prisma.XOR<Prisma.UserUpdateToOneWithWhereWithoutBranchesInput, Prisma.UserUpdateWithoutBranchesInput>, Prisma.UserUncheckedUpdateWithoutBranchesInput>;
};
export type UserCreateNestedOneWithoutCreatedTransactionsInput = {
    create?: Prisma.XOR<Prisma.UserCreateWithoutCreatedTransactionsInput, Prisma.UserUncheckedCreateWithoutCreatedTransactionsInput>;
    connectOrCreate?: Prisma.UserCreateOrConnectWithoutCreatedTransactionsInput;
    connect?: Prisma.UserWhereUniqueInput;
};
export type UserCreateNestedOneWithoutModifiedTransactionsInput = {
    create?: Prisma.XOR<Prisma.UserCreateWithoutModifiedTransactionsInput, Prisma.UserUncheckedCreateWithoutModifiedTransactionsInput>;
    connectOrCreate?: Prisma.UserCreateOrConnectWithoutModifiedTransactionsInput;
    connect?: Prisma.UserWhereUniqueInput;
};
export type UserCreateNestedOneWithoutCompletedTransactionsInput = {
    create?: Prisma.XOR<Prisma.UserCreateWithoutCompletedTransactionsInput, Prisma.UserUncheckedCreateWithoutCompletedTransactionsInput>;
    connectOrCreate?: Prisma.UserCreateOrConnectWithoutCompletedTransactionsInput;
    connect?: Prisma.UserWhereUniqueInput;
};
export type UserCreateNestedOneWithoutTransactionsInput = {
    create?: Prisma.XOR<Prisma.UserCreateWithoutTransactionsInput, Prisma.UserUncheckedCreateWithoutTransactionsInput>;
    connectOrCreate?: Prisma.UserCreateOrConnectWithoutTransactionsInput;
    connect?: Prisma.UserWhereUniqueInput;
};
export type UserUpdateOneWithoutCreatedTransactionsNestedInput = {
    create?: Prisma.XOR<Prisma.UserCreateWithoutCreatedTransactionsInput, Prisma.UserUncheckedCreateWithoutCreatedTransactionsInput>;
    connectOrCreate?: Prisma.UserCreateOrConnectWithoutCreatedTransactionsInput;
    upsert?: Prisma.UserUpsertWithoutCreatedTransactionsInput;
    disconnect?: Prisma.UserWhereInput | boolean;
    delete?: Prisma.UserWhereInput | boolean;
    connect?: Prisma.UserWhereUniqueInput;
    update?: Prisma.XOR<Prisma.XOR<Prisma.UserUpdateToOneWithWhereWithoutCreatedTransactionsInput, Prisma.UserUpdateWithoutCreatedTransactionsInput>, Prisma.UserUncheckedUpdateWithoutCreatedTransactionsInput>;
};
export type UserUpdateOneWithoutModifiedTransactionsNestedInput = {
    create?: Prisma.XOR<Prisma.UserCreateWithoutModifiedTransactionsInput, Prisma.UserUncheckedCreateWithoutModifiedTransactionsInput>;
    connectOrCreate?: Prisma.UserCreateOrConnectWithoutModifiedTransactionsInput;
    upsert?: Prisma.UserUpsertWithoutModifiedTransactionsInput;
    disconnect?: Prisma.UserWhereInput | boolean;
    delete?: Prisma.UserWhereInput | boolean;
    connect?: Prisma.UserWhereUniqueInput;
    update?: Prisma.XOR<Prisma.XOR<Prisma.UserUpdateToOneWithWhereWithoutModifiedTransactionsInput, Prisma.UserUpdateWithoutModifiedTransactionsInput>, Prisma.UserUncheckedUpdateWithoutModifiedTransactionsInput>;
};
export type UserUpdateOneWithoutCompletedTransactionsNestedInput = {
    create?: Prisma.XOR<Prisma.UserCreateWithoutCompletedTransactionsInput, Prisma.UserUncheckedCreateWithoutCompletedTransactionsInput>;
    connectOrCreate?: Prisma.UserCreateOrConnectWithoutCompletedTransactionsInput;
    upsert?: Prisma.UserUpsertWithoutCompletedTransactionsInput;
    disconnect?: Prisma.UserWhereInput | boolean;
    delete?: Prisma.UserWhereInput | boolean;
    connect?: Prisma.UserWhereUniqueInput;
    update?: Prisma.XOR<Prisma.XOR<Prisma.UserUpdateToOneWithWhereWithoutCompletedTransactionsInput, Prisma.UserUpdateWithoutCompletedTransactionsInput>, Prisma.UserUncheckedUpdateWithoutCompletedTransactionsInput>;
};
export type UserUpdateOneWithoutTransactionsNestedInput = {
    create?: Prisma.XOR<Prisma.UserCreateWithoutTransactionsInput, Prisma.UserUncheckedCreateWithoutTransactionsInput>;
    connectOrCreate?: Prisma.UserCreateOrConnectWithoutTransactionsInput;
    upsert?: Prisma.UserUpsertWithoutTransactionsInput;
    disconnect?: Prisma.UserWhereInput | boolean;
    delete?: Prisma.UserWhereInput | boolean;
    connect?: Prisma.UserWhereUniqueInput;
    update?: Prisma.XOR<Prisma.XOR<Prisma.UserUpdateToOneWithWhereWithoutTransactionsInput, Prisma.UserUpdateWithoutTransactionsInput>, Prisma.UserUncheckedUpdateWithoutTransactionsInput>;
};
export type UserCreateNestedOneWithoutPaymentsCreatedInput = {
    create?: Prisma.XOR<Prisma.UserCreateWithoutPaymentsCreatedInput, Prisma.UserUncheckedCreateWithoutPaymentsCreatedInput>;
    connectOrCreate?: Prisma.UserCreateOrConnectWithoutPaymentsCreatedInput;
    connect?: Prisma.UserWhereUniqueInput;
};
export type UserUpdateOneRequiredWithoutPaymentsCreatedNestedInput = {
    create?: Prisma.XOR<Prisma.UserCreateWithoutPaymentsCreatedInput, Prisma.UserUncheckedCreateWithoutPaymentsCreatedInput>;
    connectOrCreate?: Prisma.UserCreateOrConnectWithoutPaymentsCreatedInput;
    upsert?: Prisma.UserUpsertWithoutPaymentsCreatedInput;
    connect?: Prisma.UserWhereUniqueInput;
    update?: Prisma.XOR<Prisma.XOR<Prisma.UserUpdateToOneWithWhereWithoutPaymentsCreatedInput, Prisma.UserUpdateWithoutPaymentsCreatedInput>, Prisma.UserUncheckedUpdateWithoutPaymentsCreatedInput>;
};
export type UserCreateNestedOneWithoutAuditLogsAuthoredInput = {
    create?: Prisma.XOR<Prisma.UserCreateWithoutAuditLogsAuthoredInput, Prisma.UserUncheckedCreateWithoutAuditLogsAuthoredInput>;
    connectOrCreate?: Prisma.UserCreateOrConnectWithoutAuditLogsAuthoredInput;
    connect?: Prisma.UserWhereUniqueInput;
};
export type UserUpdateOneRequiredWithoutAuditLogsAuthoredNestedInput = {
    create?: Prisma.XOR<Prisma.UserCreateWithoutAuditLogsAuthoredInput, Prisma.UserUncheckedCreateWithoutAuditLogsAuthoredInput>;
    connectOrCreate?: Prisma.UserCreateOrConnectWithoutAuditLogsAuthoredInput;
    upsert?: Prisma.UserUpsertWithoutAuditLogsAuthoredInput;
    connect?: Prisma.UserWhereUniqueInput;
    update?: Prisma.XOR<Prisma.XOR<Prisma.UserUpdateToOneWithWhereWithoutAuditLogsAuthoredInput, Prisma.UserUpdateWithoutAuditLogsAuthoredInput>, Prisma.UserUncheckedUpdateWithoutAuditLogsAuthoredInput>;
};
export type UserCreateWithoutRoleInput = {
    id?: string;
    email: string;
    hash: string;
    firstName?: string | null;
    lastName?: string | null;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    branches?: Prisma.UserBranchCreateNestedManyWithoutUserInput;
    transactions?: Prisma.TransactionCreateNestedManyWithoutHeadStoreUserInput;
    completedTransactions?: Prisma.TransactionCreateNestedManyWithoutCompletedByUserInput;
    createdTransactions?: Prisma.TransactionCreateNestedManyWithoutCreatedByUserInput;
    modifiedTransactions?: Prisma.TransactionCreateNestedManyWithoutModifiedByUserInput;
    auditLogsAuthored?: Prisma.AuditLogCreateNestedManyWithoutChangedByUserInput;
    paymentsCreated?: Prisma.PaymentCreateNestedManyWithoutTransferUserInput;
};
export type UserUncheckedCreateWithoutRoleInput = {
    id?: string;
    email: string;
    hash: string;
    firstName?: string | null;
    lastName?: string | null;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    branches?: Prisma.UserBranchUncheckedCreateNestedManyWithoutUserInput;
    transactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutHeadStoreUserInput;
    completedTransactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutCompletedByUserInput;
    createdTransactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutCreatedByUserInput;
    modifiedTransactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutModifiedByUserInput;
    auditLogsAuthored?: Prisma.AuditLogUncheckedCreateNestedManyWithoutChangedByUserInput;
    paymentsCreated?: Prisma.PaymentUncheckedCreateNestedManyWithoutTransferUserInput;
};
export type UserCreateOrConnectWithoutRoleInput = {
    where: Prisma.UserWhereUniqueInput;
    create: Prisma.XOR<Prisma.UserCreateWithoutRoleInput, Prisma.UserUncheckedCreateWithoutRoleInput>;
};
export type UserCreateManyRoleInputEnvelope = {
    data: Prisma.UserCreateManyRoleInput | Prisma.UserCreateManyRoleInput[];
    skipDuplicates?: boolean;
};
export type UserUpsertWithWhereUniqueWithoutRoleInput = {
    where: Prisma.UserWhereUniqueInput;
    update: Prisma.XOR<Prisma.UserUpdateWithoutRoleInput, Prisma.UserUncheckedUpdateWithoutRoleInput>;
    create: Prisma.XOR<Prisma.UserCreateWithoutRoleInput, Prisma.UserUncheckedCreateWithoutRoleInput>;
};
export type UserUpdateWithWhereUniqueWithoutRoleInput = {
    where: Prisma.UserWhereUniqueInput;
    data: Prisma.XOR<Prisma.UserUpdateWithoutRoleInput, Prisma.UserUncheckedUpdateWithoutRoleInput>;
};
export type UserUpdateManyWithWhereWithoutRoleInput = {
    where: Prisma.UserScalarWhereInput;
    data: Prisma.XOR<Prisma.UserUpdateManyMutationInput, Prisma.UserUncheckedUpdateManyWithoutRoleInput>;
};
export type UserScalarWhereInput = {
    AND?: Prisma.UserScalarWhereInput | Prisma.UserScalarWhereInput[];
    OR?: Prisma.UserScalarWhereInput[];
    NOT?: Prisma.UserScalarWhereInput | Prisma.UserScalarWhereInput[];
    id?: Prisma.StringFilter<"User"> | string;
    email?: Prisma.StringFilter<"User"> | string;
    hash?: Prisma.StringFilter<"User"> | string;
    firstName?: Prisma.StringNullableFilter<"User"> | string | null;
    lastName?: Prisma.StringNullableFilter<"User"> | string | null;
    roleId?: Prisma.StringFilter<"User"> | string;
    createdAt?: Prisma.DateTimeFilter<"User"> | Date | string;
    modifiedAt?: Prisma.DateTimeFilter<"User"> | Date | string;
};
export type UserCreateWithoutBranchesInput = {
    id?: string;
    email: string;
    hash: string;
    firstName?: string | null;
    lastName?: string | null;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    role: Prisma.RoleCreateNestedOneWithoutUsersInput;
    transactions?: Prisma.TransactionCreateNestedManyWithoutHeadStoreUserInput;
    completedTransactions?: Prisma.TransactionCreateNestedManyWithoutCompletedByUserInput;
    createdTransactions?: Prisma.TransactionCreateNestedManyWithoutCreatedByUserInput;
    modifiedTransactions?: Prisma.TransactionCreateNestedManyWithoutModifiedByUserInput;
    auditLogsAuthored?: Prisma.AuditLogCreateNestedManyWithoutChangedByUserInput;
    paymentsCreated?: Prisma.PaymentCreateNestedManyWithoutTransferUserInput;
};
export type UserUncheckedCreateWithoutBranchesInput = {
    id?: string;
    email: string;
    hash: string;
    firstName?: string | null;
    lastName?: string | null;
    roleId: string;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    transactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutHeadStoreUserInput;
    completedTransactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutCompletedByUserInput;
    createdTransactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutCreatedByUserInput;
    modifiedTransactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutModifiedByUserInput;
    auditLogsAuthored?: Prisma.AuditLogUncheckedCreateNestedManyWithoutChangedByUserInput;
    paymentsCreated?: Prisma.PaymentUncheckedCreateNestedManyWithoutTransferUserInput;
};
export type UserCreateOrConnectWithoutBranchesInput = {
    where: Prisma.UserWhereUniqueInput;
    create: Prisma.XOR<Prisma.UserCreateWithoutBranchesInput, Prisma.UserUncheckedCreateWithoutBranchesInput>;
};
export type UserUpsertWithoutBranchesInput = {
    update: Prisma.XOR<Prisma.UserUpdateWithoutBranchesInput, Prisma.UserUncheckedUpdateWithoutBranchesInput>;
    create: Prisma.XOR<Prisma.UserCreateWithoutBranchesInput, Prisma.UserUncheckedCreateWithoutBranchesInput>;
    where?: Prisma.UserWhereInput;
};
export type UserUpdateToOneWithWhereWithoutBranchesInput = {
    where?: Prisma.UserWhereInput;
    data: Prisma.XOR<Prisma.UserUpdateWithoutBranchesInput, Prisma.UserUncheckedUpdateWithoutBranchesInput>;
};
export type UserUpdateWithoutBranchesInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    email?: Prisma.StringFieldUpdateOperationsInput | string;
    hash?: Prisma.StringFieldUpdateOperationsInput | string;
    firstName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    lastName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    role?: Prisma.RoleUpdateOneRequiredWithoutUsersNestedInput;
    transactions?: Prisma.TransactionUpdateManyWithoutHeadStoreUserNestedInput;
    completedTransactions?: Prisma.TransactionUpdateManyWithoutCompletedByUserNestedInput;
    createdTransactions?: Prisma.TransactionUpdateManyWithoutCreatedByUserNestedInput;
    modifiedTransactions?: Prisma.TransactionUpdateManyWithoutModifiedByUserNestedInput;
    auditLogsAuthored?: Prisma.AuditLogUpdateManyWithoutChangedByUserNestedInput;
    paymentsCreated?: Prisma.PaymentUpdateManyWithoutTransferUserNestedInput;
};
export type UserUncheckedUpdateWithoutBranchesInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    email?: Prisma.StringFieldUpdateOperationsInput | string;
    hash?: Prisma.StringFieldUpdateOperationsInput | string;
    firstName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    lastName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    roleId?: Prisma.StringFieldUpdateOperationsInput | string;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    transactions?: Prisma.TransactionUncheckedUpdateManyWithoutHeadStoreUserNestedInput;
    completedTransactions?: Prisma.TransactionUncheckedUpdateManyWithoutCompletedByUserNestedInput;
    createdTransactions?: Prisma.TransactionUncheckedUpdateManyWithoutCreatedByUserNestedInput;
    modifiedTransactions?: Prisma.TransactionUncheckedUpdateManyWithoutModifiedByUserNestedInput;
    auditLogsAuthored?: Prisma.AuditLogUncheckedUpdateManyWithoutChangedByUserNestedInput;
    paymentsCreated?: Prisma.PaymentUncheckedUpdateManyWithoutTransferUserNestedInput;
};
export type UserCreateWithoutCreatedTransactionsInput = {
    id?: string;
    email: string;
    hash: string;
    firstName?: string | null;
    lastName?: string | null;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    role: Prisma.RoleCreateNestedOneWithoutUsersInput;
    branches?: Prisma.UserBranchCreateNestedManyWithoutUserInput;
    transactions?: Prisma.TransactionCreateNestedManyWithoutHeadStoreUserInput;
    completedTransactions?: Prisma.TransactionCreateNestedManyWithoutCompletedByUserInput;
    modifiedTransactions?: Prisma.TransactionCreateNestedManyWithoutModifiedByUserInput;
    auditLogsAuthored?: Prisma.AuditLogCreateNestedManyWithoutChangedByUserInput;
    paymentsCreated?: Prisma.PaymentCreateNestedManyWithoutTransferUserInput;
};
export type UserUncheckedCreateWithoutCreatedTransactionsInput = {
    id?: string;
    email: string;
    hash: string;
    firstName?: string | null;
    lastName?: string | null;
    roleId: string;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    branches?: Prisma.UserBranchUncheckedCreateNestedManyWithoutUserInput;
    transactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutHeadStoreUserInput;
    completedTransactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutCompletedByUserInput;
    modifiedTransactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutModifiedByUserInput;
    auditLogsAuthored?: Prisma.AuditLogUncheckedCreateNestedManyWithoutChangedByUserInput;
    paymentsCreated?: Prisma.PaymentUncheckedCreateNestedManyWithoutTransferUserInput;
};
export type UserCreateOrConnectWithoutCreatedTransactionsInput = {
    where: Prisma.UserWhereUniqueInput;
    create: Prisma.XOR<Prisma.UserCreateWithoutCreatedTransactionsInput, Prisma.UserUncheckedCreateWithoutCreatedTransactionsInput>;
};
export type UserCreateWithoutModifiedTransactionsInput = {
    id?: string;
    email: string;
    hash: string;
    firstName?: string | null;
    lastName?: string | null;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    role: Prisma.RoleCreateNestedOneWithoutUsersInput;
    branches?: Prisma.UserBranchCreateNestedManyWithoutUserInput;
    transactions?: Prisma.TransactionCreateNestedManyWithoutHeadStoreUserInput;
    completedTransactions?: Prisma.TransactionCreateNestedManyWithoutCompletedByUserInput;
    createdTransactions?: Prisma.TransactionCreateNestedManyWithoutCreatedByUserInput;
    auditLogsAuthored?: Prisma.AuditLogCreateNestedManyWithoutChangedByUserInput;
    paymentsCreated?: Prisma.PaymentCreateNestedManyWithoutTransferUserInput;
};
export type UserUncheckedCreateWithoutModifiedTransactionsInput = {
    id?: string;
    email: string;
    hash: string;
    firstName?: string | null;
    lastName?: string | null;
    roleId: string;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    branches?: Prisma.UserBranchUncheckedCreateNestedManyWithoutUserInput;
    transactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutHeadStoreUserInput;
    completedTransactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutCompletedByUserInput;
    createdTransactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutCreatedByUserInput;
    auditLogsAuthored?: Prisma.AuditLogUncheckedCreateNestedManyWithoutChangedByUserInput;
    paymentsCreated?: Prisma.PaymentUncheckedCreateNestedManyWithoutTransferUserInput;
};
export type UserCreateOrConnectWithoutModifiedTransactionsInput = {
    where: Prisma.UserWhereUniqueInput;
    create: Prisma.XOR<Prisma.UserCreateWithoutModifiedTransactionsInput, Prisma.UserUncheckedCreateWithoutModifiedTransactionsInput>;
};
export type UserCreateWithoutCompletedTransactionsInput = {
    id?: string;
    email: string;
    hash: string;
    firstName?: string | null;
    lastName?: string | null;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    role: Prisma.RoleCreateNestedOneWithoutUsersInput;
    branches?: Prisma.UserBranchCreateNestedManyWithoutUserInput;
    transactions?: Prisma.TransactionCreateNestedManyWithoutHeadStoreUserInput;
    createdTransactions?: Prisma.TransactionCreateNestedManyWithoutCreatedByUserInput;
    modifiedTransactions?: Prisma.TransactionCreateNestedManyWithoutModifiedByUserInput;
    auditLogsAuthored?: Prisma.AuditLogCreateNestedManyWithoutChangedByUserInput;
    paymentsCreated?: Prisma.PaymentCreateNestedManyWithoutTransferUserInput;
};
export type UserUncheckedCreateWithoutCompletedTransactionsInput = {
    id?: string;
    email: string;
    hash: string;
    firstName?: string | null;
    lastName?: string | null;
    roleId: string;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    branches?: Prisma.UserBranchUncheckedCreateNestedManyWithoutUserInput;
    transactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutHeadStoreUserInput;
    createdTransactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutCreatedByUserInput;
    modifiedTransactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutModifiedByUserInput;
    auditLogsAuthored?: Prisma.AuditLogUncheckedCreateNestedManyWithoutChangedByUserInput;
    paymentsCreated?: Prisma.PaymentUncheckedCreateNestedManyWithoutTransferUserInput;
};
export type UserCreateOrConnectWithoutCompletedTransactionsInput = {
    where: Prisma.UserWhereUniqueInput;
    create: Prisma.XOR<Prisma.UserCreateWithoutCompletedTransactionsInput, Prisma.UserUncheckedCreateWithoutCompletedTransactionsInput>;
};
export type UserCreateWithoutTransactionsInput = {
    id?: string;
    email: string;
    hash: string;
    firstName?: string | null;
    lastName?: string | null;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    role: Prisma.RoleCreateNestedOneWithoutUsersInput;
    branches?: Prisma.UserBranchCreateNestedManyWithoutUserInput;
    completedTransactions?: Prisma.TransactionCreateNestedManyWithoutCompletedByUserInput;
    createdTransactions?: Prisma.TransactionCreateNestedManyWithoutCreatedByUserInput;
    modifiedTransactions?: Prisma.TransactionCreateNestedManyWithoutModifiedByUserInput;
    auditLogsAuthored?: Prisma.AuditLogCreateNestedManyWithoutChangedByUserInput;
    paymentsCreated?: Prisma.PaymentCreateNestedManyWithoutTransferUserInput;
};
export type UserUncheckedCreateWithoutTransactionsInput = {
    id?: string;
    email: string;
    hash: string;
    firstName?: string | null;
    lastName?: string | null;
    roleId: string;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    branches?: Prisma.UserBranchUncheckedCreateNestedManyWithoutUserInput;
    completedTransactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutCompletedByUserInput;
    createdTransactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutCreatedByUserInput;
    modifiedTransactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutModifiedByUserInput;
    auditLogsAuthored?: Prisma.AuditLogUncheckedCreateNestedManyWithoutChangedByUserInput;
    paymentsCreated?: Prisma.PaymentUncheckedCreateNestedManyWithoutTransferUserInput;
};
export type UserCreateOrConnectWithoutTransactionsInput = {
    where: Prisma.UserWhereUniqueInput;
    create: Prisma.XOR<Prisma.UserCreateWithoutTransactionsInput, Prisma.UserUncheckedCreateWithoutTransactionsInput>;
};
export type UserUpsertWithoutCreatedTransactionsInput = {
    update: Prisma.XOR<Prisma.UserUpdateWithoutCreatedTransactionsInput, Prisma.UserUncheckedUpdateWithoutCreatedTransactionsInput>;
    create: Prisma.XOR<Prisma.UserCreateWithoutCreatedTransactionsInput, Prisma.UserUncheckedCreateWithoutCreatedTransactionsInput>;
    where?: Prisma.UserWhereInput;
};
export type UserUpdateToOneWithWhereWithoutCreatedTransactionsInput = {
    where?: Prisma.UserWhereInput;
    data: Prisma.XOR<Prisma.UserUpdateWithoutCreatedTransactionsInput, Prisma.UserUncheckedUpdateWithoutCreatedTransactionsInput>;
};
export type UserUpdateWithoutCreatedTransactionsInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    email?: Prisma.StringFieldUpdateOperationsInput | string;
    hash?: Prisma.StringFieldUpdateOperationsInput | string;
    firstName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    lastName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    role?: Prisma.RoleUpdateOneRequiredWithoutUsersNestedInput;
    branches?: Prisma.UserBranchUpdateManyWithoutUserNestedInput;
    transactions?: Prisma.TransactionUpdateManyWithoutHeadStoreUserNestedInput;
    completedTransactions?: Prisma.TransactionUpdateManyWithoutCompletedByUserNestedInput;
    modifiedTransactions?: Prisma.TransactionUpdateManyWithoutModifiedByUserNestedInput;
    auditLogsAuthored?: Prisma.AuditLogUpdateManyWithoutChangedByUserNestedInput;
    paymentsCreated?: Prisma.PaymentUpdateManyWithoutTransferUserNestedInput;
};
export type UserUncheckedUpdateWithoutCreatedTransactionsInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    email?: Prisma.StringFieldUpdateOperationsInput | string;
    hash?: Prisma.StringFieldUpdateOperationsInput | string;
    firstName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    lastName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    roleId?: Prisma.StringFieldUpdateOperationsInput | string;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    branches?: Prisma.UserBranchUncheckedUpdateManyWithoutUserNestedInput;
    transactions?: Prisma.TransactionUncheckedUpdateManyWithoutHeadStoreUserNestedInput;
    completedTransactions?: Prisma.TransactionUncheckedUpdateManyWithoutCompletedByUserNestedInput;
    modifiedTransactions?: Prisma.TransactionUncheckedUpdateManyWithoutModifiedByUserNestedInput;
    auditLogsAuthored?: Prisma.AuditLogUncheckedUpdateManyWithoutChangedByUserNestedInput;
    paymentsCreated?: Prisma.PaymentUncheckedUpdateManyWithoutTransferUserNestedInput;
};
export type UserUpsertWithoutModifiedTransactionsInput = {
    update: Prisma.XOR<Prisma.UserUpdateWithoutModifiedTransactionsInput, Prisma.UserUncheckedUpdateWithoutModifiedTransactionsInput>;
    create: Prisma.XOR<Prisma.UserCreateWithoutModifiedTransactionsInput, Prisma.UserUncheckedCreateWithoutModifiedTransactionsInput>;
    where?: Prisma.UserWhereInput;
};
export type UserUpdateToOneWithWhereWithoutModifiedTransactionsInput = {
    where?: Prisma.UserWhereInput;
    data: Prisma.XOR<Prisma.UserUpdateWithoutModifiedTransactionsInput, Prisma.UserUncheckedUpdateWithoutModifiedTransactionsInput>;
};
export type UserUpdateWithoutModifiedTransactionsInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    email?: Prisma.StringFieldUpdateOperationsInput | string;
    hash?: Prisma.StringFieldUpdateOperationsInput | string;
    firstName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    lastName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    role?: Prisma.RoleUpdateOneRequiredWithoutUsersNestedInput;
    branches?: Prisma.UserBranchUpdateManyWithoutUserNestedInput;
    transactions?: Prisma.TransactionUpdateManyWithoutHeadStoreUserNestedInput;
    completedTransactions?: Prisma.TransactionUpdateManyWithoutCompletedByUserNestedInput;
    createdTransactions?: Prisma.TransactionUpdateManyWithoutCreatedByUserNestedInput;
    auditLogsAuthored?: Prisma.AuditLogUpdateManyWithoutChangedByUserNestedInput;
    paymentsCreated?: Prisma.PaymentUpdateManyWithoutTransferUserNestedInput;
};
export type UserUncheckedUpdateWithoutModifiedTransactionsInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    email?: Prisma.StringFieldUpdateOperationsInput | string;
    hash?: Prisma.StringFieldUpdateOperationsInput | string;
    firstName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    lastName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    roleId?: Prisma.StringFieldUpdateOperationsInput | string;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    branches?: Prisma.UserBranchUncheckedUpdateManyWithoutUserNestedInput;
    transactions?: Prisma.TransactionUncheckedUpdateManyWithoutHeadStoreUserNestedInput;
    completedTransactions?: Prisma.TransactionUncheckedUpdateManyWithoutCompletedByUserNestedInput;
    createdTransactions?: Prisma.TransactionUncheckedUpdateManyWithoutCreatedByUserNestedInput;
    auditLogsAuthored?: Prisma.AuditLogUncheckedUpdateManyWithoutChangedByUserNestedInput;
    paymentsCreated?: Prisma.PaymentUncheckedUpdateManyWithoutTransferUserNestedInput;
};
export type UserUpsertWithoutCompletedTransactionsInput = {
    update: Prisma.XOR<Prisma.UserUpdateWithoutCompletedTransactionsInput, Prisma.UserUncheckedUpdateWithoutCompletedTransactionsInput>;
    create: Prisma.XOR<Prisma.UserCreateWithoutCompletedTransactionsInput, Prisma.UserUncheckedCreateWithoutCompletedTransactionsInput>;
    where?: Prisma.UserWhereInput;
};
export type UserUpdateToOneWithWhereWithoutCompletedTransactionsInput = {
    where?: Prisma.UserWhereInput;
    data: Prisma.XOR<Prisma.UserUpdateWithoutCompletedTransactionsInput, Prisma.UserUncheckedUpdateWithoutCompletedTransactionsInput>;
};
export type UserUpdateWithoutCompletedTransactionsInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    email?: Prisma.StringFieldUpdateOperationsInput | string;
    hash?: Prisma.StringFieldUpdateOperationsInput | string;
    firstName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    lastName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    role?: Prisma.RoleUpdateOneRequiredWithoutUsersNestedInput;
    branches?: Prisma.UserBranchUpdateManyWithoutUserNestedInput;
    transactions?: Prisma.TransactionUpdateManyWithoutHeadStoreUserNestedInput;
    createdTransactions?: Prisma.TransactionUpdateManyWithoutCreatedByUserNestedInput;
    modifiedTransactions?: Prisma.TransactionUpdateManyWithoutModifiedByUserNestedInput;
    auditLogsAuthored?: Prisma.AuditLogUpdateManyWithoutChangedByUserNestedInput;
    paymentsCreated?: Prisma.PaymentUpdateManyWithoutTransferUserNestedInput;
};
export type UserUncheckedUpdateWithoutCompletedTransactionsInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    email?: Prisma.StringFieldUpdateOperationsInput | string;
    hash?: Prisma.StringFieldUpdateOperationsInput | string;
    firstName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    lastName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    roleId?: Prisma.StringFieldUpdateOperationsInput | string;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    branches?: Prisma.UserBranchUncheckedUpdateManyWithoutUserNestedInput;
    transactions?: Prisma.TransactionUncheckedUpdateManyWithoutHeadStoreUserNestedInput;
    createdTransactions?: Prisma.TransactionUncheckedUpdateManyWithoutCreatedByUserNestedInput;
    modifiedTransactions?: Prisma.TransactionUncheckedUpdateManyWithoutModifiedByUserNestedInput;
    auditLogsAuthored?: Prisma.AuditLogUncheckedUpdateManyWithoutChangedByUserNestedInput;
    paymentsCreated?: Prisma.PaymentUncheckedUpdateManyWithoutTransferUserNestedInput;
};
export type UserUpsertWithoutTransactionsInput = {
    update: Prisma.XOR<Prisma.UserUpdateWithoutTransactionsInput, Prisma.UserUncheckedUpdateWithoutTransactionsInput>;
    create: Prisma.XOR<Prisma.UserCreateWithoutTransactionsInput, Prisma.UserUncheckedCreateWithoutTransactionsInput>;
    where?: Prisma.UserWhereInput;
};
export type UserUpdateToOneWithWhereWithoutTransactionsInput = {
    where?: Prisma.UserWhereInput;
    data: Prisma.XOR<Prisma.UserUpdateWithoutTransactionsInput, Prisma.UserUncheckedUpdateWithoutTransactionsInput>;
};
export type UserUpdateWithoutTransactionsInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    email?: Prisma.StringFieldUpdateOperationsInput | string;
    hash?: Prisma.StringFieldUpdateOperationsInput | string;
    firstName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    lastName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    role?: Prisma.RoleUpdateOneRequiredWithoutUsersNestedInput;
    branches?: Prisma.UserBranchUpdateManyWithoutUserNestedInput;
    completedTransactions?: Prisma.TransactionUpdateManyWithoutCompletedByUserNestedInput;
    createdTransactions?: Prisma.TransactionUpdateManyWithoutCreatedByUserNestedInput;
    modifiedTransactions?: Prisma.TransactionUpdateManyWithoutModifiedByUserNestedInput;
    auditLogsAuthored?: Prisma.AuditLogUpdateManyWithoutChangedByUserNestedInput;
    paymentsCreated?: Prisma.PaymentUpdateManyWithoutTransferUserNestedInput;
};
export type UserUncheckedUpdateWithoutTransactionsInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    email?: Prisma.StringFieldUpdateOperationsInput | string;
    hash?: Prisma.StringFieldUpdateOperationsInput | string;
    firstName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    lastName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    roleId?: Prisma.StringFieldUpdateOperationsInput | string;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    branches?: Prisma.UserBranchUncheckedUpdateManyWithoutUserNestedInput;
    completedTransactions?: Prisma.TransactionUncheckedUpdateManyWithoutCompletedByUserNestedInput;
    createdTransactions?: Prisma.TransactionUncheckedUpdateManyWithoutCreatedByUserNestedInput;
    modifiedTransactions?: Prisma.TransactionUncheckedUpdateManyWithoutModifiedByUserNestedInput;
    auditLogsAuthored?: Prisma.AuditLogUncheckedUpdateManyWithoutChangedByUserNestedInput;
    paymentsCreated?: Prisma.PaymentUncheckedUpdateManyWithoutTransferUserNestedInput;
};
export type UserCreateWithoutPaymentsCreatedInput = {
    id?: string;
    email: string;
    hash: string;
    firstName?: string | null;
    lastName?: string | null;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    role: Prisma.RoleCreateNestedOneWithoutUsersInput;
    branches?: Prisma.UserBranchCreateNestedManyWithoutUserInput;
    transactions?: Prisma.TransactionCreateNestedManyWithoutHeadStoreUserInput;
    completedTransactions?: Prisma.TransactionCreateNestedManyWithoutCompletedByUserInput;
    createdTransactions?: Prisma.TransactionCreateNestedManyWithoutCreatedByUserInput;
    modifiedTransactions?: Prisma.TransactionCreateNestedManyWithoutModifiedByUserInput;
    auditLogsAuthored?: Prisma.AuditLogCreateNestedManyWithoutChangedByUserInput;
};
export type UserUncheckedCreateWithoutPaymentsCreatedInput = {
    id?: string;
    email: string;
    hash: string;
    firstName?: string | null;
    lastName?: string | null;
    roleId: string;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    branches?: Prisma.UserBranchUncheckedCreateNestedManyWithoutUserInput;
    transactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutHeadStoreUserInput;
    completedTransactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutCompletedByUserInput;
    createdTransactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutCreatedByUserInput;
    modifiedTransactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutModifiedByUserInput;
    auditLogsAuthored?: Prisma.AuditLogUncheckedCreateNestedManyWithoutChangedByUserInput;
};
export type UserCreateOrConnectWithoutPaymentsCreatedInput = {
    where: Prisma.UserWhereUniqueInput;
    create: Prisma.XOR<Prisma.UserCreateWithoutPaymentsCreatedInput, Prisma.UserUncheckedCreateWithoutPaymentsCreatedInput>;
};
export type UserUpsertWithoutPaymentsCreatedInput = {
    update: Prisma.XOR<Prisma.UserUpdateWithoutPaymentsCreatedInput, Prisma.UserUncheckedUpdateWithoutPaymentsCreatedInput>;
    create: Prisma.XOR<Prisma.UserCreateWithoutPaymentsCreatedInput, Prisma.UserUncheckedCreateWithoutPaymentsCreatedInput>;
    where?: Prisma.UserWhereInput;
};
export type UserUpdateToOneWithWhereWithoutPaymentsCreatedInput = {
    where?: Prisma.UserWhereInput;
    data: Prisma.XOR<Prisma.UserUpdateWithoutPaymentsCreatedInput, Prisma.UserUncheckedUpdateWithoutPaymentsCreatedInput>;
};
export type UserUpdateWithoutPaymentsCreatedInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    email?: Prisma.StringFieldUpdateOperationsInput | string;
    hash?: Prisma.StringFieldUpdateOperationsInput | string;
    firstName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    lastName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    role?: Prisma.RoleUpdateOneRequiredWithoutUsersNestedInput;
    branches?: Prisma.UserBranchUpdateManyWithoutUserNestedInput;
    transactions?: Prisma.TransactionUpdateManyWithoutHeadStoreUserNestedInput;
    completedTransactions?: Prisma.TransactionUpdateManyWithoutCompletedByUserNestedInput;
    createdTransactions?: Prisma.TransactionUpdateManyWithoutCreatedByUserNestedInput;
    modifiedTransactions?: Prisma.TransactionUpdateManyWithoutModifiedByUserNestedInput;
    auditLogsAuthored?: Prisma.AuditLogUpdateManyWithoutChangedByUserNestedInput;
};
export type UserUncheckedUpdateWithoutPaymentsCreatedInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    email?: Prisma.StringFieldUpdateOperationsInput | string;
    hash?: Prisma.StringFieldUpdateOperationsInput | string;
    firstName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    lastName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    roleId?: Prisma.StringFieldUpdateOperationsInput | string;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    branches?: Prisma.UserBranchUncheckedUpdateManyWithoutUserNestedInput;
    transactions?: Prisma.TransactionUncheckedUpdateManyWithoutHeadStoreUserNestedInput;
    completedTransactions?: Prisma.TransactionUncheckedUpdateManyWithoutCompletedByUserNestedInput;
    createdTransactions?: Prisma.TransactionUncheckedUpdateManyWithoutCreatedByUserNestedInput;
    modifiedTransactions?: Prisma.TransactionUncheckedUpdateManyWithoutModifiedByUserNestedInput;
    auditLogsAuthored?: Prisma.AuditLogUncheckedUpdateManyWithoutChangedByUserNestedInput;
};
export type UserCreateWithoutAuditLogsAuthoredInput = {
    id?: string;
    email: string;
    hash: string;
    firstName?: string | null;
    lastName?: string | null;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    role: Prisma.RoleCreateNestedOneWithoutUsersInput;
    branches?: Prisma.UserBranchCreateNestedManyWithoutUserInput;
    transactions?: Prisma.TransactionCreateNestedManyWithoutHeadStoreUserInput;
    completedTransactions?: Prisma.TransactionCreateNestedManyWithoutCompletedByUserInput;
    createdTransactions?: Prisma.TransactionCreateNestedManyWithoutCreatedByUserInput;
    modifiedTransactions?: Prisma.TransactionCreateNestedManyWithoutModifiedByUserInput;
    paymentsCreated?: Prisma.PaymentCreateNestedManyWithoutTransferUserInput;
};
export type UserUncheckedCreateWithoutAuditLogsAuthoredInput = {
    id?: string;
    email: string;
    hash: string;
    firstName?: string | null;
    lastName?: string | null;
    roleId: string;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    branches?: Prisma.UserBranchUncheckedCreateNestedManyWithoutUserInput;
    transactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutHeadStoreUserInput;
    completedTransactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutCompletedByUserInput;
    createdTransactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutCreatedByUserInput;
    modifiedTransactions?: Prisma.TransactionUncheckedCreateNestedManyWithoutModifiedByUserInput;
    paymentsCreated?: Prisma.PaymentUncheckedCreateNestedManyWithoutTransferUserInput;
};
export type UserCreateOrConnectWithoutAuditLogsAuthoredInput = {
    where: Prisma.UserWhereUniqueInput;
    create: Prisma.XOR<Prisma.UserCreateWithoutAuditLogsAuthoredInput, Prisma.UserUncheckedCreateWithoutAuditLogsAuthoredInput>;
};
export type UserUpsertWithoutAuditLogsAuthoredInput = {
    update: Prisma.XOR<Prisma.UserUpdateWithoutAuditLogsAuthoredInput, Prisma.UserUncheckedUpdateWithoutAuditLogsAuthoredInput>;
    create: Prisma.XOR<Prisma.UserCreateWithoutAuditLogsAuthoredInput, Prisma.UserUncheckedCreateWithoutAuditLogsAuthoredInput>;
    where?: Prisma.UserWhereInput;
};
export type UserUpdateToOneWithWhereWithoutAuditLogsAuthoredInput = {
    where?: Prisma.UserWhereInput;
    data: Prisma.XOR<Prisma.UserUpdateWithoutAuditLogsAuthoredInput, Prisma.UserUncheckedUpdateWithoutAuditLogsAuthoredInput>;
};
export type UserUpdateWithoutAuditLogsAuthoredInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    email?: Prisma.StringFieldUpdateOperationsInput | string;
    hash?: Prisma.StringFieldUpdateOperationsInput | string;
    firstName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    lastName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    role?: Prisma.RoleUpdateOneRequiredWithoutUsersNestedInput;
    branches?: Prisma.UserBranchUpdateManyWithoutUserNestedInput;
    transactions?: Prisma.TransactionUpdateManyWithoutHeadStoreUserNestedInput;
    completedTransactions?: Prisma.TransactionUpdateManyWithoutCompletedByUserNestedInput;
    createdTransactions?: Prisma.TransactionUpdateManyWithoutCreatedByUserNestedInput;
    modifiedTransactions?: Prisma.TransactionUpdateManyWithoutModifiedByUserNestedInput;
    paymentsCreated?: Prisma.PaymentUpdateManyWithoutTransferUserNestedInput;
};
export type UserUncheckedUpdateWithoutAuditLogsAuthoredInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    email?: Prisma.StringFieldUpdateOperationsInput | string;
    hash?: Prisma.StringFieldUpdateOperationsInput | string;
    firstName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    lastName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    roleId?: Prisma.StringFieldUpdateOperationsInput | string;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    branches?: Prisma.UserBranchUncheckedUpdateManyWithoutUserNestedInput;
    transactions?: Prisma.TransactionUncheckedUpdateManyWithoutHeadStoreUserNestedInput;
    completedTransactions?: Prisma.TransactionUncheckedUpdateManyWithoutCompletedByUserNestedInput;
    createdTransactions?: Prisma.TransactionUncheckedUpdateManyWithoutCreatedByUserNestedInput;
    modifiedTransactions?: Prisma.TransactionUncheckedUpdateManyWithoutModifiedByUserNestedInput;
    paymentsCreated?: Prisma.PaymentUncheckedUpdateManyWithoutTransferUserNestedInput;
};
export type UserCreateManyRoleInput = {
    id?: string;
    email: string;
    hash: string;
    firstName?: string | null;
    lastName?: string | null;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
};
export type UserUpdateWithoutRoleInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    email?: Prisma.StringFieldUpdateOperationsInput | string;
    hash?: Prisma.StringFieldUpdateOperationsInput | string;
    firstName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    lastName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    branches?: Prisma.UserBranchUpdateManyWithoutUserNestedInput;
    transactions?: Prisma.TransactionUpdateManyWithoutHeadStoreUserNestedInput;
    completedTransactions?: Prisma.TransactionUpdateManyWithoutCompletedByUserNestedInput;
    createdTransactions?: Prisma.TransactionUpdateManyWithoutCreatedByUserNestedInput;
    modifiedTransactions?: Prisma.TransactionUpdateManyWithoutModifiedByUserNestedInput;
    auditLogsAuthored?: Prisma.AuditLogUpdateManyWithoutChangedByUserNestedInput;
    paymentsCreated?: Prisma.PaymentUpdateManyWithoutTransferUserNestedInput;
};
export type UserUncheckedUpdateWithoutRoleInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    email?: Prisma.StringFieldUpdateOperationsInput | string;
    hash?: Prisma.StringFieldUpdateOperationsInput | string;
    firstName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    lastName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    branches?: Prisma.UserBranchUncheckedUpdateManyWithoutUserNestedInput;
    transactions?: Prisma.TransactionUncheckedUpdateManyWithoutHeadStoreUserNestedInput;
    completedTransactions?: Prisma.TransactionUncheckedUpdateManyWithoutCompletedByUserNestedInput;
    createdTransactions?: Prisma.TransactionUncheckedUpdateManyWithoutCreatedByUserNestedInput;
    modifiedTransactions?: Prisma.TransactionUncheckedUpdateManyWithoutModifiedByUserNestedInput;
    auditLogsAuthored?: Prisma.AuditLogUncheckedUpdateManyWithoutChangedByUserNestedInput;
    paymentsCreated?: Prisma.PaymentUncheckedUpdateManyWithoutTransferUserNestedInput;
};
export type UserUncheckedUpdateManyWithoutRoleInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    email?: Prisma.StringFieldUpdateOperationsInput | string;
    hash?: Prisma.StringFieldUpdateOperationsInput | string;
    firstName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    lastName?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
};
export type UserCountOutputType = {
    branches: number;
    transactions: number;
    completedTransactions: number;
    createdTransactions: number;
    modifiedTransactions: number;
    auditLogsAuthored: number;
    paymentsCreated: number;
};
export type UserCountOutputTypeSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    branches?: boolean | UserCountOutputTypeCountBranchesArgs;
    transactions?: boolean | UserCountOutputTypeCountTransactionsArgs;
    completedTransactions?: boolean | UserCountOutputTypeCountCompletedTransactionsArgs;
    createdTransactions?: boolean | UserCountOutputTypeCountCreatedTransactionsArgs;
    modifiedTransactions?: boolean | UserCountOutputTypeCountModifiedTransactionsArgs;
    auditLogsAuthored?: boolean | UserCountOutputTypeCountAuditLogsAuthoredArgs;
    paymentsCreated?: boolean | UserCountOutputTypeCountPaymentsCreatedArgs;
};
export type UserCountOutputTypeDefaultArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.UserCountOutputTypeSelect<ExtArgs> | null;
};
export type UserCountOutputTypeCountBranchesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    where?: Prisma.UserBranchWhereInput;
};
export type UserCountOutputTypeCountTransactionsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    where?: Prisma.TransactionWhereInput;
};
export type UserCountOutputTypeCountCompletedTransactionsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    where?: Prisma.TransactionWhereInput;
};
export type UserCountOutputTypeCountCreatedTransactionsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    where?: Prisma.TransactionWhereInput;
};
export type UserCountOutputTypeCountModifiedTransactionsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    where?: Prisma.TransactionWhereInput;
};
export type UserCountOutputTypeCountAuditLogsAuthoredArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    where?: Prisma.AuditLogWhereInput;
};
export type UserCountOutputTypeCountPaymentsCreatedArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    where?: Prisma.PaymentWhereInput;
};
export type UserSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
    id?: boolean;
    email?: boolean;
    hash?: boolean;
    firstName?: boolean;
    lastName?: boolean;
    roleId?: boolean;
    createdAt?: boolean;
    modifiedAt?: boolean;
    role?: boolean | Prisma.RoleDefaultArgs<ExtArgs>;
    branches?: boolean | Prisma.User$branchesArgs<ExtArgs>;
    transactions?: boolean | Prisma.User$transactionsArgs<ExtArgs>;
    completedTransactions?: boolean | Prisma.User$completedTransactionsArgs<ExtArgs>;
    createdTransactions?: boolean | Prisma.User$createdTransactionsArgs<ExtArgs>;
    modifiedTransactions?: boolean | Prisma.User$modifiedTransactionsArgs<ExtArgs>;
    auditLogsAuthored?: boolean | Prisma.User$auditLogsAuthoredArgs<ExtArgs>;
    paymentsCreated?: boolean | Prisma.User$paymentsCreatedArgs<ExtArgs>;
    _count?: boolean | Prisma.UserCountOutputTypeDefaultArgs<ExtArgs>;
}, ExtArgs["result"]["user"]>;
export type UserSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
    id?: boolean;
    email?: boolean;
    hash?: boolean;
    firstName?: boolean;
    lastName?: boolean;
    roleId?: boolean;
    createdAt?: boolean;
    modifiedAt?: boolean;
    role?: boolean | Prisma.RoleDefaultArgs<ExtArgs>;
}, ExtArgs["result"]["user"]>;
export type UserSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
    id?: boolean;
    email?: boolean;
    hash?: boolean;
    firstName?: boolean;
    lastName?: boolean;
    roleId?: boolean;
    createdAt?: boolean;
    modifiedAt?: boolean;
    role?: boolean | Prisma.RoleDefaultArgs<ExtArgs>;
}, ExtArgs["result"]["user"]>;
export type UserSelectScalar = {
    id?: boolean;
    email?: boolean;
    hash?: boolean;
    firstName?: boolean;
    lastName?: boolean;
    roleId?: boolean;
    createdAt?: boolean;
    modifiedAt?: boolean;
};
export type UserOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "email" | "hash" | "firstName" | "lastName" | "roleId" | "createdAt" | "modifiedAt", ExtArgs["result"]["user"]>;
export type UserInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    role?: boolean | Prisma.RoleDefaultArgs<ExtArgs>;
    branches?: boolean | Prisma.User$branchesArgs<ExtArgs>;
    transactions?: boolean | Prisma.User$transactionsArgs<ExtArgs>;
    completedTransactions?: boolean | Prisma.User$completedTransactionsArgs<ExtArgs>;
    createdTransactions?: boolean | Prisma.User$createdTransactionsArgs<ExtArgs>;
    modifiedTransactions?: boolean | Prisma.User$modifiedTransactionsArgs<ExtArgs>;
    auditLogsAuthored?: boolean | Prisma.User$auditLogsAuthoredArgs<ExtArgs>;
    paymentsCreated?: boolean | Prisma.User$paymentsCreatedArgs<ExtArgs>;
    _count?: boolean | Prisma.UserCountOutputTypeDefaultArgs<ExtArgs>;
};
export type UserIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    role?: boolean | Prisma.RoleDefaultArgs<ExtArgs>;
};
export type UserIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    role?: boolean | Prisma.RoleDefaultArgs<ExtArgs>;
};
export type $UserPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    name: "User";
    objects: {
        role: Prisma.$RolePayload<ExtArgs>;
        branches: Prisma.$UserBranchPayload<ExtArgs>[];
        transactions: Prisma.$TransactionPayload<ExtArgs>[];
        completedTransactions: Prisma.$TransactionPayload<ExtArgs>[];
        createdTransactions: Prisma.$TransactionPayload<ExtArgs>[];
        modifiedTransactions: Prisma.$TransactionPayload<ExtArgs>[];
        auditLogsAuthored: Prisma.$AuditLogPayload<ExtArgs>[];
        paymentsCreated: Prisma.$PaymentPayload<ExtArgs>[];
    };
    scalars: runtime.Types.Extensions.GetPayloadResult<{
        id: string;
        email: string;
        hash: string;
        firstName: string | null;
        lastName: string | null;
        roleId: string;
        createdAt: Date;
        modifiedAt: Date;
    }, ExtArgs["result"]["user"]>;
    composites: {};
};
export type UserGetPayload<S extends boolean | null | undefined | UserDefaultArgs> = runtime.Types.Result.GetResult<Prisma.$UserPayload, S>;
export type UserCountArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = Omit<UserFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
    select?: UserCountAggregateInputType | true;
};
export interface UserDelegate<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> {
    [K: symbol]: {
        types: Prisma.TypeMap<ExtArgs>['model']['User'];
        meta: {
            name: 'User';
        };
    };
    findUnique<T extends UserFindUniqueArgs>(args: Prisma.SelectSubset<T, UserFindUniqueArgs<ExtArgs>>): Prisma.Prisma__UserClient<runtime.Types.Result.GetResult<Prisma.$UserPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>;
    findUniqueOrThrow<T extends UserFindUniqueOrThrowArgs>(args: Prisma.SelectSubset<T, UserFindUniqueOrThrowArgs<ExtArgs>>): Prisma.Prisma__UserClient<runtime.Types.Result.GetResult<Prisma.$UserPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    findFirst<T extends UserFindFirstArgs>(args?: Prisma.SelectSubset<T, UserFindFirstArgs<ExtArgs>>): Prisma.Prisma__UserClient<runtime.Types.Result.GetResult<Prisma.$UserPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>;
    findFirstOrThrow<T extends UserFindFirstOrThrowArgs>(args?: Prisma.SelectSubset<T, UserFindFirstOrThrowArgs<ExtArgs>>): Prisma.Prisma__UserClient<runtime.Types.Result.GetResult<Prisma.$UserPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    findMany<T extends UserFindManyArgs>(args?: Prisma.SelectSubset<T, UserFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$UserPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>;
    create<T extends UserCreateArgs>(args: Prisma.SelectSubset<T, UserCreateArgs<ExtArgs>>): Prisma.Prisma__UserClient<runtime.Types.Result.GetResult<Prisma.$UserPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    createMany<T extends UserCreateManyArgs>(args?: Prisma.SelectSubset<T, UserCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>;
    createManyAndReturn<T extends UserCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, UserCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$UserPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>;
    delete<T extends UserDeleteArgs>(args: Prisma.SelectSubset<T, UserDeleteArgs<ExtArgs>>): Prisma.Prisma__UserClient<runtime.Types.Result.GetResult<Prisma.$UserPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    update<T extends UserUpdateArgs>(args: Prisma.SelectSubset<T, UserUpdateArgs<ExtArgs>>): Prisma.Prisma__UserClient<runtime.Types.Result.GetResult<Prisma.$UserPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    deleteMany<T extends UserDeleteManyArgs>(args?: Prisma.SelectSubset<T, UserDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>;
    updateMany<T extends UserUpdateManyArgs>(args: Prisma.SelectSubset<T, UserUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>;
    updateManyAndReturn<T extends UserUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, UserUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$UserPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>;
    upsert<T extends UserUpsertArgs>(args: Prisma.SelectSubset<T, UserUpsertArgs<ExtArgs>>): Prisma.Prisma__UserClient<runtime.Types.Result.GetResult<Prisma.$UserPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    count<T extends UserCountArgs>(args?: Prisma.Subset<T, UserCountArgs>): Prisma.PrismaPromise<T extends runtime.Types.Utils.Record<'select', any> ? T['select'] extends true ? number : Prisma.GetScalarType<T['select'], UserCountAggregateOutputType> : number>;
    aggregate<T extends UserAggregateArgs>(args: Prisma.Subset<T, UserAggregateArgs>): Prisma.PrismaPromise<GetUserAggregateType<T>>;
    groupBy<T extends UserGroupByArgs, HasSelectOrTake extends Prisma.Or<Prisma.Extends<'skip', Prisma.Keys<T>>, Prisma.Extends<'take', Prisma.Keys<T>>>, OrderByArg extends Prisma.True extends HasSelectOrTake ? {
        orderBy: UserGroupByArgs['orderBy'];
    } : {
        orderBy?: UserGroupByArgs['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, UserGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetUserGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>;
    readonly fields: UserFieldRefs;
}
export interface Prisma__UserClient<T, Null = never, ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
    readonly [Symbol.toStringTag]: "PrismaPromise";
    role<T extends Prisma.RoleDefaultArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.RoleDefaultArgs<ExtArgs>>): Prisma.Prisma__RoleClient<runtime.Types.Result.GetResult<Prisma.$RolePayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions>;
    branches<T extends Prisma.User$branchesArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.User$branchesArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$UserBranchPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>;
    transactions<T extends Prisma.User$transactionsArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.User$transactionsArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$TransactionPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>;
    completedTransactions<T extends Prisma.User$completedTransactionsArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.User$completedTransactionsArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$TransactionPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>;
    createdTransactions<T extends Prisma.User$createdTransactionsArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.User$createdTransactionsArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$TransactionPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>;
    modifiedTransactions<T extends Prisma.User$modifiedTransactionsArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.User$modifiedTransactionsArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$TransactionPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>;
    auditLogsAuthored<T extends Prisma.User$auditLogsAuthoredArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.User$auditLogsAuthoredArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$AuditLogPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>;
    paymentsCreated<T extends Prisma.User$paymentsCreatedArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.User$paymentsCreatedArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$PaymentPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>;
    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>;
    catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): runtime.Types.Utils.JsPromise<T | TResult>;
    finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise<T>;
}
export interface UserFieldRefs {
    readonly id: Prisma.FieldRef<"User", 'String'>;
    readonly email: Prisma.FieldRef<"User", 'String'>;
    readonly hash: Prisma.FieldRef<"User", 'String'>;
    readonly firstName: Prisma.FieldRef<"User", 'String'>;
    readonly lastName: Prisma.FieldRef<"User", 'String'>;
    readonly roleId: Prisma.FieldRef<"User", 'String'>;
    readonly createdAt: Prisma.FieldRef<"User", 'DateTime'>;
    readonly modifiedAt: Prisma.FieldRef<"User", 'DateTime'>;
}
export type UserFindUniqueArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.UserSelect<ExtArgs> | null;
    omit?: Prisma.UserOmit<ExtArgs> | null;
    include?: Prisma.UserInclude<ExtArgs> | null;
    where: Prisma.UserWhereUniqueInput;
};
export type UserFindUniqueOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.UserSelect<ExtArgs> | null;
    omit?: Prisma.UserOmit<ExtArgs> | null;
    include?: Prisma.UserInclude<ExtArgs> | null;
    where: Prisma.UserWhereUniqueInput;
};
export type UserFindFirstArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.UserSelect<ExtArgs> | null;
    omit?: Prisma.UserOmit<ExtArgs> | null;
    include?: Prisma.UserInclude<ExtArgs> | null;
    where?: Prisma.UserWhereInput;
    orderBy?: Prisma.UserOrderByWithRelationInput | Prisma.UserOrderByWithRelationInput[];
    cursor?: Prisma.UserWhereUniqueInput;
    take?: number;
    skip?: number;
    distinct?: Prisma.UserScalarFieldEnum | Prisma.UserScalarFieldEnum[];
};
export type UserFindFirstOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.UserSelect<ExtArgs> | null;
    omit?: Prisma.UserOmit<ExtArgs> | null;
    include?: Prisma.UserInclude<ExtArgs> | null;
    where?: Prisma.UserWhereInput;
    orderBy?: Prisma.UserOrderByWithRelationInput | Prisma.UserOrderByWithRelationInput[];
    cursor?: Prisma.UserWhereUniqueInput;
    take?: number;
    skip?: number;
    distinct?: Prisma.UserScalarFieldEnum | Prisma.UserScalarFieldEnum[];
};
export type UserFindManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.UserSelect<ExtArgs> | null;
    omit?: Prisma.UserOmit<ExtArgs> | null;
    include?: Prisma.UserInclude<ExtArgs> | null;
    where?: Prisma.UserWhereInput;
    orderBy?: Prisma.UserOrderByWithRelationInput | Prisma.UserOrderByWithRelationInput[];
    cursor?: Prisma.UserWhereUniqueInput;
    take?: number;
    skip?: number;
    distinct?: Prisma.UserScalarFieldEnum | Prisma.UserScalarFieldEnum[];
};
export type UserCreateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.UserSelect<ExtArgs> | null;
    omit?: Prisma.UserOmit<ExtArgs> | null;
    include?: Prisma.UserInclude<ExtArgs> | null;
    data: Prisma.XOR<Prisma.UserCreateInput, Prisma.UserUncheckedCreateInput>;
};
export type UserCreateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    data: Prisma.UserCreateManyInput | Prisma.UserCreateManyInput[];
    skipDuplicates?: boolean;
};
export type UserCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.UserSelectCreateManyAndReturn<ExtArgs> | null;
    omit?: Prisma.UserOmit<ExtArgs> | null;
    data: Prisma.UserCreateManyInput | Prisma.UserCreateManyInput[];
    skipDuplicates?: boolean;
    include?: Prisma.UserIncludeCreateManyAndReturn<ExtArgs> | null;
};
export type UserUpdateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.UserSelect<ExtArgs> | null;
    omit?: Prisma.UserOmit<ExtArgs> | null;
    include?: Prisma.UserInclude<ExtArgs> | null;
    data: Prisma.XOR<Prisma.UserUpdateInput, Prisma.UserUncheckedUpdateInput>;
    where: Prisma.UserWhereUniqueInput;
};
export type UserUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    data: Prisma.XOR<Prisma.UserUpdateManyMutationInput, Prisma.UserUncheckedUpdateManyInput>;
    where?: Prisma.UserWhereInput;
    limit?: number;
};
export type UserUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.UserSelectUpdateManyAndReturn<ExtArgs> | null;
    omit?: Prisma.UserOmit<ExtArgs> | null;
    data: Prisma.XOR<Prisma.UserUpdateManyMutationInput, Prisma.UserUncheckedUpdateManyInput>;
    where?: Prisma.UserWhereInput;
    limit?: number;
    include?: Prisma.UserIncludeUpdateManyAndReturn<ExtArgs> | null;
};
export type UserUpsertArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.UserSelect<ExtArgs> | null;
    omit?: Prisma.UserOmit<ExtArgs> | null;
    include?: Prisma.UserInclude<ExtArgs> | null;
    where: Prisma.UserWhereUniqueInput;
    create: Prisma.XOR<Prisma.UserCreateInput, Prisma.UserUncheckedCreateInput>;
    update: Prisma.XOR<Prisma.UserUpdateInput, Prisma.UserUncheckedUpdateInput>;
};
export type UserDeleteArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.UserSelect<ExtArgs> | null;
    omit?: Prisma.UserOmit<ExtArgs> | null;
    include?: Prisma.UserInclude<ExtArgs> | null;
    where: Prisma.UserWhereUniqueInput;
};
export type UserDeleteManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    where?: Prisma.UserWhereInput;
    limit?: number;
};
export type User$branchesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.UserBranchSelect<ExtArgs> | null;
    omit?: Prisma.UserBranchOmit<ExtArgs> | null;
    include?: Prisma.UserBranchInclude<ExtArgs> | null;
    where?: Prisma.UserBranchWhereInput;
    orderBy?: Prisma.UserBranchOrderByWithRelationInput | Prisma.UserBranchOrderByWithRelationInput[];
    cursor?: Prisma.UserBranchWhereUniqueInput;
    take?: number;
    skip?: number;
    distinct?: Prisma.UserBranchScalarFieldEnum | Prisma.UserBranchScalarFieldEnum[];
};
export type User$transactionsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.TransactionSelect<ExtArgs> | null;
    omit?: Prisma.TransactionOmit<ExtArgs> | null;
    include?: Prisma.TransactionInclude<ExtArgs> | null;
    where?: Prisma.TransactionWhereInput;
    orderBy?: Prisma.TransactionOrderByWithRelationInput | Prisma.TransactionOrderByWithRelationInput[];
    cursor?: Prisma.TransactionWhereUniqueInput;
    take?: number;
    skip?: number;
    distinct?: Prisma.TransactionScalarFieldEnum | Prisma.TransactionScalarFieldEnum[];
};
export type User$completedTransactionsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.TransactionSelect<ExtArgs> | null;
    omit?: Prisma.TransactionOmit<ExtArgs> | null;
    include?: Prisma.TransactionInclude<ExtArgs> | null;
    where?: Prisma.TransactionWhereInput;
    orderBy?: Prisma.TransactionOrderByWithRelationInput | Prisma.TransactionOrderByWithRelationInput[];
    cursor?: Prisma.TransactionWhereUniqueInput;
    take?: number;
    skip?: number;
    distinct?: Prisma.TransactionScalarFieldEnum | Prisma.TransactionScalarFieldEnum[];
};
export type User$createdTransactionsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.TransactionSelect<ExtArgs> | null;
    omit?: Prisma.TransactionOmit<ExtArgs> | null;
    include?: Prisma.TransactionInclude<ExtArgs> | null;
    where?: Prisma.TransactionWhereInput;
    orderBy?: Prisma.TransactionOrderByWithRelationInput | Prisma.TransactionOrderByWithRelationInput[];
    cursor?: Prisma.TransactionWhereUniqueInput;
    take?: number;
    skip?: number;
    distinct?: Prisma.TransactionScalarFieldEnum | Prisma.TransactionScalarFieldEnum[];
};
export type User$modifiedTransactionsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.TransactionSelect<ExtArgs> | null;
    omit?: Prisma.TransactionOmit<ExtArgs> | null;
    include?: Prisma.TransactionInclude<ExtArgs> | null;
    where?: Prisma.TransactionWhereInput;
    orderBy?: Prisma.TransactionOrderByWithRelationInput | Prisma.TransactionOrderByWithRelationInput[];
    cursor?: Prisma.TransactionWhereUniqueInput;
    take?: number;
    skip?: number;
    distinct?: Prisma.TransactionScalarFieldEnum | Prisma.TransactionScalarFieldEnum[];
};
export type User$auditLogsAuthoredArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.AuditLogSelect<ExtArgs> | null;
    omit?: Prisma.AuditLogOmit<ExtArgs> | null;
    include?: Prisma.AuditLogInclude<ExtArgs> | null;
    where?: Prisma.AuditLogWhereInput;
    orderBy?: Prisma.AuditLogOrderByWithRelationInput | Prisma.AuditLogOrderByWithRelationInput[];
    cursor?: Prisma.AuditLogWhereUniqueInput;
    take?: number;
    skip?: number;
    distinct?: Prisma.AuditLogScalarFieldEnum | Prisma.AuditLogScalarFieldEnum[];
};
export type User$paymentsCreatedArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.PaymentSelect<ExtArgs> | null;
    omit?: Prisma.PaymentOmit<ExtArgs> | null;
    include?: Prisma.PaymentInclude<ExtArgs> | null;
    where?: Prisma.PaymentWhereInput;
    orderBy?: Prisma.PaymentOrderByWithRelationInput | Prisma.PaymentOrderByWithRelationInput[];
    cursor?: Prisma.PaymentWhereUniqueInput;
    take?: number;
    skip?: number;
    distinct?: Prisma.PaymentScalarFieldEnum | Prisma.PaymentScalarFieldEnum[];
};
export type UserDefaultArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.UserSelect<ExtArgs> | null;
    omit?: Prisma.UserOmit<ExtArgs> | null;
    include?: Prisma.UserInclude<ExtArgs> | null;
};
export {};
