import type * as runtime from "@prisma/client/runtime/client";
import type * as $Enums from "../enums";
import type * as Prisma from "../internal/prismaNamespace";
export type PricingDetailModel = runtime.Types.Result.DefaultSelection<Prisma.$PricingDetailPayload>;
export type AggregatePricingDetail = {
    _count: PricingDetailCountAggregateOutputType | null;
    _avg: PricingDetailAvgAggregateOutputType | null;
    _sum: PricingDetailSumAggregateOutputType | null;
    _min: PricingDetailMinAggregateOutputType | null;
    _max: PricingDetailMaxAggregateOutputType | null;
};
export type PricingDetailAvgAggregateOutputType = {
    pricePerUnit: runtime.Decimal | null;
    weight: number | null;
};
export type PricingDetailSumAggregateOutputType = {
    pricePerUnit: runtime.Decimal | null;
    weight: number | null;
};
export type PricingDetailMinAggregateOutputType = {
    id: string | null;
    headerId: string | null;
    itemTypeId: string | null;
    pricePerUnit: runtime.Decimal | null;
    weight: number | null;
    unit: string | null;
    status: $Enums.SettingStatus | null;
    beginEffective: Date | null;
    endEffective: Date | null;
    createdAt: Date | null;
    modifiedAt: Date | null;
    createdBy: string | null;
    modifiedBy: string | null;
};
export type PricingDetailMaxAggregateOutputType = {
    id: string | null;
    headerId: string | null;
    itemTypeId: string | null;
    pricePerUnit: runtime.Decimal | null;
    weight: number | null;
    unit: string | null;
    status: $Enums.SettingStatus | null;
    beginEffective: Date | null;
    endEffective: Date | null;
    createdAt: Date | null;
    modifiedAt: Date | null;
    createdBy: string | null;
    modifiedBy: string | null;
};
export type PricingDetailCountAggregateOutputType = {
    id: number;
    headerId: number;
    itemTypeId: number;
    pricePerUnit: number;
    weight: number;
    unit: number;
    status: number;
    beginEffective: number;
    endEffective: number;
    createdAt: number;
    modifiedAt: number;
    createdBy: number;
    modifiedBy: number;
    _all: number;
};
export type PricingDetailAvgAggregateInputType = {
    pricePerUnit?: true;
    weight?: true;
};
export type PricingDetailSumAggregateInputType = {
    pricePerUnit?: true;
    weight?: true;
};
export type PricingDetailMinAggregateInputType = {
    id?: true;
    headerId?: true;
    itemTypeId?: true;
    pricePerUnit?: true;
    weight?: true;
    unit?: true;
    status?: true;
    beginEffective?: true;
    endEffective?: true;
    createdAt?: true;
    modifiedAt?: true;
    createdBy?: true;
    modifiedBy?: true;
};
export type PricingDetailMaxAggregateInputType = {
    id?: true;
    headerId?: true;
    itemTypeId?: true;
    pricePerUnit?: true;
    weight?: true;
    unit?: true;
    status?: true;
    beginEffective?: true;
    endEffective?: true;
    createdAt?: true;
    modifiedAt?: true;
    createdBy?: true;
    modifiedBy?: true;
};
export type PricingDetailCountAggregateInputType = {
    id?: true;
    headerId?: true;
    itemTypeId?: true;
    pricePerUnit?: true;
    weight?: true;
    unit?: true;
    status?: true;
    beginEffective?: true;
    endEffective?: true;
    createdAt?: true;
    modifiedAt?: true;
    createdBy?: true;
    modifiedBy?: true;
    _all?: true;
};
export type PricingDetailAggregateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    where?: Prisma.PricingDetailWhereInput;
    orderBy?: Prisma.PricingDetailOrderByWithRelationInput | Prisma.PricingDetailOrderByWithRelationInput[];
    cursor?: Prisma.PricingDetailWhereUniqueInput;
    take?: number;
    skip?: number;
    _count?: true | PricingDetailCountAggregateInputType;
    _avg?: PricingDetailAvgAggregateInputType;
    _sum?: PricingDetailSumAggregateInputType;
    _min?: PricingDetailMinAggregateInputType;
    _max?: PricingDetailMaxAggregateInputType;
};
export type GetPricingDetailAggregateType<T extends PricingDetailAggregateArgs> = {
    [P in keyof T & keyof AggregatePricingDetail]: P extends '_count' | 'count' ? T[P] extends true ? number : Prisma.GetScalarType<T[P], AggregatePricingDetail[P]> : Prisma.GetScalarType<T[P], AggregatePricingDetail[P]>;
};
export type PricingDetailGroupByArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    where?: Prisma.PricingDetailWhereInput;
    orderBy?: Prisma.PricingDetailOrderByWithAggregationInput | Prisma.PricingDetailOrderByWithAggregationInput[];
    by: Prisma.PricingDetailScalarFieldEnum[] | Prisma.PricingDetailScalarFieldEnum;
    having?: Prisma.PricingDetailScalarWhereWithAggregatesInput;
    take?: number;
    skip?: number;
    _count?: PricingDetailCountAggregateInputType | true;
    _avg?: PricingDetailAvgAggregateInputType;
    _sum?: PricingDetailSumAggregateInputType;
    _min?: PricingDetailMinAggregateInputType;
    _max?: PricingDetailMaxAggregateInputType;
};
export type PricingDetailGroupByOutputType = {
    id: string;
    headerId: string;
    itemTypeId: string;
    pricePerUnit: runtime.Decimal;
    weight: number;
    unit: string;
    status: $Enums.SettingStatus;
    beginEffective: Date;
    endEffective: Date | null;
    createdAt: Date;
    modifiedAt: Date;
    createdBy: string;
    modifiedBy: string;
    _count: PricingDetailCountAggregateOutputType | null;
    _avg: PricingDetailAvgAggregateOutputType | null;
    _sum: PricingDetailSumAggregateOutputType | null;
    _min: PricingDetailMinAggregateOutputType | null;
    _max: PricingDetailMaxAggregateOutputType | null;
};
type GetPricingDetailGroupByPayload<T extends PricingDetailGroupByArgs> = Prisma.PrismaPromise<Array<Prisma.PickEnumerable<PricingDetailGroupByOutputType, T['by']> & {
    [P in ((keyof T) & (keyof PricingDetailGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : Prisma.GetScalarType<T[P], PricingDetailGroupByOutputType[P]> : Prisma.GetScalarType<T[P], PricingDetailGroupByOutputType[P]>;
}>>;
export type PricingDetailWhereInput = {
    AND?: Prisma.PricingDetailWhereInput | Prisma.PricingDetailWhereInput[];
    OR?: Prisma.PricingDetailWhereInput[];
    NOT?: Prisma.PricingDetailWhereInput | Prisma.PricingDetailWhereInput[];
    id?: Prisma.UuidFilter<"PricingDetail"> | string;
    headerId?: Prisma.UuidFilter<"PricingDetail"> | string;
    itemTypeId?: Prisma.UuidFilter<"PricingDetail"> | string;
    pricePerUnit?: Prisma.DecimalFilter<"PricingDetail"> | runtime.Decimal | runtime.DecimalJsLike | number | string;
    weight?: Prisma.IntFilter<"PricingDetail"> | number;
    unit?: Prisma.StringFilter<"PricingDetail"> | string;
    status?: Prisma.EnumSettingStatusFilter<"PricingDetail"> | $Enums.SettingStatus;
    beginEffective?: Prisma.DateTimeFilter<"PricingDetail"> | Date | string;
    endEffective?: Prisma.DateTimeNullableFilter<"PricingDetail"> | Date | string | null;
    createdAt?: Prisma.DateTimeFilter<"PricingDetail"> | Date | string;
    modifiedAt?: Prisma.DateTimeFilter<"PricingDetail"> | Date | string;
    createdBy?: Prisma.UuidFilter<"PricingDetail"> | string;
    modifiedBy?: Prisma.UuidFilter<"PricingDetail"> | string;
    header?: Prisma.XOR<Prisma.PricingHeaderScalarRelationFilter, Prisma.PricingHeaderWhereInput>;
    itemType?: Prisma.XOR<Prisma.ItemTypeScalarRelationFilter, Prisma.ItemTypeWhereInput>;
};
export type PricingDetailOrderByWithRelationInput = {
    id?: Prisma.SortOrder;
    headerId?: Prisma.SortOrder;
    itemTypeId?: Prisma.SortOrder;
    pricePerUnit?: Prisma.SortOrder;
    weight?: Prisma.SortOrder;
    unit?: Prisma.SortOrder;
    status?: Prisma.SortOrder;
    beginEffective?: Prisma.SortOrder;
    endEffective?: Prisma.SortOrderInput | Prisma.SortOrder;
    createdAt?: Prisma.SortOrder;
    modifiedAt?: Prisma.SortOrder;
    createdBy?: Prisma.SortOrder;
    modifiedBy?: Prisma.SortOrder;
    header?: Prisma.PricingHeaderOrderByWithRelationInput;
    itemType?: Prisma.ItemTypeOrderByWithRelationInput;
};
export type PricingDetailWhereUniqueInput = Prisma.AtLeast<{
    id?: string;
    AND?: Prisma.PricingDetailWhereInput | Prisma.PricingDetailWhereInput[];
    OR?: Prisma.PricingDetailWhereInput[];
    NOT?: Prisma.PricingDetailWhereInput | Prisma.PricingDetailWhereInput[];
    headerId?: Prisma.UuidFilter<"PricingDetail"> | string;
    itemTypeId?: Prisma.UuidFilter<"PricingDetail"> | string;
    pricePerUnit?: Prisma.DecimalFilter<"PricingDetail"> | runtime.Decimal | runtime.DecimalJsLike | number | string;
    weight?: Prisma.IntFilter<"PricingDetail"> | number;
    unit?: Prisma.StringFilter<"PricingDetail"> | string;
    status?: Prisma.EnumSettingStatusFilter<"PricingDetail"> | $Enums.SettingStatus;
    beginEffective?: Prisma.DateTimeFilter<"PricingDetail"> | Date | string;
    endEffective?: Prisma.DateTimeNullableFilter<"PricingDetail"> | Date | string | null;
    createdAt?: Prisma.DateTimeFilter<"PricingDetail"> | Date | string;
    modifiedAt?: Prisma.DateTimeFilter<"PricingDetail"> | Date | string;
    createdBy?: Prisma.UuidFilter<"PricingDetail"> | string;
    modifiedBy?: Prisma.UuidFilter<"PricingDetail"> | string;
    header?: Prisma.XOR<Prisma.PricingHeaderScalarRelationFilter, Prisma.PricingHeaderWhereInput>;
    itemType?: Prisma.XOR<Prisma.ItemTypeScalarRelationFilter, Prisma.ItemTypeWhereInput>;
}, "id">;
export type PricingDetailOrderByWithAggregationInput = {
    id?: Prisma.SortOrder;
    headerId?: Prisma.SortOrder;
    itemTypeId?: Prisma.SortOrder;
    pricePerUnit?: Prisma.SortOrder;
    weight?: Prisma.SortOrder;
    unit?: Prisma.SortOrder;
    status?: Prisma.SortOrder;
    beginEffective?: Prisma.SortOrder;
    endEffective?: Prisma.SortOrderInput | Prisma.SortOrder;
    createdAt?: Prisma.SortOrder;
    modifiedAt?: Prisma.SortOrder;
    createdBy?: Prisma.SortOrder;
    modifiedBy?: Prisma.SortOrder;
    _count?: Prisma.PricingDetailCountOrderByAggregateInput;
    _avg?: Prisma.PricingDetailAvgOrderByAggregateInput;
    _max?: Prisma.PricingDetailMaxOrderByAggregateInput;
    _min?: Prisma.PricingDetailMinOrderByAggregateInput;
    _sum?: Prisma.PricingDetailSumOrderByAggregateInput;
};
export type PricingDetailScalarWhereWithAggregatesInput = {
    AND?: Prisma.PricingDetailScalarWhereWithAggregatesInput | Prisma.PricingDetailScalarWhereWithAggregatesInput[];
    OR?: Prisma.PricingDetailScalarWhereWithAggregatesInput[];
    NOT?: Prisma.PricingDetailScalarWhereWithAggregatesInput | Prisma.PricingDetailScalarWhereWithAggregatesInput[];
    id?: Prisma.UuidWithAggregatesFilter<"PricingDetail"> | string;
    headerId?: Prisma.UuidWithAggregatesFilter<"PricingDetail"> | string;
    itemTypeId?: Prisma.UuidWithAggregatesFilter<"PricingDetail"> | string;
    pricePerUnit?: Prisma.DecimalWithAggregatesFilter<"PricingDetail"> | runtime.Decimal | runtime.DecimalJsLike | number | string;
    weight?: Prisma.IntWithAggregatesFilter<"PricingDetail"> | number;
    unit?: Prisma.StringWithAggregatesFilter<"PricingDetail"> | string;
    status?: Prisma.EnumSettingStatusWithAggregatesFilter<"PricingDetail"> | $Enums.SettingStatus;
    beginEffective?: Prisma.DateTimeWithAggregatesFilter<"PricingDetail"> | Date | string;
    endEffective?: Prisma.DateTimeNullableWithAggregatesFilter<"PricingDetail"> | Date | string | null;
    createdAt?: Prisma.DateTimeWithAggregatesFilter<"PricingDetail"> | Date | string;
    modifiedAt?: Prisma.DateTimeWithAggregatesFilter<"PricingDetail"> | Date | string;
    createdBy?: Prisma.UuidWithAggregatesFilter<"PricingDetail"> | string;
    modifiedBy?: Prisma.UuidWithAggregatesFilter<"PricingDetail"> | string;
};
export type PricingDetailCreateInput = {
    id?: string;
    pricePerUnit: runtime.Decimal | runtime.DecimalJsLike | number | string;
    weight: number;
    unit: string;
    status?: $Enums.SettingStatus;
    beginEffective: Date | string;
    endEffective?: Date | string | null;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    createdBy: string;
    modifiedBy: string;
    header: Prisma.PricingHeaderCreateNestedOneWithoutPricingDetailsInput;
    itemType: Prisma.ItemTypeCreateNestedOneWithoutPricingDetailsInput;
};
export type PricingDetailUncheckedCreateInput = {
    id?: string;
    headerId: string;
    itemTypeId: string;
    pricePerUnit: runtime.Decimal | runtime.DecimalJsLike | number | string;
    weight: number;
    unit: string;
    status?: $Enums.SettingStatus;
    beginEffective: Date | string;
    endEffective?: Date | string | null;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    createdBy: string;
    modifiedBy: string;
};
export type PricingDetailUpdateInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    pricePerUnit?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string;
    weight?: Prisma.IntFieldUpdateOperationsInput | number;
    unit?: Prisma.StringFieldUpdateOperationsInput | string;
    status?: Prisma.EnumSettingStatusFieldUpdateOperationsInput | $Enums.SettingStatus;
    beginEffective?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    endEffective?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    createdBy?: Prisma.StringFieldUpdateOperationsInput | string;
    modifiedBy?: Prisma.StringFieldUpdateOperationsInput | string;
    header?: Prisma.PricingHeaderUpdateOneRequiredWithoutPricingDetailsNestedInput;
    itemType?: Prisma.ItemTypeUpdateOneRequiredWithoutPricingDetailsNestedInput;
};
export type PricingDetailUncheckedUpdateInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    headerId?: Prisma.StringFieldUpdateOperationsInput | string;
    itemTypeId?: Prisma.StringFieldUpdateOperationsInput | string;
    pricePerUnit?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string;
    weight?: Prisma.IntFieldUpdateOperationsInput | number;
    unit?: Prisma.StringFieldUpdateOperationsInput | string;
    status?: Prisma.EnumSettingStatusFieldUpdateOperationsInput | $Enums.SettingStatus;
    beginEffective?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    endEffective?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    createdBy?: Prisma.StringFieldUpdateOperationsInput | string;
    modifiedBy?: Prisma.StringFieldUpdateOperationsInput | string;
};
export type PricingDetailCreateManyInput = {
    id?: string;
    headerId: string;
    itemTypeId: string;
    pricePerUnit: runtime.Decimal | runtime.DecimalJsLike | number | string;
    weight: number;
    unit: string;
    status?: $Enums.SettingStatus;
    beginEffective: Date | string;
    endEffective?: Date | string | null;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    createdBy: string;
    modifiedBy: string;
};
export type PricingDetailUpdateManyMutationInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    pricePerUnit?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string;
    weight?: Prisma.IntFieldUpdateOperationsInput | number;
    unit?: Prisma.StringFieldUpdateOperationsInput | string;
    status?: Prisma.EnumSettingStatusFieldUpdateOperationsInput | $Enums.SettingStatus;
    beginEffective?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    endEffective?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    createdBy?: Prisma.StringFieldUpdateOperationsInput | string;
    modifiedBy?: Prisma.StringFieldUpdateOperationsInput | string;
};
export type PricingDetailUncheckedUpdateManyInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    headerId?: Prisma.StringFieldUpdateOperationsInput | string;
    itemTypeId?: Prisma.StringFieldUpdateOperationsInput | string;
    pricePerUnit?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string;
    weight?: Prisma.IntFieldUpdateOperationsInput | number;
    unit?: Prisma.StringFieldUpdateOperationsInput | string;
    status?: Prisma.EnumSettingStatusFieldUpdateOperationsInput | $Enums.SettingStatus;
    beginEffective?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    endEffective?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    createdBy?: Prisma.StringFieldUpdateOperationsInput | string;
    modifiedBy?: Prisma.StringFieldUpdateOperationsInput | string;
};
export type PricingDetailListRelationFilter = {
    every?: Prisma.PricingDetailWhereInput;
    some?: Prisma.PricingDetailWhereInput;
    none?: Prisma.PricingDetailWhereInput;
};
export type PricingDetailOrderByRelationAggregateInput = {
    _count?: Prisma.SortOrder;
};
export type PricingDetailCountOrderByAggregateInput = {
    id?: Prisma.SortOrder;
    headerId?: Prisma.SortOrder;
    itemTypeId?: Prisma.SortOrder;
    pricePerUnit?: Prisma.SortOrder;
    weight?: Prisma.SortOrder;
    unit?: Prisma.SortOrder;
    status?: Prisma.SortOrder;
    beginEffective?: Prisma.SortOrder;
    endEffective?: Prisma.SortOrder;
    createdAt?: Prisma.SortOrder;
    modifiedAt?: Prisma.SortOrder;
    createdBy?: Prisma.SortOrder;
    modifiedBy?: Prisma.SortOrder;
};
export type PricingDetailAvgOrderByAggregateInput = {
    pricePerUnit?: Prisma.SortOrder;
    weight?: Prisma.SortOrder;
};
export type PricingDetailMaxOrderByAggregateInput = {
    id?: Prisma.SortOrder;
    headerId?: Prisma.SortOrder;
    itemTypeId?: Prisma.SortOrder;
    pricePerUnit?: Prisma.SortOrder;
    weight?: Prisma.SortOrder;
    unit?: Prisma.SortOrder;
    status?: Prisma.SortOrder;
    beginEffective?: Prisma.SortOrder;
    endEffective?: Prisma.SortOrder;
    createdAt?: Prisma.SortOrder;
    modifiedAt?: Prisma.SortOrder;
    createdBy?: Prisma.SortOrder;
    modifiedBy?: Prisma.SortOrder;
};
export type PricingDetailMinOrderByAggregateInput = {
    id?: Prisma.SortOrder;
    headerId?: Prisma.SortOrder;
    itemTypeId?: Prisma.SortOrder;
    pricePerUnit?: Prisma.SortOrder;
    weight?: Prisma.SortOrder;
    unit?: Prisma.SortOrder;
    status?: Prisma.SortOrder;
    beginEffective?: Prisma.SortOrder;
    endEffective?: Prisma.SortOrder;
    createdAt?: Prisma.SortOrder;
    modifiedAt?: Prisma.SortOrder;
    createdBy?: Prisma.SortOrder;
    modifiedBy?: Prisma.SortOrder;
};
export type PricingDetailSumOrderByAggregateInput = {
    pricePerUnit?: Prisma.SortOrder;
    weight?: Prisma.SortOrder;
};
export type PricingDetailCreateNestedManyWithoutItemTypeInput = {
    create?: Prisma.XOR<Prisma.PricingDetailCreateWithoutItemTypeInput, Prisma.PricingDetailUncheckedCreateWithoutItemTypeInput> | Prisma.PricingDetailCreateWithoutItemTypeInput[] | Prisma.PricingDetailUncheckedCreateWithoutItemTypeInput[];
    connectOrCreate?: Prisma.PricingDetailCreateOrConnectWithoutItemTypeInput | Prisma.PricingDetailCreateOrConnectWithoutItemTypeInput[];
    createMany?: Prisma.PricingDetailCreateManyItemTypeInputEnvelope;
    connect?: Prisma.PricingDetailWhereUniqueInput | Prisma.PricingDetailWhereUniqueInput[];
};
export type PricingDetailUncheckedCreateNestedManyWithoutItemTypeInput = {
    create?: Prisma.XOR<Prisma.PricingDetailCreateWithoutItemTypeInput, Prisma.PricingDetailUncheckedCreateWithoutItemTypeInput> | Prisma.PricingDetailCreateWithoutItemTypeInput[] | Prisma.PricingDetailUncheckedCreateWithoutItemTypeInput[];
    connectOrCreate?: Prisma.PricingDetailCreateOrConnectWithoutItemTypeInput | Prisma.PricingDetailCreateOrConnectWithoutItemTypeInput[];
    createMany?: Prisma.PricingDetailCreateManyItemTypeInputEnvelope;
    connect?: Prisma.PricingDetailWhereUniqueInput | Prisma.PricingDetailWhereUniqueInput[];
};
export type PricingDetailUpdateManyWithoutItemTypeNestedInput = {
    create?: Prisma.XOR<Prisma.PricingDetailCreateWithoutItemTypeInput, Prisma.PricingDetailUncheckedCreateWithoutItemTypeInput> | Prisma.PricingDetailCreateWithoutItemTypeInput[] | Prisma.PricingDetailUncheckedCreateWithoutItemTypeInput[];
    connectOrCreate?: Prisma.PricingDetailCreateOrConnectWithoutItemTypeInput | Prisma.PricingDetailCreateOrConnectWithoutItemTypeInput[];
    upsert?: Prisma.PricingDetailUpsertWithWhereUniqueWithoutItemTypeInput | Prisma.PricingDetailUpsertWithWhereUniqueWithoutItemTypeInput[];
    createMany?: Prisma.PricingDetailCreateManyItemTypeInputEnvelope;
    set?: Prisma.PricingDetailWhereUniqueInput | Prisma.PricingDetailWhereUniqueInput[];
    disconnect?: Prisma.PricingDetailWhereUniqueInput | Prisma.PricingDetailWhereUniqueInput[];
    delete?: Prisma.PricingDetailWhereUniqueInput | Prisma.PricingDetailWhereUniqueInput[];
    connect?: Prisma.PricingDetailWhereUniqueInput | Prisma.PricingDetailWhereUniqueInput[];
    update?: Prisma.PricingDetailUpdateWithWhereUniqueWithoutItemTypeInput | Prisma.PricingDetailUpdateWithWhereUniqueWithoutItemTypeInput[];
    updateMany?: Prisma.PricingDetailUpdateManyWithWhereWithoutItemTypeInput | Prisma.PricingDetailUpdateManyWithWhereWithoutItemTypeInput[];
    deleteMany?: Prisma.PricingDetailScalarWhereInput | Prisma.PricingDetailScalarWhereInput[];
};
export type PricingDetailUncheckedUpdateManyWithoutItemTypeNestedInput = {
    create?: Prisma.XOR<Prisma.PricingDetailCreateWithoutItemTypeInput, Prisma.PricingDetailUncheckedCreateWithoutItemTypeInput> | Prisma.PricingDetailCreateWithoutItemTypeInput[] | Prisma.PricingDetailUncheckedCreateWithoutItemTypeInput[];
    connectOrCreate?: Prisma.PricingDetailCreateOrConnectWithoutItemTypeInput | Prisma.PricingDetailCreateOrConnectWithoutItemTypeInput[];
    upsert?: Prisma.PricingDetailUpsertWithWhereUniqueWithoutItemTypeInput | Prisma.PricingDetailUpsertWithWhereUniqueWithoutItemTypeInput[];
    createMany?: Prisma.PricingDetailCreateManyItemTypeInputEnvelope;
    set?: Prisma.PricingDetailWhereUniqueInput | Prisma.PricingDetailWhereUniqueInput[];
    disconnect?: Prisma.PricingDetailWhereUniqueInput | Prisma.PricingDetailWhereUniqueInput[];
    delete?: Prisma.PricingDetailWhereUniqueInput | Prisma.PricingDetailWhereUniqueInput[];
    connect?: Prisma.PricingDetailWhereUniqueInput | Prisma.PricingDetailWhereUniqueInput[];
    update?: Prisma.PricingDetailUpdateWithWhereUniqueWithoutItemTypeInput | Prisma.PricingDetailUpdateWithWhereUniqueWithoutItemTypeInput[];
    updateMany?: Prisma.PricingDetailUpdateManyWithWhereWithoutItemTypeInput | Prisma.PricingDetailUpdateManyWithWhereWithoutItemTypeInput[];
    deleteMany?: Prisma.PricingDetailScalarWhereInput | Prisma.PricingDetailScalarWhereInput[];
};
export type PricingDetailCreateNestedManyWithoutHeaderInput = {
    create?: Prisma.XOR<Prisma.PricingDetailCreateWithoutHeaderInput, Prisma.PricingDetailUncheckedCreateWithoutHeaderInput> | Prisma.PricingDetailCreateWithoutHeaderInput[] | Prisma.PricingDetailUncheckedCreateWithoutHeaderInput[];
    connectOrCreate?: Prisma.PricingDetailCreateOrConnectWithoutHeaderInput | Prisma.PricingDetailCreateOrConnectWithoutHeaderInput[];
    createMany?: Prisma.PricingDetailCreateManyHeaderInputEnvelope;
    connect?: Prisma.PricingDetailWhereUniqueInput | Prisma.PricingDetailWhereUniqueInput[];
};
export type PricingDetailUncheckedCreateNestedManyWithoutHeaderInput = {
    create?: Prisma.XOR<Prisma.PricingDetailCreateWithoutHeaderInput, Prisma.PricingDetailUncheckedCreateWithoutHeaderInput> | Prisma.PricingDetailCreateWithoutHeaderInput[] | Prisma.PricingDetailUncheckedCreateWithoutHeaderInput[];
    connectOrCreate?: Prisma.PricingDetailCreateOrConnectWithoutHeaderInput | Prisma.PricingDetailCreateOrConnectWithoutHeaderInput[];
    createMany?: Prisma.PricingDetailCreateManyHeaderInputEnvelope;
    connect?: Prisma.PricingDetailWhereUniqueInput | Prisma.PricingDetailWhereUniqueInput[];
};
export type PricingDetailUpdateManyWithoutHeaderNestedInput = {
    create?: Prisma.XOR<Prisma.PricingDetailCreateWithoutHeaderInput, Prisma.PricingDetailUncheckedCreateWithoutHeaderInput> | Prisma.PricingDetailCreateWithoutHeaderInput[] | Prisma.PricingDetailUncheckedCreateWithoutHeaderInput[];
    connectOrCreate?: Prisma.PricingDetailCreateOrConnectWithoutHeaderInput | Prisma.PricingDetailCreateOrConnectWithoutHeaderInput[];
    upsert?: Prisma.PricingDetailUpsertWithWhereUniqueWithoutHeaderInput | Prisma.PricingDetailUpsertWithWhereUniqueWithoutHeaderInput[];
    createMany?: Prisma.PricingDetailCreateManyHeaderInputEnvelope;
    set?: Prisma.PricingDetailWhereUniqueInput | Prisma.PricingDetailWhereUniqueInput[];
    disconnect?: Prisma.PricingDetailWhereUniqueInput | Prisma.PricingDetailWhereUniqueInput[];
    delete?: Prisma.PricingDetailWhereUniqueInput | Prisma.PricingDetailWhereUniqueInput[];
    connect?: Prisma.PricingDetailWhereUniqueInput | Prisma.PricingDetailWhereUniqueInput[];
    update?: Prisma.PricingDetailUpdateWithWhereUniqueWithoutHeaderInput | Prisma.PricingDetailUpdateWithWhereUniqueWithoutHeaderInput[];
    updateMany?: Prisma.PricingDetailUpdateManyWithWhereWithoutHeaderInput | Prisma.PricingDetailUpdateManyWithWhereWithoutHeaderInput[];
    deleteMany?: Prisma.PricingDetailScalarWhereInput | Prisma.PricingDetailScalarWhereInput[];
};
export type PricingDetailUncheckedUpdateManyWithoutHeaderNestedInput = {
    create?: Prisma.XOR<Prisma.PricingDetailCreateWithoutHeaderInput, Prisma.PricingDetailUncheckedCreateWithoutHeaderInput> | Prisma.PricingDetailCreateWithoutHeaderInput[] | Prisma.PricingDetailUncheckedCreateWithoutHeaderInput[];
    connectOrCreate?: Prisma.PricingDetailCreateOrConnectWithoutHeaderInput | Prisma.PricingDetailCreateOrConnectWithoutHeaderInput[];
    upsert?: Prisma.PricingDetailUpsertWithWhereUniqueWithoutHeaderInput | Prisma.PricingDetailUpsertWithWhereUniqueWithoutHeaderInput[];
    createMany?: Prisma.PricingDetailCreateManyHeaderInputEnvelope;
    set?: Prisma.PricingDetailWhereUniqueInput | Prisma.PricingDetailWhereUniqueInput[];
    disconnect?: Prisma.PricingDetailWhereUniqueInput | Prisma.PricingDetailWhereUniqueInput[];
    delete?: Prisma.PricingDetailWhereUniqueInput | Prisma.PricingDetailWhereUniqueInput[];
    connect?: Prisma.PricingDetailWhereUniqueInput | Prisma.PricingDetailWhereUniqueInput[];
    update?: Prisma.PricingDetailUpdateWithWhereUniqueWithoutHeaderInput | Prisma.PricingDetailUpdateWithWhereUniqueWithoutHeaderInput[];
    updateMany?: Prisma.PricingDetailUpdateManyWithWhereWithoutHeaderInput | Prisma.PricingDetailUpdateManyWithWhereWithoutHeaderInput[];
    deleteMany?: Prisma.PricingDetailScalarWhereInput | Prisma.PricingDetailScalarWhereInput[];
};
export type PricingDetailCreateWithoutItemTypeInput = {
    id?: string;
    pricePerUnit: runtime.Decimal | runtime.DecimalJsLike | number | string;
    weight: number;
    unit: string;
    status?: $Enums.SettingStatus;
    beginEffective: Date | string;
    endEffective?: Date | string | null;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    createdBy: string;
    modifiedBy: string;
    header: Prisma.PricingHeaderCreateNestedOneWithoutPricingDetailsInput;
};
export type PricingDetailUncheckedCreateWithoutItemTypeInput = {
    id?: string;
    headerId: string;
    pricePerUnit: runtime.Decimal | runtime.DecimalJsLike | number | string;
    weight: number;
    unit: string;
    status?: $Enums.SettingStatus;
    beginEffective: Date | string;
    endEffective?: Date | string | null;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    createdBy: string;
    modifiedBy: string;
};
export type PricingDetailCreateOrConnectWithoutItemTypeInput = {
    where: Prisma.PricingDetailWhereUniqueInput;
    create: Prisma.XOR<Prisma.PricingDetailCreateWithoutItemTypeInput, Prisma.PricingDetailUncheckedCreateWithoutItemTypeInput>;
};
export type PricingDetailCreateManyItemTypeInputEnvelope = {
    data: Prisma.PricingDetailCreateManyItemTypeInput | Prisma.PricingDetailCreateManyItemTypeInput[];
    skipDuplicates?: boolean;
};
export type PricingDetailUpsertWithWhereUniqueWithoutItemTypeInput = {
    where: Prisma.PricingDetailWhereUniqueInput;
    update: Prisma.XOR<Prisma.PricingDetailUpdateWithoutItemTypeInput, Prisma.PricingDetailUncheckedUpdateWithoutItemTypeInput>;
    create: Prisma.XOR<Prisma.PricingDetailCreateWithoutItemTypeInput, Prisma.PricingDetailUncheckedCreateWithoutItemTypeInput>;
};
export type PricingDetailUpdateWithWhereUniqueWithoutItemTypeInput = {
    where: Prisma.PricingDetailWhereUniqueInput;
    data: Prisma.XOR<Prisma.PricingDetailUpdateWithoutItemTypeInput, Prisma.PricingDetailUncheckedUpdateWithoutItemTypeInput>;
};
export type PricingDetailUpdateManyWithWhereWithoutItemTypeInput = {
    where: Prisma.PricingDetailScalarWhereInput;
    data: Prisma.XOR<Prisma.PricingDetailUpdateManyMutationInput, Prisma.PricingDetailUncheckedUpdateManyWithoutItemTypeInput>;
};
export type PricingDetailScalarWhereInput = {
    AND?: Prisma.PricingDetailScalarWhereInput | Prisma.PricingDetailScalarWhereInput[];
    OR?: Prisma.PricingDetailScalarWhereInput[];
    NOT?: Prisma.PricingDetailScalarWhereInput | Prisma.PricingDetailScalarWhereInput[];
    id?: Prisma.UuidFilter<"PricingDetail"> | string;
    headerId?: Prisma.UuidFilter<"PricingDetail"> | string;
    itemTypeId?: Prisma.UuidFilter<"PricingDetail"> | string;
    pricePerUnit?: Prisma.DecimalFilter<"PricingDetail"> | runtime.Decimal | runtime.DecimalJsLike | number | string;
    weight?: Prisma.IntFilter<"PricingDetail"> | number;
    unit?: Prisma.StringFilter<"PricingDetail"> | string;
    status?: Prisma.EnumSettingStatusFilter<"PricingDetail"> | $Enums.SettingStatus;
    beginEffective?: Prisma.DateTimeFilter<"PricingDetail"> | Date | string;
    endEffective?: Prisma.DateTimeNullableFilter<"PricingDetail"> | Date | string | null;
    createdAt?: Prisma.DateTimeFilter<"PricingDetail"> | Date | string;
    modifiedAt?: Prisma.DateTimeFilter<"PricingDetail"> | Date | string;
    createdBy?: Prisma.UuidFilter<"PricingDetail"> | string;
    modifiedBy?: Prisma.UuidFilter<"PricingDetail"> | string;
};
export type PricingDetailCreateWithoutHeaderInput = {
    id?: string;
    pricePerUnit: runtime.Decimal | runtime.DecimalJsLike | number | string;
    weight: number;
    unit: string;
    status?: $Enums.SettingStatus;
    beginEffective: Date | string;
    endEffective?: Date | string | null;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    createdBy: string;
    modifiedBy: string;
    itemType: Prisma.ItemTypeCreateNestedOneWithoutPricingDetailsInput;
};
export type PricingDetailUncheckedCreateWithoutHeaderInput = {
    id?: string;
    itemTypeId: string;
    pricePerUnit: runtime.Decimal | runtime.DecimalJsLike | number | string;
    weight: number;
    unit: string;
    status?: $Enums.SettingStatus;
    beginEffective: Date | string;
    endEffective?: Date | string | null;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    createdBy: string;
    modifiedBy: string;
};
export type PricingDetailCreateOrConnectWithoutHeaderInput = {
    where: Prisma.PricingDetailWhereUniqueInput;
    create: Prisma.XOR<Prisma.PricingDetailCreateWithoutHeaderInput, Prisma.PricingDetailUncheckedCreateWithoutHeaderInput>;
};
export type PricingDetailCreateManyHeaderInputEnvelope = {
    data: Prisma.PricingDetailCreateManyHeaderInput | Prisma.PricingDetailCreateManyHeaderInput[];
    skipDuplicates?: boolean;
};
export type PricingDetailUpsertWithWhereUniqueWithoutHeaderInput = {
    where: Prisma.PricingDetailWhereUniqueInput;
    update: Prisma.XOR<Prisma.PricingDetailUpdateWithoutHeaderInput, Prisma.PricingDetailUncheckedUpdateWithoutHeaderInput>;
    create: Prisma.XOR<Prisma.PricingDetailCreateWithoutHeaderInput, Prisma.PricingDetailUncheckedCreateWithoutHeaderInput>;
};
export type PricingDetailUpdateWithWhereUniqueWithoutHeaderInput = {
    where: Prisma.PricingDetailWhereUniqueInput;
    data: Prisma.XOR<Prisma.PricingDetailUpdateWithoutHeaderInput, Prisma.PricingDetailUncheckedUpdateWithoutHeaderInput>;
};
export type PricingDetailUpdateManyWithWhereWithoutHeaderInput = {
    where: Prisma.PricingDetailScalarWhereInput;
    data: Prisma.XOR<Prisma.PricingDetailUpdateManyMutationInput, Prisma.PricingDetailUncheckedUpdateManyWithoutHeaderInput>;
};
export type PricingDetailCreateManyItemTypeInput = {
    id?: string;
    headerId: string;
    pricePerUnit: runtime.Decimal | runtime.DecimalJsLike | number | string;
    weight: number;
    unit: string;
    status?: $Enums.SettingStatus;
    beginEffective: Date | string;
    endEffective?: Date | string | null;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    createdBy: string;
    modifiedBy: string;
};
export type PricingDetailUpdateWithoutItemTypeInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    pricePerUnit?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string;
    weight?: Prisma.IntFieldUpdateOperationsInput | number;
    unit?: Prisma.StringFieldUpdateOperationsInput | string;
    status?: Prisma.EnumSettingStatusFieldUpdateOperationsInput | $Enums.SettingStatus;
    beginEffective?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    endEffective?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    createdBy?: Prisma.StringFieldUpdateOperationsInput | string;
    modifiedBy?: Prisma.StringFieldUpdateOperationsInput | string;
    header?: Prisma.PricingHeaderUpdateOneRequiredWithoutPricingDetailsNestedInput;
};
export type PricingDetailUncheckedUpdateWithoutItemTypeInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    headerId?: Prisma.StringFieldUpdateOperationsInput | string;
    pricePerUnit?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string;
    weight?: Prisma.IntFieldUpdateOperationsInput | number;
    unit?: Prisma.StringFieldUpdateOperationsInput | string;
    status?: Prisma.EnumSettingStatusFieldUpdateOperationsInput | $Enums.SettingStatus;
    beginEffective?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    endEffective?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    createdBy?: Prisma.StringFieldUpdateOperationsInput | string;
    modifiedBy?: Prisma.StringFieldUpdateOperationsInput | string;
};
export type PricingDetailUncheckedUpdateManyWithoutItemTypeInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    headerId?: Prisma.StringFieldUpdateOperationsInput | string;
    pricePerUnit?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string;
    weight?: Prisma.IntFieldUpdateOperationsInput | number;
    unit?: Prisma.StringFieldUpdateOperationsInput | string;
    status?: Prisma.EnumSettingStatusFieldUpdateOperationsInput | $Enums.SettingStatus;
    beginEffective?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    endEffective?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    createdBy?: Prisma.StringFieldUpdateOperationsInput | string;
    modifiedBy?: Prisma.StringFieldUpdateOperationsInput | string;
};
export type PricingDetailCreateManyHeaderInput = {
    id?: string;
    itemTypeId: string;
    pricePerUnit: runtime.Decimal | runtime.DecimalJsLike | number | string;
    weight: number;
    unit: string;
    status?: $Enums.SettingStatus;
    beginEffective: Date | string;
    endEffective?: Date | string | null;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    createdBy: string;
    modifiedBy: string;
};
export type PricingDetailUpdateWithoutHeaderInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    pricePerUnit?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string;
    weight?: Prisma.IntFieldUpdateOperationsInput | number;
    unit?: Prisma.StringFieldUpdateOperationsInput | string;
    status?: Prisma.EnumSettingStatusFieldUpdateOperationsInput | $Enums.SettingStatus;
    beginEffective?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    endEffective?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    createdBy?: Prisma.StringFieldUpdateOperationsInput | string;
    modifiedBy?: Prisma.StringFieldUpdateOperationsInput | string;
    itemType?: Prisma.ItemTypeUpdateOneRequiredWithoutPricingDetailsNestedInput;
};
export type PricingDetailUncheckedUpdateWithoutHeaderInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    itemTypeId?: Prisma.StringFieldUpdateOperationsInput | string;
    pricePerUnit?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string;
    weight?: Prisma.IntFieldUpdateOperationsInput | number;
    unit?: Prisma.StringFieldUpdateOperationsInput | string;
    status?: Prisma.EnumSettingStatusFieldUpdateOperationsInput | $Enums.SettingStatus;
    beginEffective?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    endEffective?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    createdBy?: Prisma.StringFieldUpdateOperationsInput | string;
    modifiedBy?: Prisma.StringFieldUpdateOperationsInput | string;
};
export type PricingDetailUncheckedUpdateManyWithoutHeaderInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    itemTypeId?: Prisma.StringFieldUpdateOperationsInput | string;
    pricePerUnit?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string;
    weight?: Prisma.IntFieldUpdateOperationsInput | number;
    unit?: Prisma.StringFieldUpdateOperationsInput | string;
    status?: Prisma.EnumSettingStatusFieldUpdateOperationsInput | $Enums.SettingStatus;
    beginEffective?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    endEffective?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    createdBy?: Prisma.StringFieldUpdateOperationsInput | string;
    modifiedBy?: Prisma.StringFieldUpdateOperationsInput | string;
};
export type PricingDetailSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
    id?: boolean;
    headerId?: boolean;
    itemTypeId?: boolean;
    pricePerUnit?: boolean;
    weight?: boolean;
    unit?: boolean;
    status?: boolean;
    beginEffective?: boolean;
    endEffective?: boolean;
    createdAt?: boolean;
    modifiedAt?: boolean;
    createdBy?: boolean;
    modifiedBy?: boolean;
    header?: boolean | Prisma.PricingHeaderDefaultArgs<ExtArgs>;
    itemType?: boolean | Prisma.ItemTypeDefaultArgs<ExtArgs>;
}, ExtArgs["result"]["pricingDetail"]>;
export type PricingDetailSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
    id?: boolean;
    headerId?: boolean;
    itemTypeId?: boolean;
    pricePerUnit?: boolean;
    weight?: boolean;
    unit?: boolean;
    status?: boolean;
    beginEffective?: boolean;
    endEffective?: boolean;
    createdAt?: boolean;
    modifiedAt?: boolean;
    createdBy?: boolean;
    modifiedBy?: boolean;
    header?: boolean | Prisma.PricingHeaderDefaultArgs<ExtArgs>;
    itemType?: boolean | Prisma.ItemTypeDefaultArgs<ExtArgs>;
}, ExtArgs["result"]["pricingDetail"]>;
export type PricingDetailSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
    id?: boolean;
    headerId?: boolean;
    itemTypeId?: boolean;
    pricePerUnit?: boolean;
    weight?: boolean;
    unit?: boolean;
    status?: boolean;
    beginEffective?: boolean;
    endEffective?: boolean;
    createdAt?: boolean;
    modifiedAt?: boolean;
    createdBy?: boolean;
    modifiedBy?: boolean;
    header?: boolean | Prisma.PricingHeaderDefaultArgs<ExtArgs>;
    itemType?: boolean | Prisma.ItemTypeDefaultArgs<ExtArgs>;
}, ExtArgs["result"]["pricingDetail"]>;
export type PricingDetailSelectScalar = {
    id?: boolean;
    headerId?: boolean;
    itemTypeId?: boolean;
    pricePerUnit?: boolean;
    weight?: boolean;
    unit?: boolean;
    status?: boolean;
    beginEffective?: boolean;
    endEffective?: boolean;
    createdAt?: boolean;
    modifiedAt?: boolean;
    createdBy?: boolean;
    modifiedBy?: boolean;
};
export type PricingDetailOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "headerId" | "itemTypeId" | "pricePerUnit" | "weight" | "unit" | "status" | "beginEffective" | "endEffective" | "createdAt" | "modifiedAt" | "createdBy" | "modifiedBy", ExtArgs["result"]["pricingDetail"]>;
export type PricingDetailInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    header?: boolean | Prisma.PricingHeaderDefaultArgs<ExtArgs>;
    itemType?: boolean | Prisma.ItemTypeDefaultArgs<ExtArgs>;
};
export type PricingDetailIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    header?: boolean | Prisma.PricingHeaderDefaultArgs<ExtArgs>;
    itemType?: boolean | Prisma.ItemTypeDefaultArgs<ExtArgs>;
};
export type PricingDetailIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    header?: boolean | Prisma.PricingHeaderDefaultArgs<ExtArgs>;
    itemType?: boolean | Prisma.ItemTypeDefaultArgs<ExtArgs>;
};
export type $PricingDetailPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    name: "PricingDetail";
    objects: {
        header: Prisma.$PricingHeaderPayload<ExtArgs>;
        itemType: Prisma.$ItemTypePayload<ExtArgs>;
    };
    scalars: runtime.Types.Extensions.GetPayloadResult<{
        id: string;
        headerId: string;
        itemTypeId: string;
        pricePerUnit: runtime.Decimal;
        weight: number;
        unit: string;
        status: $Enums.SettingStatus;
        beginEffective: Date;
        endEffective: Date | null;
        createdAt: Date;
        modifiedAt: Date;
        createdBy: string;
        modifiedBy: string;
    }, ExtArgs["result"]["pricingDetail"]>;
    composites: {};
};
export type PricingDetailGetPayload<S extends boolean | null | undefined | PricingDetailDefaultArgs> = runtime.Types.Result.GetResult<Prisma.$PricingDetailPayload, S>;
export type PricingDetailCountArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = Omit<PricingDetailFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
    select?: PricingDetailCountAggregateInputType | true;
};
export interface PricingDetailDelegate<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> {
    [K: symbol]: {
        types: Prisma.TypeMap<ExtArgs>['model']['PricingDetail'];
        meta: {
            name: 'PricingDetail';
        };
    };
    findUnique<T extends PricingDetailFindUniqueArgs>(args: Prisma.SelectSubset<T, PricingDetailFindUniqueArgs<ExtArgs>>): Prisma.Prisma__PricingDetailClient<runtime.Types.Result.GetResult<Prisma.$PricingDetailPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>;
    findUniqueOrThrow<T extends PricingDetailFindUniqueOrThrowArgs>(args: Prisma.SelectSubset<T, PricingDetailFindUniqueOrThrowArgs<ExtArgs>>): Prisma.Prisma__PricingDetailClient<runtime.Types.Result.GetResult<Prisma.$PricingDetailPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    findFirst<T extends PricingDetailFindFirstArgs>(args?: Prisma.SelectSubset<T, PricingDetailFindFirstArgs<ExtArgs>>): Prisma.Prisma__PricingDetailClient<runtime.Types.Result.GetResult<Prisma.$PricingDetailPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>;
    findFirstOrThrow<T extends PricingDetailFindFirstOrThrowArgs>(args?: Prisma.SelectSubset<T, PricingDetailFindFirstOrThrowArgs<ExtArgs>>): Prisma.Prisma__PricingDetailClient<runtime.Types.Result.GetResult<Prisma.$PricingDetailPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    findMany<T extends PricingDetailFindManyArgs>(args?: Prisma.SelectSubset<T, PricingDetailFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$PricingDetailPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>;
    create<T extends PricingDetailCreateArgs>(args: Prisma.SelectSubset<T, PricingDetailCreateArgs<ExtArgs>>): Prisma.Prisma__PricingDetailClient<runtime.Types.Result.GetResult<Prisma.$PricingDetailPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    createMany<T extends PricingDetailCreateManyArgs>(args?: Prisma.SelectSubset<T, PricingDetailCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>;
    createManyAndReturn<T extends PricingDetailCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, PricingDetailCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$PricingDetailPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>;
    delete<T extends PricingDetailDeleteArgs>(args: Prisma.SelectSubset<T, PricingDetailDeleteArgs<ExtArgs>>): Prisma.Prisma__PricingDetailClient<runtime.Types.Result.GetResult<Prisma.$PricingDetailPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    update<T extends PricingDetailUpdateArgs>(args: Prisma.SelectSubset<T, PricingDetailUpdateArgs<ExtArgs>>): Prisma.Prisma__PricingDetailClient<runtime.Types.Result.GetResult<Prisma.$PricingDetailPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    deleteMany<T extends PricingDetailDeleteManyArgs>(args?: Prisma.SelectSubset<T, PricingDetailDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>;
    updateMany<T extends PricingDetailUpdateManyArgs>(args: Prisma.SelectSubset<T, PricingDetailUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>;
    updateManyAndReturn<T extends PricingDetailUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, PricingDetailUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$PricingDetailPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>;
    upsert<T extends PricingDetailUpsertArgs>(args: Prisma.SelectSubset<T, PricingDetailUpsertArgs<ExtArgs>>): Prisma.Prisma__PricingDetailClient<runtime.Types.Result.GetResult<Prisma.$PricingDetailPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    count<T extends PricingDetailCountArgs>(args?: Prisma.Subset<T, PricingDetailCountArgs>): Prisma.PrismaPromise<T extends runtime.Types.Utils.Record<'select', any> ? T['select'] extends true ? number : Prisma.GetScalarType<T['select'], PricingDetailCountAggregateOutputType> : number>;
    aggregate<T extends PricingDetailAggregateArgs>(args: Prisma.Subset<T, PricingDetailAggregateArgs>): Prisma.PrismaPromise<GetPricingDetailAggregateType<T>>;
    groupBy<T extends PricingDetailGroupByArgs, HasSelectOrTake extends Prisma.Or<Prisma.Extends<'skip', Prisma.Keys<T>>, Prisma.Extends<'take', Prisma.Keys<T>>>, OrderByArg extends Prisma.True extends HasSelectOrTake ? {
        orderBy: PricingDetailGroupByArgs['orderBy'];
    } : {
        orderBy?: PricingDetailGroupByArgs['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, PricingDetailGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetPricingDetailGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>;
    readonly fields: PricingDetailFieldRefs;
}
export interface Prisma__PricingDetailClient<T, Null = never, ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
    readonly [Symbol.toStringTag]: "PrismaPromise";
    header<T extends Prisma.PricingHeaderDefaultArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.PricingHeaderDefaultArgs<ExtArgs>>): Prisma.Prisma__PricingHeaderClient<runtime.Types.Result.GetResult<Prisma.$PricingHeaderPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions>;
    itemType<T extends Prisma.ItemTypeDefaultArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.ItemTypeDefaultArgs<ExtArgs>>): Prisma.Prisma__ItemTypeClient<runtime.Types.Result.GetResult<Prisma.$ItemTypePayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions>;
    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 PricingDetailFieldRefs {
    readonly id: Prisma.FieldRef<"PricingDetail", 'String'>;
    readonly headerId: Prisma.FieldRef<"PricingDetail", 'String'>;
    readonly itemTypeId: Prisma.FieldRef<"PricingDetail", 'String'>;
    readonly pricePerUnit: Prisma.FieldRef<"PricingDetail", 'Decimal'>;
    readonly weight: Prisma.FieldRef<"PricingDetail", 'Int'>;
    readonly unit: Prisma.FieldRef<"PricingDetail", 'String'>;
    readonly status: Prisma.FieldRef<"PricingDetail", 'SettingStatus'>;
    readonly beginEffective: Prisma.FieldRef<"PricingDetail", 'DateTime'>;
    readonly endEffective: Prisma.FieldRef<"PricingDetail", 'DateTime'>;
    readonly createdAt: Prisma.FieldRef<"PricingDetail", 'DateTime'>;
    readonly modifiedAt: Prisma.FieldRef<"PricingDetail", 'DateTime'>;
    readonly createdBy: Prisma.FieldRef<"PricingDetail", 'String'>;
    readonly modifiedBy: Prisma.FieldRef<"PricingDetail", 'String'>;
}
export type PricingDetailFindUniqueArgs<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.PricingDetailWhereUniqueInput;
};
export type PricingDetailFindUniqueOrThrowArgs<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.PricingDetailWhereUniqueInput;
};
export type PricingDetailFindFirstArgs<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 PricingDetailFindFirstOrThrowArgs<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 PricingDetailFindManyArgs<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 PricingDetailCreateArgs<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;
    data: Prisma.XOR<Prisma.PricingDetailCreateInput, Prisma.PricingDetailUncheckedCreateInput>;
};
export type PricingDetailCreateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    data: Prisma.PricingDetailCreateManyInput | Prisma.PricingDetailCreateManyInput[];
    skipDuplicates?: boolean;
};
export type PricingDetailCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.PricingDetailSelectCreateManyAndReturn<ExtArgs> | null;
    omit?: Prisma.PricingDetailOmit<ExtArgs> | null;
    data: Prisma.PricingDetailCreateManyInput | Prisma.PricingDetailCreateManyInput[];
    skipDuplicates?: boolean;
    include?: Prisma.PricingDetailIncludeCreateManyAndReturn<ExtArgs> | null;
};
export type PricingDetailUpdateArgs<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;
    data: Prisma.XOR<Prisma.PricingDetailUpdateInput, Prisma.PricingDetailUncheckedUpdateInput>;
    where: Prisma.PricingDetailWhereUniqueInput;
};
export type PricingDetailUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    data: Prisma.XOR<Prisma.PricingDetailUpdateManyMutationInput, Prisma.PricingDetailUncheckedUpdateManyInput>;
    where?: Prisma.PricingDetailWhereInput;
    limit?: number;
};
export type PricingDetailUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.PricingDetailSelectUpdateManyAndReturn<ExtArgs> | null;
    omit?: Prisma.PricingDetailOmit<ExtArgs> | null;
    data: Prisma.XOR<Prisma.PricingDetailUpdateManyMutationInput, Prisma.PricingDetailUncheckedUpdateManyInput>;
    where?: Prisma.PricingDetailWhereInput;
    limit?: number;
    include?: Prisma.PricingDetailIncludeUpdateManyAndReturn<ExtArgs> | null;
};
export type PricingDetailUpsertArgs<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.PricingDetailWhereUniqueInput;
    create: Prisma.XOR<Prisma.PricingDetailCreateInput, Prisma.PricingDetailUncheckedCreateInput>;
    update: Prisma.XOR<Prisma.PricingDetailUpdateInput, Prisma.PricingDetailUncheckedUpdateInput>;
};
export type PricingDetailDeleteArgs<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.PricingDetailWhereUniqueInput;
};
export type PricingDetailDeleteManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    where?: Prisma.PricingDetailWhereInput;
    limit?: number;
};
export type PricingDetailDefaultArgs<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;
};
export {};
