import type * as runtime from "@prisma/client/runtime/client";
import type * as $Enums from "../enums";
import type * as Prisma from "../internal/prismaNamespace";
export type ItemTypeModel = runtime.Types.Result.DefaultSelection<Prisma.$ItemTypePayload>;
export type AggregateItemType = {
    _count: ItemTypeCountAggregateOutputType | null;
    _min: ItemTypeMinAggregateOutputType | null;
    _max: ItemTypeMaxAggregateOutputType | null;
};
export type ItemTypeMinAggregateOutputType = {
    id: string | null;
    code: string | null;
    name: string | null;
    desc: string | null;
    status: $Enums.SettingStatus | null;
    createdAt: Date | null;
    modifiedAt: Date | null;
};
export type ItemTypeMaxAggregateOutputType = {
    id: string | null;
    code: string | null;
    name: string | null;
    desc: string | null;
    status: $Enums.SettingStatus | null;
    createdAt: Date | null;
    modifiedAt: Date | null;
};
export type ItemTypeCountAggregateOutputType = {
    id: number;
    code: number;
    name: number;
    desc: number;
    status: number;
    createdAt: number;
    modifiedAt: number;
    _all: number;
};
export type ItemTypeMinAggregateInputType = {
    id?: true;
    code?: true;
    name?: true;
    desc?: true;
    status?: true;
    createdAt?: true;
    modifiedAt?: true;
};
export type ItemTypeMaxAggregateInputType = {
    id?: true;
    code?: true;
    name?: true;
    desc?: true;
    status?: true;
    createdAt?: true;
    modifiedAt?: true;
};
export type ItemTypeCountAggregateInputType = {
    id?: true;
    code?: true;
    name?: true;
    desc?: true;
    status?: true;
    createdAt?: true;
    modifiedAt?: true;
    _all?: true;
};
export type ItemTypeAggregateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    where?: Prisma.ItemTypeWhereInput;
    orderBy?: Prisma.ItemTypeOrderByWithRelationInput | Prisma.ItemTypeOrderByWithRelationInput[];
    cursor?: Prisma.ItemTypeWhereUniqueInput;
    take?: number;
    skip?: number;
    _count?: true | ItemTypeCountAggregateInputType;
    _min?: ItemTypeMinAggregateInputType;
    _max?: ItemTypeMaxAggregateInputType;
};
export type GetItemTypeAggregateType<T extends ItemTypeAggregateArgs> = {
    [P in keyof T & keyof AggregateItemType]: P extends '_count' | 'count' ? T[P] extends true ? number : Prisma.GetScalarType<T[P], AggregateItemType[P]> : Prisma.GetScalarType<T[P], AggregateItemType[P]>;
};
export type ItemTypeGroupByArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    where?: Prisma.ItemTypeWhereInput;
    orderBy?: Prisma.ItemTypeOrderByWithAggregationInput | Prisma.ItemTypeOrderByWithAggregationInput[];
    by: Prisma.ItemTypeScalarFieldEnum[] | Prisma.ItemTypeScalarFieldEnum;
    having?: Prisma.ItemTypeScalarWhereWithAggregatesInput;
    take?: number;
    skip?: number;
    _count?: ItemTypeCountAggregateInputType | true;
    _min?: ItemTypeMinAggregateInputType;
    _max?: ItemTypeMaxAggregateInputType;
};
export type ItemTypeGroupByOutputType = {
    id: string;
    code: string;
    name: string;
    desc: string | null;
    status: $Enums.SettingStatus;
    createdAt: Date;
    modifiedAt: Date;
    _count: ItemTypeCountAggregateOutputType | null;
    _min: ItemTypeMinAggregateOutputType | null;
    _max: ItemTypeMaxAggregateOutputType | null;
};
type GetItemTypeGroupByPayload<T extends ItemTypeGroupByArgs> = Prisma.PrismaPromise<Array<Prisma.PickEnumerable<ItemTypeGroupByOutputType, T['by']> & {
    [P in ((keyof T) & (keyof ItemTypeGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : Prisma.GetScalarType<T[P], ItemTypeGroupByOutputType[P]> : Prisma.GetScalarType<T[P], ItemTypeGroupByOutputType[P]>;
}>>;
export type ItemTypeWhereInput = {
    AND?: Prisma.ItemTypeWhereInput | Prisma.ItemTypeWhereInput[];
    OR?: Prisma.ItemTypeWhereInput[];
    NOT?: Prisma.ItemTypeWhereInput | Prisma.ItemTypeWhereInput[];
    id?: Prisma.UuidFilter<"ItemType"> | string;
    code?: Prisma.StringFilter<"ItemType"> | string;
    name?: Prisma.StringFilter<"ItemType"> | string;
    desc?: Prisma.StringNullableFilter<"ItemType"> | string | null;
    status?: Prisma.EnumSettingStatusFilter<"ItemType"> | $Enums.SettingStatus;
    createdAt?: Prisma.DateTimeFilter<"ItemType"> | Date | string;
    modifiedAt?: Prisma.DateTimeFilter<"ItemType"> | Date | string;
    pricingHeaders?: Prisma.PricingHeaderListRelationFilter;
    pricingDetails?: Prisma.PricingDetailListRelationFilter;
    transactionItems?: Prisma.TransactionItemListRelationFilter;
};
export type ItemTypeOrderByWithRelationInput = {
    id?: Prisma.SortOrder;
    code?: Prisma.SortOrder;
    name?: Prisma.SortOrder;
    desc?: Prisma.SortOrderInput | Prisma.SortOrder;
    status?: Prisma.SortOrder;
    createdAt?: Prisma.SortOrder;
    modifiedAt?: Prisma.SortOrder;
    pricingHeaders?: Prisma.PricingHeaderOrderByRelationAggregateInput;
    pricingDetails?: Prisma.PricingDetailOrderByRelationAggregateInput;
    transactionItems?: Prisma.TransactionItemOrderByRelationAggregateInput;
};
export type ItemTypeWhereUniqueInput = Prisma.AtLeast<{
    id?: string;
    code?: string;
    AND?: Prisma.ItemTypeWhereInput | Prisma.ItemTypeWhereInput[];
    OR?: Prisma.ItemTypeWhereInput[];
    NOT?: Prisma.ItemTypeWhereInput | Prisma.ItemTypeWhereInput[];
    name?: Prisma.StringFilter<"ItemType"> | string;
    desc?: Prisma.StringNullableFilter<"ItemType"> | string | null;
    status?: Prisma.EnumSettingStatusFilter<"ItemType"> | $Enums.SettingStatus;
    createdAt?: Prisma.DateTimeFilter<"ItemType"> | Date | string;
    modifiedAt?: Prisma.DateTimeFilter<"ItemType"> | Date | string;
    pricingHeaders?: Prisma.PricingHeaderListRelationFilter;
    pricingDetails?: Prisma.PricingDetailListRelationFilter;
    transactionItems?: Prisma.TransactionItemListRelationFilter;
}, "id" | "code">;
export type ItemTypeOrderByWithAggregationInput = {
    id?: Prisma.SortOrder;
    code?: Prisma.SortOrder;
    name?: Prisma.SortOrder;
    desc?: Prisma.SortOrderInput | Prisma.SortOrder;
    status?: Prisma.SortOrder;
    createdAt?: Prisma.SortOrder;
    modifiedAt?: Prisma.SortOrder;
    _count?: Prisma.ItemTypeCountOrderByAggregateInput;
    _max?: Prisma.ItemTypeMaxOrderByAggregateInput;
    _min?: Prisma.ItemTypeMinOrderByAggregateInput;
};
export type ItemTypeScalarWhereWithAggregatesInput = {
    AND?: Prisma.ItemTypeScalarWhereWithAggregatesInput | Prisma.ItemTypeScalarWhereWithAggregatesInput[];
    OR?: Prisma.ItemTypeScalarWhereWithAggregatesInput[];
    NOT?: Prisma.ItemTypeScalarWhereWithAggregatesInput | Prisma.ItemTypeScalarWhereWithAggregatesInput[];
    id?: Prisma.UuidWithAggregatesFilter<"ItemType"> | string;
    code?: Prisma.StringWithAggregatesFilter<"ItemType"> | string;
    name?: Prisma.StringWithAggregatesFilter<"ItemType"> | string;
    desc?: Prisma.StringNullableWithAggregatesFilter<"ItemType"> | string | null;
    status?: Prisma.EnumSettingStatusWithAggregatesFilter<"ItemType"> | $Enums.SettingStatus;
    createdAt?: Prisma.DateTimeWithAggregatesFilter<"ItemType"> | Date | string;
    modifiedAt?: Prisma.DateTimeWithAggregatesFilter<"ItemType"> | Date | string;
};
export type ItemTypeCreateInput = {
    id?: string;
    code: string;
    name: string;
    desc?: string | null;
    status?: $Enums.SettingStatus;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    pricingHeaders?: Prisma.PricingHeaderCreateNestedManyWithoutItemTypeInput;
    pricingDetails?: Prisma.PricingDetailCreateNestedManyWithoutItemTypeInput;
    transactionItems?: Prisma.TransactionItemCreateNestedManyWithoutItemTypeInput;
};
export type ItemTypeUncheckedCreateInput = {
    id?: string;
    code: string;
    name: string;
    desc?: string | null;
    status?: $Enums.SettingStatus;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    pricingHeaders?: Prisma.PricingHeaderUncheckedCreateNestedManyWithoutItemTypeInput;
    pricingDetails?: Prisma.PricingDetailUncheckedCreateNestedManyWithoutItemTypeInput;
    transactionItems?: Prisma.TransactionItemUncheckedCreateNestedManyWithoutItemTypeInput;
};
export type ItemTypeUpdateInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    code?: Prisma.StringFieldUpdateOperationsInput | string;
    name?: Prisma.StringFieldUpdateOperationsInput | string;
    desc?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    status?: Prisma.EnumSettingStatusFieldUpdateOperationsInput | $Enums.SettingStatus;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    pricingHeaders?: Prisma.PricingHeaderUpdateManyWithoutItemTypeNestedInput;
    pricingDetails?: Prisma.PricingDetailUpdateManyWithoutItemTypeNestedInput;
    transactionItems?: Prisma.TransactionItemUpdateManyWithoutItemTypeNestedInput;
};
export type ItemTypeUncheckedUpdateInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    code?: Prisma.StringFieldUpdateOperationsInput | string;
    name?: Prisma.StringFieldUpdateOperationsInput | string;
    desc?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    status?: Prisma.EnumSettingStatusFieldUpdateOperationsInput | $Enums.SettingStatus;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    pricingHeaders?: Prisma.PricingHeaderUncheckedUpdateManyWithoutItemTypeNestedInput;
    pricingDetails?: Prisma.PricingDetailUncheckedUpdateManyWithoutItemTypeNestedInput;
    transactionItems?: Prisma.TransactionItemUncheckedUpdateManyWithoutItemTypeNestedInput;
};
export type ItemTypeCreateManyInput = {
    id?: string;
    code: string;
    name: string;
    desc?: string | null;
    status?: $Enums.SettingStatus;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
};
export type ItemTypeUpdateManyMutationInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    code?: Prisma.StringFieldUpdateOperationsInput | string;
    name?: Prisma.StringFieldUpdateOperationsInput | string;
    desc?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    status?: Prisma.EnumSettingStatusFieldUpdateOperationsInput | $Enums.SettingStatus;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
};
export type ItemTypeUncheckedUpdateManyInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    code?: Prisma.StringFieldUpdateOperationsInput | string;
    name?: Prisma.StringFieldUpdateOperationsInput | string;
    desc?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    status?: Prisma.EnumSettingStatusFieldUpdateOperationsInput | $Enums.SettingStatus;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
};
export type ItemTypeScalarRelationFilter = {
    is?: Prisma.ItemTypeWhereInput;
    isNot?: Prisma.ItemTypeWhereInput;
};
export type ItemTypeCountOrderByAggregateInput = {
    id?: Prisma.SortOrder;
    code?: Prisma.SortOrder;
    name?: Prisma.SortOrder;
    desc?: Prisma.SortOrder;
    status?: Prisma.SortOrder;
    createdAt?: Prisma.SortOrder;
    modifiedAt?: Prisma.SortOrder;
};
export type ItemTypeMaxOrderByAggregateInput = {
    id?: Prisma.SortOrder;
    code?: Prisma.SortOrder;
    name?: Prisma.SortOrder;
    desc?: Prisma.SortOrder;
    status?: Prisma.SortOrder;
    createdAt?: Prisma.SortOrder;
    modifiedAt?: Prisma.SortOrder;
};
export type ItemTypeMinOrderByAggregateInput = {
    id?: Prisma.SortOrder;
    code?: Prisma.SortOrder;
    name?: Prisma.SortOrder;
    desc?: Prisma.SortOrder;
    status?: Prisma.SortOrder;
    createdAt?: Prisma.SortOrder;
    modifiedAt?: Prisma.SortOrder;
};
export type ItemTypeCreateNestedOneWithoutTransactionItemsInput = {
    create?: Prisma.XOR<Prisma.ItemTypeCreateWithoutTransactionItemsInput, Prisma.ItemTypeUncheckedCreateWithoutTransactionItemsInput>;
    connectOrCreate?: Prisma.ItemTypeCreateOrConnectWithoutTransactionItemsInput;
    connect?: Prisma.ItemTypeWhereUniqueInput;
};
export type ItemTypeUpdateOneRequiredWithoutTransactionItemsNestedInput = {
    create?: Prisma.XOR<Prisma.ItemTypeCreateWithoutTransactionItemsInput, Prisma.ItemTypeUncheckedCreateWithoutTransactionItemsInput>;
    connectOrCreate?: Prisma.ItemTypeCreateOrConnectWithoutTransactionItemsInput;
    upsert?: Prisma.ItemTypeUpsertWithoutTransactionItemsInput;
    connect?: Prisma.ItemTypeWhereUniqueInput;
    update?: Prisma.XOR<Prisma.XOR<Prisma.ItemTypeUpdateToOneWithWhereWithoutTransactionItemsInput, Prisma.ItemTypeUpdateWithoutTransactionItemsInput>, Prisma.ItemTypeUncheckedUpdateWithoutTransactionItemsInput>;
};
export type ItemTypeCreateNestedOneWithoutPricingHeadersInput = {
    create?: Prisma.XOR<Prisma.ItemTypeCreateWithoutPricingHeadersInput, Prisma.ItemTypeUncheckedCreateWithoutPricingHeadersInput>;
    connectOrCreate?: Prisma.ItemTypeCreateOrConnectWithoutPricingHeadersInput;
    connect?: Prisma.ItemTypeWhereUniqueInput;
};
export type ItemTypeUpdateOneRequiredWithoutPricingHeadersNestedInput = {
    create?: Prisma.XOR<Prisma.ItemTypeCreateWithoutPricingHeadersInput, Prisma.ItemTypeUncheckedCreateWithoutPricingHeadersInput>;
    connectOrCreate?: Prisma.ItemTypeCreateOrConnectWithoutPricingHeadersInput;
    upsert?: Prisma.ItemTypeUpsertWithoutPricingHeadersInput;
    connect?: Prisma.ItemTypeWhereUniqueInput;
    update?: Prisma.XOR<Prisma.XOR<Prisma.ItemTypeUpdateToOneWithWhereWithoutPricingHeadersInput, Prisma.ItemTypeUpdateWithoutPricingHeadersInput>, Prisma.ItemTypeUncheckedUpdateWithoutPricingHeadersInput>;
};
export type ItemTypeCreateNestedOneWithoutPricingDetailsInput = {
    create?: Prisma.XOR<Prisma.ItemTypeCreateWithoutPricingDetailsInput, Prisma.ItemTypeUncheckedCreateWithoutPricingDetailsInput>;
    connectOrCreate?: Prisma.ItemTypeCreateOrConnectWithoutPricingDetailsInput;
    connect?: Prisma.ItemTypeWhereUniqueInput;
};
export type ItemTypeUpdateOneRequiredWithoutPricingDetailsNestedInput = {
    create?: Prisma.XOR<Prisma.ItemTypeCreateWithoutPricingDetailsInput, Prisma.ItemTypeUncheckedCreateWithoutPricingDetailsInput>;
    connectOrCreate?: Prisma.ItemTypeCreateOrConnectWithoutPricingDetailsInput;
    upsert?: Prisma.ItemTypeUpsertWithoutPricingDetailsInput;
    connect?: Prisma.ItemTypeWhereUniqueInput;
    update?: Prisma.XOR<Prisma.XOR<Prisma.ItemTypeUpdateToOneWithWhereWithoutPricingDetailsInput, Prisma.ItemTypeUpdateWithoutPricingDetailsInput>, Prisma.ItemTypeUncheckedUpdateWithoutPricingDetailsInput>;
};
export type ItemTypeCreateWithoutTransactionItemsInput = {
    id?: string;
    code: string;
    name: string;
    desc?: string | null;
    status?: $Enums.SettingStatus;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    pricingHeaders?: Prisma.PricingHeaderCreateNestedManyWithoutItemTypeInput;
    pricingDetails?: Prisma.PricingDetailCreateNestedManyWithoutItemTypeInput;
};
export type ItemTypeUncheckedCreateWithoutTransactionItemsInput = {
    id?: string;
    code: string;
    name: string;
    desc?: string | null;
    status?: $Enums.SettingStatus;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    pricingHeaders?: Prisma.PricingHeaderUncheckedCreateNestedManyWithoutItemTypeInput;
    pricingDetails?: Prisma.PricingDetailUncheckedCreateNestedManyWithoutItemTypeInput;
};
export type ItemTypeCreateOrConnectWithoutTransactionItemsInput = {
    where: Prisma.ItemTypeWhereUniqueInput;
    create: Prisma.XOR<Prisma.ItemTypeCreateWithoutTransactionItemsInput, Prisma.ItemTypeUncheckedCreateWithoutTransactionItemsInput>;
};
export type ItemTypeUpsertWithoutTransactionItemsInput = {
    update: Prisma.XOR<Prisma.ItemTypeUpdateWithoutTransactionItemsInput, Prisma.ItemTypeUncheckedUpdateWithoutTransactionItemsInput>;
    create: Prisma.XOR<Prisma.ItemTypeCreateWithoutTransactionItemsInput, Prisma.ItemTypeUncheckedCreateWithoutTransactionItemsInput>;
    where?: Prisma.ItemTypeWhereInput;
};
export type ItemTypeUpdateToOneWithWhereWithoutTransactionItemsInput = {
    where?: Prisma.ItemTypeWhereInput;
    data: Prisma.XOR<Prisma.ItemTypeUpdateWithoutTransactionItemsInput, Prisma.ItemTypeUncheckedUpdateWithoutTransactionItemsInput>;
};
export type ItemTypeUpdateWithoutTransactionItemsInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    code?: Prisma.StringFieldUpdateOperationsInput | string;
    name?: Prisma.StringFieldUpdateOperationsInput | string;
    desc?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    status?: Prisma.EnumSettingStatusFieldUpdateOperationsInput | $Enums.SettingStatus;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    pricingHeaders?: Prisma.PricingHeaderUpdateManyWithoutItemTypeNestedInput;
    pricingDetails?: Prisma.PricingDetailUpdateManyWithoutItemTypeNestedInput;
};
export type ItemTypeUncheckedUpdateWithoutTransactionItemsInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    code?: Prisma.StringFieldUpdateOperationsInput | string;
    name?: Prisma.StringFieldUpdateOperationsInput | string;
    desc?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    status?: Prisma.EnumSettingStatusFieldUpdateOperationsInput | $Enums.SettingStatus;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    pricingHeaders?: Prisma.PricingHeaderUncheckedUpdateManyWithoutItemTypeNestedInput;
    pricingDetails?: Prisma.PricingDetailUncheckedUpdateManyWithoutItemTypeNestedInput;
};
export type ItemTypeCreateWithoutPricingHeadersInput = {
    id?: string;
    code: string;
    name: string;
    desc?: string | null;
    status?: $Enums.SettingStatus;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    pricingDetails?: Prisma.PricingDetailCreateNestedManyWithoutItemTypeInput;
    transactionItems?: Prisma.TransactionItemCreateNestedManyWithoutItemTypeInput;
};
export type ItemTypeUncheckedCreateWithoutPricingHeadersInput = {
    id?: string;
    code: string;
    name: string;
    desc?: string | null;
    status?: $Enums.SettingStatus;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    pricingDetails?: Prisma.PricingDetailUncheckedCreateNestedManyWithoutItemTypeInput;
    transactionItems?: Prisma.TransactionItemUncheckedCreateNestedManyWithoutItemTypeInput;
};
export type ItemTypeCreateOrConnectWithoutPricingHeadersInput = {
    where: Prisma.ItemTypeWhereUniqueInput;
    create: Prisma.XOR<Prisma.ItemTypeCreateWithoutPricingHeadersInput, Prisma.ItemTypeUncheckedCreateWithoutPricingHeadersInput>;
};
export type ItemTypeUpsertWithoutPricingHeadersInput = {
    update: Prisma.XOR<Prisma.ItemTypeUpdateWithoutPricingHeadersInput, Prisma.ItemTypeUncheckedUpdateWithoutPricingHeadersInput>;
    create: Prisma.XOR<Prisma.ItemTypeCreateWithoutPricingHeadersInput, Prisma.ItemTypeUncheckedCreateWithoutPricingHeadersInput>;
    where?: Prisma.ItemTypeWhereInput;
};
export type ItemTypeUpdateToOneWithWhereWithoutPricingHeadersInput = {
    where?: Prisma.ItemTypeWhereInput;
    data: Prisma.XOR<Prisma.ItemTypeUpdateWithoutPricingHeadersInput, Prisma.ItemTypeUncheckedUpdateWithoutPricingHeadersInput>;
};
export type ItemTypeUpdateWithoutPricingHeadersInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    code?: Prisma.StringFieldUpdateOperationsInput | string;
    name?: Prisma.StringFieldUpdateOperationsInput | string;
    desc?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    status?: Prisma.EnumSettingStatusFieldUpdateOperationsInput | $Enums.SettingStatus;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    pricingDetails?: Prisma.PricingDetailUpdateManyWithoutItemTypeNestedInput;
    transactionItems?: Prisma.TransactionItemUpdateManyWithoutItemTypeNestedInput;
};
export type ItemTypeUncheckedUpdateWithoutPricingHeadersInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    code?: Prisma.StringFieldUpdateOperationsInput | string;
    name?: Prisma.StringFieldUpdateOperationsInput | string;
    desc?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    status?: Prisma.EnumSettingStatusFieldUpdateOperationsInput | $Enums.SettingStatus;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    pricingDetails?: Prisma.PricingDetailUncheckedUpdateManyWithoutItemTypeNestedInput;
    transactionItems?: Prisma.TransactionItemUncheckedUpdateManyWithoutItemTypeNestedInput;
};
export type ItemTypeCreateWithoutPricingDetailsInput = {
    id?: string;
    code: string;
    name: string;
    desc?: string | null;
    status?: $Enums.SettingStatus;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    pricingHeaders?: Prisma.PricingHeaderCreateNestedManyWithoutItemTypeInput;
    transactionItems?: Prisma.TransactionItemCreateNestedManyWithoutItemTypeInput;
};
export type ItemTypeUncheckedCreateWithoutPricingDetailsInput = {
    id?: string;
    code: string;
    name: string;
    desc?: string | null;
    status?: $Enums.SettingStatus;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    pricingHeaders?: Prisma.PricingHeaderUncheckedCreateNestedManyWithoutItemTypeInput;
    transactionItems?: Prisma.TransactionItemUncheckedCreateNestedManyWithoutItemTypeInput;
};
export type ItemTypeCreateOrConnectWithoutPricingDetailsInput = {
    where: Prisma.ItemTypeWhereUniqueInput;
    create: Prisma.XOR<Prisma.ItemTypeCreateWithoutPricingDetailsInput, Prisma.ItemTypeUncheckedCreateWithoutPricingDetailsInput>;
};
export type ItemTypeUpsertWithoutPricingDetailsInput = {
    update: Prisma.XOR<Prisma.ItemTypeUpdateWithoutPricingDetailsInput, Prisma.ItemTypeUncheckedUpdateWithoutPricingDetailsInput>;
    create: Prisma.XOR<Prisma.ItemTypeCreateWithoutPricingDetailsInput, Prisma.ItemTypeUncheckedCreateWithoutPricingDetailsInput>;
    where?: Prisma.ItemTypeWhereInput;
};
export type ItemTypeUpdateToOneWithWhereWithoutPricingDetailsInput = {
    where?: Prisma.ItemTypeWhereInput;
    data: Prisma.XOR<Prisma.ItemTypeUpdateWithoutPricingDetailsInput, Prisma.ItemTypeUncheckedUpdateWithoutPricingDetailsInput>;
};
export type ItemTypeUpdateWithoutPricingDetailsInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    code?: Prisma.StringFieldUpdateOperationsInput | string;
    name?: Prisma.StringFieldUpdateOperationsInput | string;
    desc?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    status?: Prisma.EnumSettingStatusFieldUpdateOperationsInput | $Enums.SettingStatus;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    pricingHeaders?: Prisma.PricingHeaderUpdateManyWithoutItemTypeNestedInput;
    transactionItems?: Prisma.TransactionItemUpdateManyWithoutItemTypeNestedInput;
};
export type ItemTypeUncheckedUpdateWithoutPricingDetailsInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    code?: Prisma.StringFieldUpdateOperationsInput | string;
    name?: Prisma.StringFieldUpdateOperationsInput | string;
    desc?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    status?: Prisma.EnumSettingStatusFieldUpdateOperationsInput | $Enums.SettingStatus;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    pricingHeaders?: Prisma.PricingHeaderUncheckedUpdateManyWithoutItemTypeNestedInput;
    transactionItems?: Prisma.TransactionItemUncheckedUpdateManyWithoutItemTypeNestedInput;
};
export type ItemTypeCountOutputType = {
    pricingHeaders: number;
    pricingDetails: number;
    transactionItems: number;
};
export type ItemTypeCountOutputTypeSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    pricingHeaders?: boolean | ItemTypeCountOutputTypeCountPricingHeadersArgs;
    pricingDetails?: boolean | ItemTypeCountOutputTypeCountPricingDetailsArgs;
    transactionItems?: boolean | ItemTypeCountOutputTypeCountTransactionItemsArgs;
};
export type ItemTypeCountOutputTypeDefaultArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.ItemTypeCountOutputTypeSelect<ExtArgs> | null;
};
export type ItemTypeCountOutputTypeCountPricingHeadersArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    where?: Prisma.PricingHeaderWhereInput;
};
export type ItemTypeCountOutputTypeCountPricingDetailsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    where?: Prisma.PricingDetailWhereInput;
};
export type ItemTypeCountOutputTypeCountTransactionItemsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    where?: Prisma.TransactionItemWhereInput;
};
export type ItemTypeSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
    id?: boolean;
    code?: boolean;
    name?: boolean;
    desc?: boolean;
    status?: boolean;
    createdAt?: boolean;
    modifiedAt?: boolean;
    pricingHeaders?: boolean | Prisma.ItemType$pricingHeadersArgs<ExtArgs>;
    pricingDetails?: boolean | Prisma.ItemType$pricingDetailsArgs<ExtArgs>;
    transactionItems?: boolean | Prisma.ItemType$transactionItemsArgs<ExtArgs>;
    _count?: boolean | Prisma.ItemTypeCountOutputTypeDefaultArgs<ExtArgs>;
}, ExtArgs["result"]["itemType"]>;
export type ItemTypeSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
    id?: boolean;
    code?: boolean;
    name?: boolean;
    desc?: boolean;
    status?: boolean;
    createdAt?: boolean;
    modifiedAt?: boolean;
}, ExtArgs["result"]["itemType"]>;
export type ItemTypeSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
    id?: boolean;
    code?: boolean;
    name?: boolean;
    desc?: boolean;
    status?: boolean;
    createdAt?: boolean;
    modifiedAt?: boolean;
}, ExtArgs["result"]["itemType"]>;
export type ItemTypeSelectScalar = {
    id?: boolean;
    code?: boolean;
    name?: boolean;
    desc?: boolean;
    status?: boolean;
    createdAt?: boolean;
    modifiedAt?: boolean;
};
export type ItemTypeOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "code" | "name" | "desc" | "status" | "createdAt" | "modifiedAt", ExtArgs["result"]["itemType"]>;
export type ItemTypeInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    pricingHeaders?: boolean | Prisma.ItemType$pricingHeadersArgs<ExtArgs>;
    pricingDetails?: boolean | Prisma.ItemType$pricingDetailsArgs<ExtArgs>;
    transactionItems?: boolean | Prisma.ItemType$transactionItemsArgs<ExtArgs>;
    _count?: boolean | Prisma.ItemTypeCountOutputTypeDefaultArgs<ExtArgs>;
};
export type ItemTypeIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {};
export type ItemTypeIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {};
export type $ItemTypePayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    name: "ItemType";
    objects: {
        pricingHeaders: Prisma.$PricingHeaderPayload<ExtArgs>[];
        pricingDetails: Prisma.$PricingDetailPayload<ExtArgs>[];
        transactionItems: Prisma.$TransactionItemPayload<ExtArgs>[];
    };
    scalars: runtime.Types.Extensions.GetPayloadResult<{
        id: string;
        code: string;
        name: string;
        desc: string | null;
        status: $Enums.SettingStatus;
        createdAt: Date;
        modifiedAt: Date;
    }, ExtArgs["result"]["itemType"]>;
    composites: {};
};
export type ItemTypeGetPayload<S extends boolean | null | undefined | ItemTypeDefaultArgs> = runtime.Types.Result.GetResult<Prisma.$ItemTypePayload, S>;
export type ItemTypeCountArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = Omit<ItemTypeFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
    select?: ItemTypeCountAggregateInputType | true;
};
export interface ItemTypeDelegate<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> {
    [K: symbol]: {
        types: Prisma.TypeMap<ExtArgs>['model']['ItemType'];
        meta: {
            name: 'ItemType';
        };
    };
    findUnique<T extends ItemTypeFindUniqueArgs>(args: Prisma.SelectSubset<T, ItemTypeFindUniqueArgs<ExtArgs>>): Prisma.Prisma__ItemTypeClient<runtime.Types.Result.GetResult<Prisma.$ItemTypePayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>;
    findUniqueOrThrow<T extends ItemTypeFindUniqueOrThrowArgs>(args: Prisma.SelectSubset<T, ItemTypeFindUniqueOrThrowArgs<ExtArgs>>): Prisma.Prisma__ItemTypeClient<runtime.Types.Result.GetResult<Prisma.$ItemTypePayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    findFirst<T extends ItemTypeFindFirstArgs>(args?: Prisma.SelectSubset<T, ItemTypeFindFirstArgs<ExtArgs>>): Prisma.Prisma__ItemTypeClient<runtime.Types.Result.GetResult<Prisma.$ItemTypePayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>;
    findFirstOrThrow<T extends ItemTypeFindFirstOrThrowArgs>(args?: Prisma.SelectSubset<T, ItemTypeFindFirstOrThrowArgs<ExtArgs>>): Prisma.Prisma__ItemTypeClient<runtime.Types.Result.GetResult<Prisma.$ItemTypePayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    findMany<T extends ItemTypeFindManyArgs>(args?: Prisma.SelectSubset<T, ItemTypeFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ItemTypePayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>;
    create<T extends ItemTypeCreateArgs>(args: Prisma.SelectSubset<T, ItemTypeCreateArgs<ExtArgs>>): Prisma.Prisma__ItemTypeClient<runtime.Types.Result.GetResult<Prisma.$ItemTypePayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    createMany<T extends ItemTypeCreateManyArgs>(args?: Prisma.SelectSubset<T, ItemTypeCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>;
    createManyAndReturn<T extends ItemTypeCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, ItemTypeCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ItemTypePayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>;
    delete<T extends ItemTypeDeleteArgs>(args: Prisma.SelectSubset<T, ItemTypeDeleteArgs<ExtArgs>>): Prisma.Prisma__ItemTypeClient<runtime.Types.Result.GetResult<Prisma.$ItemTypePayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    update<T extends ItemTypeUpdateArgs>(args: Prisma.SelectSubset<T, ItemTypeUpdateArgs<ExtArgs>>): Prisma.Prisma__ItemTypeClient<runtime.Types.Result.GetResult<Prisma.$ItemTypePayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    deleteMany<T extends ItemTypeDeleteManyArgs>(args?: Prisma.SelectSubset<T, ItemTypeDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>;
    updateMany<T extends ItemTypeUpdateManyArgs>(args: Prisma.SelectSubset<T, ItemTypeUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>;
    updateManyAndReturn<T extends ItemTypeUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, ItemTypeUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ItemTypePayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>;
    upsert<T extends ItemTypeUpsertArgs>(args: Prisma.SelectSubset<T, ItemTypeUpsertArgs<ExtArgs>>): Prisma.Prisma__ItemTypeClient<runtime.Types.Result.GetResult<Prisma.$ItemTypePayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    count<T extends ItemTypeCountArgs>(args?: Prisma.Subset<T, ItemTypeCountArgs>): Prisma.PrismaPromise<T extends runtime.Types.Utils.Record<'select', any> ? T['select'] extends true ? number : Prisma.GetScalarType<T['select'], ItemTypeCountAggregateOutputType> : number>;
    aggregate<T extends ItemTypeAggregateArgs>(args: Prisma.Subset<T, ItemTypeAggregateArgs>): Prisma.PrismaPromise<GetItemTypeAggregateType<T>>;
    groupBy<T extends ItemTypeGroupByArgs, HasSelectOrTake extends Prisma.Or<Prisma.Extends<'skip', Prisma.Keys<T>>, Prisma.Extends<'take', Prisma.Keys<T>>>, OrderByArg extends Prisma.True extends HasSelectOrTake ? {
        orderBy: ItemTypeGroupByArgs['orderBy'];
    } : {
        orderBy?: ItemTypeGroupByArgs['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, ItemTypeGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetItemTypeGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>;
    readonly fields: ItemTypeFieldRefs;
}
export interface Prisma__ItemTypeClient<T, Null = never, ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
    readonly [Symbol.toStringTag]: "PrismaPromise";
    pricingHeaders<T extends Prisma.ItemType$pricingHeadersArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.ItemType$pricingHeadersArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$PricingHeaderPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>;
    pricingDetails<T extends Prisma.ItemType$pricingDetailsArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.ItemType$pricingDetailsArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$PricingDetailPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>;
    transactionItems<T extends Prisma.ItemType$transactionItemsArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.ItemType$transactionItemsArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$TransactionItemPayload<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 ItemTypeFieldRefs {
    readonly id: Prisma.FieldRef<"ItemType", 'String'>;
    readonly code: Prisma.FieldRef<"ItemType", 'String'>;
    readonly name: Prisma.FieldRef<"ItemType", 'String'>;
    readonly desc: Prisma.FieldRef<"ItemType", 'String'>;
    readonly status: Prisma.FieldRef<"ItemType", 'SettingStatus'>;
    readonly createdAt: Prisma.FieldRef<"ItemType", 'DateTime'>;
    readonly modifiedAt: Prisma.FieldRef<"ItemType", 'DateTime'>;
}
export type ItemTypeFindUniqueArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.ItemTypeSelect<ExtArgs> | null;
    omit?: Prisma.ItemTypeOmit<ExtArgs> | null;
    include?: Prisma.ItemTypeInclude<ExtArgs> | null;
    where: Prisma.ItemTypeWhereUniqueInput;
};
export type ItemTypeFindUniqueOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.ItemTypeSelect<ExtArgs> | null;
    omit?: Prisma.ItemTypeOmit<ExtArgs> | null;
    include?: Prisma.ItemTypeInclude<ExtArgs> | null;
    where: Prisma.ItemTypeWhereUniqueInput;
};
export type ItemTypeFindFirstArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.ItemTypeSelect<ExtArgs> | null;
    omit?: Prisma.ItemTypeOmit<ExtArgs> | null;
    include?: Prisma.ItemTypeInclude<ExtArgs> | null;
    where?: Prisma.ItemTypeWhereInput;
    orderBy?: Prisma.ItemTypeOrderByWithRelationInput | Prisma.ItemTypeOrderByWithRelationInput[];
    cursor?: Prisma.ItemTypeWhereUniqueInput;
    take?: number;
    skip?: number;
    distinct?: Prisma.ItemTypeScalarFieldEnum | Prisma.ItemTypeScalarFieldEnum[];
};
export type ItemTypeFindFirstOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.ItemTypeSelect<ExtArgs> | null;
    omit?: Prisma.ItemTypeOmit<ExtArgs> | null;
    include?: Prisma.ItemTypeInclude<ExtArgs> | null;
    where?: Prisma.ItemTypeWhereInput;
    orderBy?: Prisma.ItemTypeOrderByWithRelationInput | Prisma.ItemTypeOrderByWithRelationInput[];
    cursor?: Prisma.ItemTypeWhereUniqueInput;
    take?: number;
    skip?: number;
    distinct?: Prisma.ItemTypeScalarFieldEnum | Prisma.ItemTypeScalarFieldEnum[];
};
export type ItemTypeFindManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.ItemTypeSelect<ExtArgs> | null;
    omit?: Prisma.ItemTypeOmit<ExtArgs> | null;
    include?: Prisma.ItemTypeInclude<ExtArgs> | null;
    where?: Prisma.ItemTypeWhereInput;
    orderBy?: Prisma.ItemTypeOrderByWithRelationInput | Prisma.ItemTypeOrderByWithRelationInput[];
    cursor?: Prisma.ItemTypeWhereUniqueInput;
    take?: number;
    skip?: number;
    distinct?: Prisma.ItemTypeScalarFieldEnum | Prisma.ItemTypeScalarFieldEnum[];
};
export type ItemTypeCreateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.ItemTypeSelect<ExtArgs> | null;
    omit?: Prisma.ItemTypeOmit<ExtArgs> | null;
    include?: Prisma.ItemTypeInclude<ExtArgs> | null;
    data: Prisma.XOR<Prisma.ItemTypeCreateInput, Prisma.ItemTypeUncheckedCreateInput>;
};
export type ItemTypeCreateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    data: Prisma.ItemTypeCreateManyInput | Prisma.ItemTypeCreateManyInput[];
    skipDuplicates?: boolean;
};
export type ItemTypeCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.ItemTypeSelectCreateManyAndReturn<ExtArgs> | null;
    omit?: Prisma.ItemTypeOmit<ExtArgs> | null;
    data: Prisma.ItemTypeCreateManyInput | Prisma.ItemTypeCreateManyInput[];
    skipDuplicates?: boolean;
};
export type ItemTypeUpdateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.ItemTypeSelect<ExtArgs> | null;
    omit?: Prisma.ItemTypeOmit<ExtArgs> | null;
    include?: Prisma.ItemTypeInclude<ExtArgs> | null;
    data: Prisma.XOR<Prisma.ItemTypeUpdateInput, Prisma.ItemTypeUncheckedUpdateInput>;
    where: Prisma.ItemTypeWhereUniqueInput;
};
export type ItemTypeUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    data: Prisma.XOR<Prisma.ItemTypeUpdateManyMutationInput, Prisma.ItemTypeUncheckedUpdateManyInput>;
    where?: Prisma.ItemTypeWhereInput;
    limit?: number;
};
export type ItemTypeUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.ItemTypeSelectUpdateManyAndReturn<ExtArgs> | null;
    omit?: Prisma.ItemTypeOmit<ExtArgs> | null;
    data: Prisma.XOR<Prisma.ItemTypeUpdateManyMutationInput, Prisma.ItemTypeUncheckedUpdateManyInput>;
    where?: Prisma.ItemTypeWhereInput;
    limit?: number;
};
export type ItemTypeUpsertArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.ItemTypeSelect<ExtArgs> | null;
    omit?: Prisma.ItemTypeOmit<ExtArgs> | null;
    include?: Prisma.ItemTypeInclude<ExtArgs> | null;
    where: Prisma.ItemTypeWhereUniqueInput;
    create: Prisma.XOR<Prisma.ItemTypeCreateInput, Prisma.ItemTypeUncheckedCreateInput>;
    update: Prisma.XOR<Prisma.ItemTypeUpdateInput, Prisma.ItemTypeUncheckedUpdateInput>;
};
export type ItemTypeDeleteArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.ItemTypeSelect<ExtArgs> | null;
    omit?: Prisma.ItemTypeOmit<ExtArgs> | null;
    include?: Prisma.ItemTypeInclude<ExtArgs> | null;
    where: Prisma.ItemTypeWhereUniqueInput;
};
export type ItemTypeDeleteManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    where?: Prisma.ItemTypeWhereInput;
    limit?: number;
};
export type ItemType$pricingHeadersArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.PricingHeaderSelect<ExtArgs> | null;
    omit?: Prisma.PricingHeaderOmit<ExtArgs> | null;
    include?: Prisma.PricingHeaderInclude<ExtArgs> | null;
    where?: Prisma.PricingHeaderWhereInput;
    orderBy?: Prisma.PricingHeaderOrderByWithRelationInput | Prisma.PricingHeaderOrderByWithRelationInput[];
    cursor?: Prisma.PricingHeaderWhereUniqueInput;
    take?: number;
    skip?: number;
    distinct?: Prisma.PricingHeaderScalarFieldEnum | Prisma.PricingHeaderScalarFieldEnum[];
};
export type ItemType$pricingDetailsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.PricingDetailSelect<ExtArgs> | null;
    omit?: Prisma.PricingDetailOmit<ExtArgs> | null;
    include?: Prisma.PricingDetailInclude<ExtArgs> | null;
    where?: Prisma.PricingDetailWhereInput;
    orderBy?: Prisma.PricingDetailOrderByWithRelationInput | Prisma.PricingDetailOrderByWithRelationInput[];
    cursor?: Prisma.PricingDetailWhereUniqueInput;
    take?: number;
    skip?: number;
    distinct?: Prisma.PricingDetailScalarFieldEnum | Prisma.PricingDetailScalarFieldEnum[];
};
export type ItemType$transactionItemsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.TransactionItemSelect<ExtArgs> | null;
    omit?: Prisma.TransactionItemOmit<ExtArgs> | null;
    include?: Prisma.TransactionItemInclude<ExtArgs> | null;
    where?: Prisma.TransactionItemWhereInput;
    orderBy?: Prisma.TransactionItemOrderByWithRelationInput | Prisma.TransactionItemOrderByWithRelationInput[];
    cursor?: Prisma.TransactionItemWhereUniqueInput;
    take?: number;
    skip?: number;
    distinct?: Prisma.TransactionItemScalarFieldEnum | Prisma.TransactionItemScalarFieldEnum[];
};
export type ItemTypeDefaultArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.ItemTypeSelect<ExtArgs> | null;
    omit?: Prisma.ItemTypeOmit<ExtArgs> | null;
    include?: Prisma.ItemTypeInclude<ExtArgs> | null;
};
export {};
