import type * as runtime from "@prisma/client/runtime/client";
import type * as Prisma from "../internal/prismaNamespace";
/**
 * Model address_cart
 * This model contains row level security and requires additional setup for migrations. Visit https://pris.ly/d/row-level-security for more info.
 */
export type address_cartModel = runtime.Types.Result.DefaultSelection<Prisma.$address_cartPayload>;
export type AggregateAddress_cart = {
    _count: Address_cartCountAggregateOutputType | null;
    _avg: Address_cartAvgAggregateOutputType | null;
    _sum: Address_cartSumAggregateOutputType | null;
    _min: Address_cartMinAggregateOutputType | null;
    _max: Address_cartMaxAggregateOutputType | null;
};
export type Address_cartAvgAggregateOutputType = {
    id: number | null;
    address_id: number | null;
    cart_id: number | null;
};
export type Address_cartSumAggregateOutputType = {
    id: number | null;
    address_id: number | null;
    cart_id: number | null;
};
export type Address_cartMinAggregateOutputType = {
    id: number | null;
    address_id: number | null;
    cart_id: number | null;
};
export type Address_cartMaxAggregateOutputType = {
    id: number | null;
    address_id: number | null;
    cart_id: number | null;
};
export type Address_cartCountAggregateOutputType = {
    id: number;
    address_id: number;
    cart_id: number;
    _all: number;
};
export type Address_cartAvgAggregateInputType = {
    id?: true;
    address_id?: true;
    cart_id?: true;
};
export type Address_cartSumAggregateInputType = {
    id?: true;
    address_id?: true;
    cart_id?: true;
};
export type Address_cartMinAggregateInputType = {
    id?: true;
    address_id?: true;
    cart_id?: true;
};
export type Address_cartMaxAggregateInputType = {
    id?: true;
    address_id?: true;
    cart_id?: true;
};
export type Address_cartCountAggregateInputType = {
    id?: true;
    address_id?: true;
    cart_id?: true;
    _all?: true;
};
export type Address_cartAggregateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Filter which address_cart to aggregate.
     */
    where?: Prisma.address_cartWhereInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     *
     * Determine the order of address_carts to fetch.
     */
    orderBy?: Prisma.address_cartOrderByWithRelationInput | Prisma.address_cartOrderByWithRelationInput[];
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     *
     * Sets the start position
     */
    cursor?: Prisma.address_cartWhereUniqueInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     *
     * Take `±n` address_carts from the position of the cursor.
     */
    take?: number;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     *
     * Skip the first `n` address_carts.
     */
    skip?: number;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     *
     * Count returned address_carts
    **/
    _count?: true | Address_cartCountAggregateInputType;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     *
     * Select which fields to average
    **/
    _avg?: Address_cartAvgAggregateInputType;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     *
     * Select which fields to sum
    **/
    _sum?: Address_cartSumAggregateInputType;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     *
     * Select which fields to find the minimum value
    **/
    _min?: Address_cartMinAggregateInputType;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     *
     * Select which fields to find the maximum value
    **/
    _max?: Address_cartMaxAggregateInputType;
};
export type GetAddress_cartAggregateType<T extends Address_cartAggregateArgs> = {
    [P in keyof T & keyof AggregateAddress_cart]: P extends '_count' | 'count' ? T[P] extends true ? number : Prisma.GetScalarType<T[P], AggregateAddress_cart[P]> : Prisma.GetScalarType<T[P], AggregateAddress_cart[P]>;
};
export type address_cartGroupByArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    where?: Prisma.address_cartWhereInput;
    orderBy?: Prisma.address_cartOrderByWithAggregationInput | Prisma.address_cartOrderByWithAggregationInput[];
    by: Prisma.Address_cartScalarFieldEnum[] | Prisma.Address_cartScalarFieldEnum;
    having?: Prisma.address_cartScalarWhereWithAggregatesInput;
    take?: number;
    skip?: number;
    _count?: Address_cartCountAggregateInputType | true;
    _avg?: Address_cartAvgAggregateInputType;
    _sum?: Address_cartSumAggregateInputType;
    _min?: Address_cartMinAggregateInputType;
    _max?: Address_cartMaxAggregateInputType;
};
export type Address_cartGroupByOutputType = {
    id: number;
    address_id: number | null;
    cart_id: number | null;
    _count: Address_cartCountAggregateOutputType | null;
    _avg: Address_cartAvgAggregateOutputType | null;
    _sum: Address_cartSumAggregateOutputType | null;
    _min: Address_cartMinAggregateOutputType | null;
    _max: Address_cartMaxAggregateOutputType | null;
};
type GetAddress_cartGroupByPayload<T extends address_cartGroupByArgs> = Prisma.PrismaPromise<Array<Prisma.PickEnumerable<Address_cartGroupByOutputType, T['by']> & {
    [P in ((keyof T) & (keyof Address_cartGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : Prisma.GetScalarType<T[P], Address_cartGroupByOutputType[P]> : Prisma.GetScalarType<T[P], Address_cartGroupByOutputType[P]>;
}>>;
export type address_cartWhereInput = {
    AND?: Prisma.address_cartWhereInput | Prisma.address_cartWhereInput[];
    OR?: Prisma.address_cartWhereInput[];
    NOT?: Prisma.address_cartWhereInput | Prisma.address_cartWhereInput[];
    id?: Prisma.IntFilter<"address_cart"> | number;
    address_id?: Prisma.IntNullableFilter<"address_cart"> | number | null;
    cart_id?: Prisma.IntNullableFilter<"address_cart"> | number | null;
    address?: Prisma.XOR<Prisma.AddressNullableScalarRelationFilter, Prisma.addressWhereInput> | null;
    cart?: Prisma.XOR<Prisma.CartNullableScalarRelationFilter, Prisma.cartWhereInput> | null;
};
export type address_cartOrderByWithRelationInput = {
    id?: Prisma.SortOrder;
    address_id?: Prisma.SortOrderInput | Prisma.SortOrder;
    cart_id?: Prisma.SortOrderInput | Prisma.SortOrder;
    address?: Prisma.addressOrderByWithRelationInput;
    cart?: Prisma.cartOrderByWithRelationInput;
};
export type address_cartWhereUniqueInput = Prisma.AtLeast<{
    id?: number;
    AND?: Prisma.address_cartWhereInput | Prisma.address_cartWhereInput[];
    OR?: Prisma.address_cartWhereInput[];
    NOT?: Prisma.address_cartWhereInput | Prisma.address_cartWhereInput[];
    address_id?: Prisma.IntNullableFilter<"address_cart"> | number | null;
    cart_id?: Prisma.IntNullableFilter<"address_cart"> | number | null;
    address?: Prisma.XOR<Prisma.AddressNullableScalarRelationFilter, Prisma.addressWhereInput> | null;
    cart?: Prisma.XOR<Prisma.CartNullableScalarRelationFilter, Prisma.cartWhereInput> | null;
}, "id">;
export type address_cartOrderByWithAggregationInput = {
    id?: Prisma.SortOrder;
    address_id?: Prisma.SortOrderInput | Prisma.SortOrder;
    cart_id?: Prisma.SortOrderInput | Prisma.SortOrder;
    _count?: Prisma.address_cartCountOrderByAggregateInput;
    _avg?: Prisma.address_cartAvgOrderByAggregateInput;
    _max?: Prisma.address_cartMaxOrderByAggregateInput;
    _min?: Prisma.address_cartMinOrderByAggregateInput;
    _sum?: Prisma.address_cartSumOrderByAggregateInput;
};
export type address_cartScalarWhereWithAggregatesInput = {
    AND?: Prisma.address_cartScalarWhereWithAggregatesInput | Prisma.address_cartScalarWhereWithAggregatesInput[];
    OR?: Prisma.address_cartScalarWhereWithAggregatesInput[];
    NOT?: Prisma.address_cartScalarWhereWithAggregatesInput | Prisma.address_cartScalarWhereWithAggregatesInput[];
    id?: Prisma.IntWithAggregatesFilter<"address_cart"> | number;
    address_id?: Prisma.IntNullableWithAggregatesFilter<"address_cart"> | number | null;
    cart_id?: Prisma.IntNullableWithAggregatesFilter<"address_cart"> | number | null;
};
export type address_cartCreateInput = {
    address?: Prisma.addressCreateNestedOneWithoutAddress_cartInput;
    cart?: Prisma.cartCreateNestedOneWithoutAddress_cartInput;
};
export type address_cartUncheckedCreateInput = {
    id?: number;
    address_id?: number | null;
    cart_id?: number | null;
};
export type address_cartUpdateInput = {
    address?: Prisma.addressUpdateOneWithoutAddress_cartNestedInput;
    cart?: Prisma.cartUpdateOneWithoutAddress_cartNestedInput;
};
export type address_cartUncheckedUpdateInput = {
    id?: Prisma.IntFieldUpdateOperationsInput | number;
    address_id?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
    cart_id?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
};
export type address_cartCreateManyInput = {
    id?: number;
    address_id?: number | null;
    cart_id?: number | null;
};
export type address_cartUpdateManyMutationInput = {};
export type address_cartUncheckedUpdateManyInput = {
    id?: Prisma.IntFieldUpdateOperationsInput | number;
    address_id?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
    cart_id?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
};
export type Address_cartListRelationFilter = {
    every?: Prisma.address_cartWhereInput;
    some?: Prisma.address_cartWhereInput;
    none?: Prisma.address_cartWhereInput;
};
export type address_cartOrderByRelationAggregateInput = {
    _count?: Prisma.SortOrder;
};
export type address_cartCountOrderByAggregateInput = {
    id?: Prisma.SortOrder;
    address_id?: Prisma.SortOrder;
    cart_id?: Prisma.SortOrder;
};
export type address_cartAvgOrderByAggregateInput = {
    id?: Prisma.SortOrder;
    address_id?: Prisma.SortOrder;
    cart_id?: Prisma.SortOrder;
};
export type address_cartMaxOrderByAggregateInput = {
    id?: Prisma.SortOrder;
    address_id?: Prisma.SortOrder;
    cart_id?: Prisma.SortOrder;
};
export type address_cartMinOrderByAggregateInput = {
    id?: Prisma.SortOrder;
    address_id?: Prisma.SortOrder;
    cart_id?: Prisma.SortOrder;
};
export type address_cartSumOrderByAggregateInput = {
    id?: Prisma.SortOrder;
    address_id?: Prisma.SortOrder;
    cart_id?: Prisma.SortOrder;
};
export type address_cartCreateNestedManyWithoutAddressInput = {
    create?: Prisma.XOR<Prisma.address_cartCreateWithoutAddressInput, Prisma.address_cartUncheckedCreateWithoutAddressInput> | Prisma.address_cartCreateWithoutAddressInput[] | Prisma.address_cartUncheckedCreateWithoutAddressInput[];
    connectOrCreate?: Prisma.address_cartCreateOrConnectWithoutAddressInput | Prisma.address_cartCreateOrConnectWithoutAddressInput[];
    createMany?: Prisma.address_cartCreateManyAddressInputEnvelope;
    connect?: Prisma.address_cartWhereUniqueInput | Prisma.address_cartWhereUniqueInput[];
};
export type address_cartUncheckedCreateNestedManyWithoutAddressInput = {
    create?: Prisma.XOR<Prisma.address_cartCreateWithoutAddressInput, Prisma.address_cartUncheckedCreateWithoutAddressInput> | Prisma.address_cartCreateWithoutAddressInput[] | Prisma.address_cartUncheckedCreateWithoutAddressInput[];
    connectOrCreate?: Prisma.address_cartCreateOrConnectWithoutAddressInput | Prisma.address_cartCreateOrConnectWithoutAddressInput[];
    createMany?: Prisma.address_cartCreateManyAddressInputEnvelope;
    connect?: Prisma.address_cartWhereUniqueInput | Prisma.address_cartWhereUniqueInput[];
};
export type address_cartUpdateManyWithoutAddressNestedInput = {
    create?: Prisma.XOR<Prisma.address_cartCreateWithoutAddressInput, Prisma.address_cartUncheckedCreateWithoutAddressInput> | Prisma.address_cartCreateWithoutAddressInput[] | Prisma.address_cartUncheckedCreateWithoutAddressInput[];
    connectOrCreate?: Prisma.address_cartCreateOrConnectWithoutAddressInput | Prisma.address_cartCreateOrConnectWithoutAddressInput[];
    upsert?: Prisma.address_cartUpsertWithWhereUniqueWithoutAddressInput | Prisma.address_cartUpsertWithWhereUniqueWithoutAddressInput[];
    createMany?: Prisma.address_cartCreateManyAddressInputEnvelope;
    set?: Prisma.address_cartWhereUniqueInput | Prisma.address_cartWhereUniqueInput[];
    disconnect?: Prisma.address_cartWhereUniqueInput | Prisma.address_cartWhereUniqueInput[];
    delete?: Prisma.address_cartWhereUniqueInput | Prisma.address_cartWhereUniqueInput[];
    connect?: Prisma.address_cartWhereUniqueInput | Prisma.address_cartWhereUniqueInput[];
    update?: Prisma.address_cartUpdateWithWhereUniqueWithoutAddressInput | Prisma.address_cartUpdateWithWhereUniqueWithoutAddressInput[];
    updateMany?: Prisma.address_cartUpdateManyWithWhereWithoutAddressInput | Prisma.address_cartUpdateManyWithWhereWithoutAddressInput[];
    deleteMany?: Prisma.address_cartScalarWhereInput | Prisma.address_cartScalarWhereInput[];
};
export type address_cartUncheckedUpdateManyWithoutAddressNestedInput = {
    create?: Prisma.XOR<Prisma.address_cartCreateWithoutAddressInput, Prisma.address_cartUncheckedCreateWithoutAddressInput> | Prisma.address_cartCreateWithoutAddressInput[] | Prisma.address_cartUncheckedCreateWithoutAddressInput[];
    connectOrCreate?: Prisma.address_cartCreateOrConnectWithoutAddressInput | Prisma.address_cartCreateOrConnectWithoutAddressInput[];
    upsert?: Prisma.address_cartUpsertWithWhereUniqueWithoutAddressInput | Prisma.address_cartUpsertWithWhereUniqueWithoutAddressInput[];
    createMany?: Prisma.address_cartCreateManyAddressInputEnvelope;
    set?: Prisma.address_cartWhereUniqueInput | Prisma.address_cartWhereUniqueInput[];
    disconnect?: Prisma.address_cartWhereUniqueInput | Prisma.address_cartWhereUniqueInput[];
    delete?: Prisma.address_cartWhereUniqueInput | Prisma.address_cartWhereUniqueInput[];
    connect?: Prisma.address_cartWhereUniqueInput | Prisma.address_cartWhereUniqueInput[];
    update?: Prisma.address_cartUpdateWithWhereUniqueWithoutAddressInput | Prisma.address_cartUpdateWithWhereUniqueWithoutAddressInput[];
    updateMany?: Prisma.address_cartUpdateManyWithWhereWithoutAddressInput | Prisma.address_cartUpdateManyWithWhereWithoutAddressInput[];
    deleteMany?: Prisma.address_cartScalarWhereInput | Prisma.address_cartScalarWhereInput[];
};
export type address_cartCreateNestedManyWithoutCartInput = {
    create?: Prisma.XOR<Prisma.address_cartCreateWithoutCartInput, Prisma.address_cartUncheckedCreateWithoutCartInput> | Prisma.address_cartCreateWithoutCartInput[] | Prisma.address_cartUncheckedCreateWithoutCartInput[];
    connectOrCreate?: Prisma.address_cartCreateOrConnectWithoutCartInput | Prisma.address_cartCreateOrConnectWithoutCartInput[];
    createMany?: Prisma.address_cartCreateManyCartInputEnvelope;
    connect?: Prisma.address_cartWhereUniqueInput | Prisma.address_cartWhereUniqueInput[];
};
export type address_cartUncheckedCreateNestedManyWithoutCartInput = {
    create?: Prisma.XOR<Prisma.address_cartCreateWithoutCartInput, Prisma.address_cartUncheckedCreateWithoutCartInput> | Prisma.address_cartCreateWithoutCartInput[] | Prisma.address_cartUncheckedCreateWithoutCartInput[];
    connectOrCreate?: Prisma.address_cartCreateOrConnectWithoutCartInput | Prisma.address_cartCreateOrConnectWithoutCartInput[];
    createMany?: Prisma.address_cartCreateManyCartInputEnvelope;
    connect?: Prisma.address_cartWhereUniqueInput | Prisma.address_cartWhereUniqueInput[];
};
export type address_cartUpdateManyWithoutCartNestedInput = {
    create?: Prisma.XOR<Prisma.address_cartCreateWithoutCartInput, Prisma.address_cartUncheckedCreateWithoutCartInput> | Prisma.address_cartCreateWithoutCartInput[] | Prisma.address_cartUncheckedCreateWithoutCartInput[];
    connectOrCreate?: Prisma.address_cartCreateOrConnectWithoutCartInput | Prisma.address_cartCreateOrConnectWithoutCartInput[];
    upsert?: Prisma.address_cartUpsertWithWhereUniqueWithoutCartInput | Prisma.address_cartUpsertWithWhereUniqueWithoutCartInput[];
    createMany?: Prisma.address_cartCreateManyCartInputEnvelope;
    set?: Prisma.address_cartWhereUniqueInput | Prisma.address_cartWhereUniqueInput[];
    disconnect?: Prisma.address_cartWhereUniqueInput | Prisma.address_cartWhereUniqueInput[];
    delete?: Prisma.address_cartWhereUniqueInput | Prisma.address_cartWhereUniqueInput[];
    connect?: Prisma.address_cartWhereUniqueInput | Prisma.address_cartWhereUniqueInput[];
    update?: Prisma.address_cartUpdateWithWhereUniqueWithoutCartInput | Prisma.address_cartUpdateWithWhereUniqueWithoutCartInput[];
    updateMany?: Prisma.address_cartUpdateManyWithWhereWithoutCartInput | Prisma.address_cartUpdateManyWithWhereWithoutCartInput[];
    deleteMany?: Prisma.address_cartScalarWhereInput | Prisma.address_cartScalarWhereInput[];
};
export type address_cartUncheckedUpdateManyWithoutCartNestedInput = {
    create?: Prisma.XOR<Prisma.address_cartCreateWithoutCartInput, Prisma.address_cartUncheckedCreateWithoutCartInput> | Prisma.address_cartCreateWithoutCartInput[] | Prisma.address_cartUncheckedCreateWithoutCartInput[];
    connectOrCreate?: Prisma.address_cartCreateOrConnectWithoutCartInput | Prisma.address_cartCreateOrConnectWithoutCartInput[];
    upsert?: Prisma.address_cartUpsertWithWhereUniqueWithoutCartInput | Prisma.address_cartUpsertWithWhereUniqueWithoutCartInput[];
    createMany?: Prisma.address_cartCreateManyCartInputEnvelope;
    set?: Prisma.address_cartWhereUniqueInput | Prisma.address_cartWhereUniqueInput[];
    disconnect?: Prisma.address_cartWhereUniqueInput | Prisma.address_cartWhereUniqueInput[];
    delete?: Prisma.address_cartWhereUniqueInput | Prisma.address_cartWhereUniqueInput[];
    connect?: Prisma.address_cartWhereUniqueInput | Prisma.address_cartWhereUniqueInput[];
    update?: Prisma.address_cartUpdateWithWhereUniqueWithoutCartInput | Prisma.address_cartUpdateWithWhereUniqueWithoutCartInput[];
    updateMany?: Prisma.address_cartUpdateManyWithWhereWithoutCartInput | Prisma.address_cartUpdateManyWithWhereWithoutCartInput[];
    deleteMany?: Prisma.address_cartScalarWhereInput | Prisma.address_cartScalarWhereInput[];
};
export type address_cartCreateWithoutAddressInput = {
    cart?: Prisma.cartCreateNestedOneWithoutAddress_cartInput;
};
export type address_cartUncheckedCreateWithoutAddressInput = {
    id?: number;
    cart_id?: number | null;
};
export type address_cartCreateOrConnectWithoutAddressInput = {
    where: Prisma.address_cartWhereUniqueInput;
    create: Prisma.XOR<Prisma.address_cartCreateWithoutAddressInput, Prisma.address_cartUncheckedCreateWithoutAddressInput>;
};
export type address_cartCreateManyAddressInputEnvelope = {
    data: Prisma.address_cartCreateManyAddressInput | Prisma.address_cartCreateManyAddressInput[];
    skipDuplicates?: boolean;
};
export type address_cartUpsertWithWhereUniqueWithoutAddressInput = {
    where: Prisma.address_cartWhereUniqueInput;
    update: Prisma.XOR<Prisma.address_cartUpdateWithoutAddressInput, Prisma.address_cartUncheckedUpdateWithoutAddressInput>;
    create: Prisma.XOR<Prisma.address_cartCreateWithoutAddressInput, Prisma.address_cartUncheckedCreateWithoutAddressInput>;
};
export type address_cartUpdateWithWhereUniqueWithoutAddressInput = {
    where: Prisma.address_cartWhereUniqueInput;
    data: Prisma.XOR<Prisma.address_cartUpdateWithoutAddressInput, Prisma.address_cartUncheckedUpdateWithoutAddressInput>;
};
export type address_cartUpdateManyWithWhereWithoutAddressInput = {
    where: Prisma.address_cartScalarWhereInput;
    data: Prisma.XOR<Prisma.address_cartUpdateManyMutationInput, Prisma.address_cartUncheckedUpdateManyWithoutAddressInput>;
};
export type address_cartScalarWhereInput = {
    AND?: Prisma.address_cartScalarWhereInput | Prisma.address_cartScalarWhereInput[];
    OR?: Prisma.address_cartScalarWhereInput[];
    NOT?: Prisma.address_cartScalarWhereInput | Prisma.address_cartScalarWhereInput[];
    id?: Prisma.IntFilter<"address_cart"> | number;
    address_id?: Prisma.IntNullableFilter<"address_cart"> | number | null;
    cart_id?: Prisma.IntNullableFilter<"address_cart"> | number | null;
};
export type address_cartCreateWithoutCartInput = {
    address?: Prisma.addressCreateNestedOneWithoutAddress_cartInput;
};
export type address_cartUncheckedCreateWithoutCartInput = {
    id?: number;
    address_id?: number | null;
};
export type address_cartCreateOrConnectWithoutCartInput = {
    where: Prisma.address_cartWhereUniqueInput;
    create: Prisma.XOR<Prisma.address_cartCreateWithoutCartInput, Prisma.address_cartUncheckedCreateWithoutCartInput>;
};
export type address_cartCreateManyCartInputEnvelope = {
    data: Prisma.address_cartCreateManyCartInput | Prisma.address_cartCreateManyCartInput[];
    skipDuplicates?: boolean;
};
export type address_cartUpsertWithWhereUniqueWithoutCartInput = {
    where: Prisma.address_cartWhereUniqueInput;
    update: Prisma.XOR<Prisma.address_cartUpdateWithoutCartInput, Prisma.address_cartUncheckedUpdateWithoutCartInput>;
    create: Prisma.XOR<Prisma.address_cartCreateWithoutCartInput, Prisma.address_cartUncheckedCreateWithoutCartInput>;
};
export type address_cartUpdateWithWhereUniqueWithoutCartInput = {
    where: Prisma.address_cartWhereUniqueInput;
    data: Prisma.XOR<Prisma.address_cartUpdateWithoutCartInput, Prisma.address_cartUncheckedUpdateWithoutCartInput>;
};
export type address_cartUpdateManyWithWhereWithoutCartInput = {
    where: Prisma.address_cartScalarWhereInput;
    data: Prisma.XOR<Prisma.address_cartUpdateManyMutationInput, Prisma.address_cartUncheckedUpdateManyWithoutCartInput>;
};
export type address_cartCreateManyAddressInput = {
    id?: number;
    cart_id?: number | null;
};
export type address_cartUpdateWithoutAddressInput = {
    cart?: Prisma.cartUpdateOneWithoutAddress_cartNestedInput;
};
export type address_cartUncheckedUpdateWithoutAddressInput = {
    id?: Prisma.IntFieldUpdateOperationsInput | number;
    cart_id?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
};
export type address_cartUncheckedUpdateManyWithoutAddressInput = {
    id?: Prisma.IntFieldUpdateOperationsInput | number;
    cart_id?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
};
export type address_cartCreateManyCartInput = {
    id?: number;
    address_id?: number | null;
};
export type address_cartUpdateWithoutCartInput = {
    address?: Prisma.addressUpdateOneWithoutAddress_cartNestedInput;
};
export type address_cartUncheckedUpdateWithoutCartInput = {
    id?: Prisma.IntFieldUpdateOperationsInput | number;
    address_id?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
};
export type address_cartUncheckedUpdateManyWithoutCartInput = {
    id?: Prisma.IntFieldUpdateOperationsInput | number;
    address_id?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
};
export type address_cartSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
    id?: boolean;
    address_id?: boolean;
    cart_id?: boolean;
    address?: boolean | Prisma.address_cart$addressArgs<ExtArgs>;
    cart?: boolean | Prisma.address_cart$cartArgs<ExtArgs>;
}, ExtArgs["result"]["address_cart"]>;
export type address_cartSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
    id?: boolean;
    address_id?: boolean;
    cart_id?: boolean;
    address?: boolean | Prisma.address_cart$addressArgs<ExtArgs>;
    cart?: boolean | Prisma.address_cart$cartArgs<ExtArgs>;
}, ExtArgs["result"]["address_cart"]>;
export type address_cartSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
    id?: boolean;
    address_id?: boolean;
    cart_id?: boolean;
    address?: boolean | Prisma.address_cart$addressArgs<ExtArgs>;
    cart?: boolean | Prisma.address_cart$cartArgs<ExtArgs>;
}, ExtArgs["result"]["address_cart"]>;
export type address_cartSelectScalar = {
    id?: boolean;
    address_id?: boolean;
    cart_id?: boolean;
};
export type address_cartOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "address_id" | "cart_id", ExtArgs["result"]["address_cart"]>;
export type address_cartInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    address?: boolean | Prisma.address_cart$addressArgs<ExtArgs>;
    cart?: boolean | Prisma.address_cart$cartArgs<ExtArgs>;
};
export type address_cartIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    address?: boolean | Prisma.address_cart$addressArgs<ExtArgs>;
    cart?: boolean | Prisma.address_cart$cartArgs<ExtArgs>;
};
export type address_cartIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    address?: boolean | Prisma.address_cart$addressArgs<ExtArgs>;
    cart?: boolean | Prisma.address_cart$cartArgs<ExtArgs>;
};
export type $address_cartPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    name: "address_cart";
    objects: {
        address: Prisma.$addressPayload<ExtArgs> | null;
        cart: Prisma.$cartPayload<ExtArgs> | null;
    };
    scalars: runtime.Types.Extensions.GetPayloadResult<{
        id: number;
        address_id: number | null;
        cart_id: number | null;
    }, ExtArgs["result"]["address_cart"]>;
    composites: {};
};
export type address_cartGetPayload<S extends boolean | null | undefined | address_cartDefaultArgs> = runtime.Types.Result.GetResult<Prisma.$address_cartPayload, S>;
export type address_cartCountArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = Omit<address_cartFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
    select?: Address_cartCountAggregateInputType | true;
};
export interface address_cartDelegate<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> {
    [K: symbol]: {
        types: Prisma.TypeMap<ExtArgs>['model']['address_cart'];
        meta: {
            name: 'address_cart';
        };
    };
    /**
     * Find zero or one Address_cart that matches the filter.
     * @param {address_cartFindUniqueArgs} args - Arguments to find a Address_cart
     * @example
     * // Get one Address_cart
     * const address_cart = await prisma.address_cart.findUnique({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUnique<T extends address_cartFindUniqueArgs>(args: Prisma.SelectSubset<T, address_cartFindUniqueArgs<ExtArgs>>): Prisma.Prisma__address_cartClient<runtime.Types.Result.GetResult<Prisma.$address_cartPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>;
    /**
     * Find one Address_cart that matches the filter or throw an error with `error.code='P2025'`
     * if no matches were found.
     * @param {address_cartFindUniqueOrThrowArgs} args - Arguments to find a Address_cart
     * @example
     * // Get one Address_cart
     * const address_cart = await prisma.address_cart.findUniqueOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUniqueOrThrow<T extends address_cartFindUniqueOrThrowArgs>(args: Prisma.SelectSubset<T, address_cartFindUniqueOrThrowArgs<ExtArgs>>): Prisma.Prisma__address_cartClient<runtime.Types.Result.GetResult<Prisma.$address_cartPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    /**
     * Find the first Address_cart that matches the filter.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {address_cartFindFirstArgs} args - Arguments to find a Address_cart
     * @example
     * // Get one Address_cart
     * const address_cart = await prisma.address_cart.findFirst({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirst<T extends address_cartFindFirstArgs>(args?: Prisma.SelectSubset<T, address_cartFindFirstArgs<ExtArgs>>): Prisma.Prisma__address_cartClient<runtime.Types.Result.GetResult<Prisma.$address_cartPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>;
    /**
     * Find the first Address_cart that matches the filter or
     * throw `PrismaKnownClientError` with `P2025` code if no matches were found.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {address_cartFindFirstOrThrowArgs} args - Arguments to find a Address_cart
     * @example
     * // Get one Address_cart
     * const address_cart = await prisma.address_cart.findFirstOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirstOrThrow<T extends address_cartFindFirstOrThrowArgs>(args?: Prisma.SelectSubset<T, address_cartFindFirstOrThrowArgs<ExtArgs>>): Prisma.Prisma__address_cartClient<runtime.Types.Result.GetResult<Prisma.$address_cartPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    /**
     * Find zero or more Address_carts that matches the filter.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {address_cartFindManyArgs} args - Arguments to filter and select certain fields only.
     * @example
     * // Get all Address_carts
     * const address_carts = await prisma.address_cart.findMany()
     *
     * // Get first 10 Address_carts
     * const address_carts = await prisma.address_cart.findMany({ take: 10 })
     *
     * // Only select the `id`
     * const address_cartWithIdOnly = await prisma.address_cart.findMany({ select: { id: true } })
     *
     */
    findMany<T extends address_cartFindManyArgs>(args?: Prisma.SelectSubset<T, address_cartFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$address_cartPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>;
    /**
     * Create a Address_cart.
     * @param {address_cartCreateArgs} args - Arguments to create a Address_cart.
     * @example
     * // Create one Address_cart
     * const Address_cart = await prisma.address_cart.create({
     *   data: {
     *     // ... data to create a Address_cart
     *   }
     * })
     *
     */
    create<T extends address_cartCreateArgs>(args: Prisma.SelectSubset<T, address_cartCreateArgs<ExtArgs>>): Prisma.Prisma__address_cartClient<runtime.Types.Result.GetResult<Prisma.$address_cartPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    /**
     * Create many Address_carts.
     * @param {address_cartCreateManyArgs} args - Arguments to create many Address_carts.
     * @example
     * // Create many Address_carts
     * const address_cart = await prisma.address_cart.createMany({
     *   data: [
     *     // ... provide data here
     *   ]
     * })
     *
     */
    createMany<T extends address_cartCreateManyArgs>(args?: Prisma.SelectSubset<T, address_cartCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>;
    /**
     * Create many Address_carts and returns the data saved in the database.
     * @param {address_cartCreateManyAndReturnArgs} args - Arguments to create many Address_carts.
     * @example
     * // Create many Address_carts
     * const address_cart = await prisma.address_cart.createManyAndReturn({
     *   data: [
     *     // ... provide data here
     *   ]
     * })
     *
     * // Create many Address_carts and only return the `id`
     * const address_cartWithIdOnly = await prisma.address_cart.createManyAndReturn({
     *   select: { id: true },
     *   data: [
     *     // ... provide data here
     *   ]
     * })
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     *
     */
    createManyAndReturn<T extends address_cartCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, address_cartCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$address_cartPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>;
    /**
     * Delete a Address_cart.
     * @param {address_cartDeleteArgs} args - Arguments to delete one Address_cart.
     * @example
     * // Delete one Address_cart
     * const Address_cart = await prisma.address_cart.delete({
     *   where: {
     *     // ... filter to delete one Address_cart
     *   }
     * })
     *
     */
    delete<T extends address_cartDeleteArgs>(args: Prisma.SelectSubset<T, address_cartDeleteArgs<ExtArgs>>): Prisma.Prisma__address_cartClient<runtime.Types.Result.GetResult<Prisma.$address_cartPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    /**
     * Update one Address_cart.
     * @param {address_cartUpdateArgs} args - Arguments to update one Address_cart.
     * @example
     * // Update one Address_cart
     * const address_cart = await prisma.address_cart.update({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     *
     */
    update<T extends address_cartUpdateArgs>(args: Prisma.SelectSubset<T, address_cartUpdateArgs<ExtArgs>>): Prisma.Prisma__address_cartClient<runtime.Types.Result.GetResult<Prisma.$address_cartPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    /**
     * Delete zero or more Address_carts.
     * @param {address_cartDeleteManyArgs} args - Arguments to filter Address_carts to delete.
     * @example
     * // Delete a few Address_carts
     * const { count } = await prisma.address_cart.deleteMany({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     *
     */
    deleteMany<T extends address_cartDeleteManyArgs>(args?: Prisma.SelectSubset<T, address_cartDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>;
    /**
     * Update zero or more Address_carts.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {address_cartUpdateManyArgs} args - Arguments to update one or more rows.
     * @example
     * // Update many Address_carts
     * const address_cart = await prisma.address_cart.updateMany({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     *
     */
    updateMany<T extends address_cartUpdateManyArgs>(args: Prisma.SelectSubset<T, address_cartUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>;
    /**
     * Update zero or more Address_carts and returns the data updated in the database.
     * @param {address_cartUpdateManyAndReturnArgs} args - Arguments to update many Address_carts.
     * @example
     * // Update many Address_carts
     * const address_cart = await prisma.address_cart.updateManyAndReturn({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: [
     *     // ... provide data here
     *   ]
     * })
     *
     * // Update zero or more Address_carts and only return the `id`
     * const address_cartWithIdOnly = await prisma.address_cart.updateManyAndReturn({
     *   select: { id: true },
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: [
     *     // ... provide data here
     *   ]
     * })
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     *
     */
    updateManyAndReturn<T extends address_cartUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, address_cartUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$address_cartPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>;
    /**
     * Create or update one Address_cart.
     * @param {address_cartUpsertArgs} args - Arguments to update or create a Address_cart.
     * @example
     * // Update or create a Address_cart
     * const address_cart = await prisma.address_cart.upsert({
     *   create: {
     *     // ... data to create a Address_cart
     *   },
     *   update: {
     *     // ... in case it already exists, update
     *   },
     *   where: {
     *     // ... the filter for the Address_cart we want to update
     *   }
     * })
     */
    upsert<T extends address_cartUpsertArgs>(args: Prisma.SelectSubset<T, address_cartUpsertArgs<ExtArgs>>): Prisma.Prisma__address_cartClient<runtime.Types.Result.GetResult<Prisma.$address_cartPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    /**
     * Count the number of Address_carts.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {address_cartCountArgs} args - Arguments to filter Address_carts to count.
     * @example
     * // Count the number of Address_carts
     * const count = await prisma.address_cart.count({
     *   where: {
     *     // ... the filter for the Address_carts we want to count
     *   }
     * })
    **/
    count<T extends address_cartCountArgs>(args?: Prisma.Subset<T, address_cartCountArgs>): Prisma.PrismaPromise<T extends runtime.Types.Utils.Record<'select', any> ? T['select'] extends true ? number : Prisma.GetScalarType<T['select'], Address_cartCountAggregateOutputType> : number>;
    /**
     * Allows you to perform aggregations operations on a Address_cart.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {Address_cartAggregateArgs} args - Select which aggregations you would like to apply and on what fields.
     * @example
     * // Ordered by age ascending
     * // Where email contains prisma.io
     * // Limited to the 10 users
     * const aggregations = await prisma.user.aggregate({
     *   _avg: {
     *     age: true,
     *   },
     *   where: {
     *     email: {
     *       contains: "prisma.io",
     *     },
     *   },
     *   orderBy: {
     *     age: "asc",
     *   },
     *   take: 10,
     * })
    **/
    aggregate<T extends Address_cartAggregateArgs>(args: Prisma.Subset<T, Address_cartAggregateArgs>): Prisma.PrismaPromise<GetAddress_cartAggregateType<T>>;
    /**
     * Group by Address_cart.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {address_cartGroupByArgs} args - Group by arguments.
     * @example
     * // Group by city, order by createdAt, get count
     * const result = await prisma.user.groupBy({
     *   by: ['city', 'createdAt'],
     *   orderBy: {
     *     createdAt: true
     *   },
     *   _count: {
     *     _all: true
     *   },
     * })
     *
    **/
    groupBy<T extends address_cartGroupByArgs, HasSelectOrTake extends Prisma.Or<Prisma.Extends<'skip', Prisma.Keys<T>>, Prisma.Extends<'take', Prisma.Keys<T>>>, OrderByArg extends Prisma.True extends HasSelectOrTake ? {
        orderBy: address_cartGroupByArgs['orderBy'];
    } : {
        orderBy?: address_cartGroupByArgs['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, address_cartGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetAddress_cartGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>;
    /**
     * Fields of the address_cart model
     */
    readonly fields: address_cartFieldRefs;
}
/**
 * The delegate class that acts as a "Promise-like" for address_cart.
 * Why is this prefixed with `Prisma__`?
 * Because we want to prevent naming conflicts as mentioned in
 * https://github.com/prisma/prisma-client-js/issues/707
 */
export interface Prisma__address_cartClient<T, Null = never, ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
    readonly [Symbol.toStringTag]: "PrismaPromise";
    address<T extends Prisma.address_cart$addressArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.address_cart$addressArgs<ExtArgs>>): Prisma.Prisma__addressClient<runtime.Types.Result.GetResult<Prisma.$addressPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>;
    cart<T extends Prisma.address_cart$cartArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.address_cart$cartArgs<ExtArgs>>): Prisma.Prisma__cartClient<runtime.Types.Result.GetResult<Prisma.$cartPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>;
    /**
     * Attaches callbacks for the resolution and/or rejection of the Promise.
     * @param onfulfilled The callback to execute when the Promise is resolved.
     * @param onrejected The callback to execute when the Promise is rejected.
     * @returns A Promise for the completion of which ever callback is executed.
     */
    then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): runtime.Types.Utils.JsPromise<TResult1 | TResult2>;
    /**
     * Attaches a callback for only the rejection of the Promise.
     * @param onrejected The callback to execute when the Promise is rejected.
     * @returns A Promise for the completion of the callback.
     */
    catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): runtime.Types.Utils.JsPromise<T | TResult>;
    /**
     * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The
     * resolved value cannot be modified from the callback.
     * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected).
     * @returns A Promise for the completion of the callback.
     */
    finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise<T>;
}
/**
 * Fields of the address_cart model
 */
export interface address_cartFieldRefs {
    readonly id: Prisma.FieldRef<"address_cart", 'Int'>;
    readonly address_id: Prisma.FieldRef<"address_cart", 'Int'>;
    readonly cart_id: Prisma.FieldRef<"address_cart", 'Int'>;
}
/**
 * address_cart findUnique
 */
export type address_cartFindUniqueArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the address_cart
     */
    select?: Prisma.address_cartSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the address_cart
     */
    omit?: Prisma.address_cartOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.address_cartInclude<ExtArgs> | null;
    /**
     * Filter, which address_cart to fetch.
     */
    where: Prisma.address_cartWhereUniqueInput;
};
/**
 * address_cart findUniqueOrThrow
 */
export type address_cartFindUniqueOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the address_cart
     */
    select?: Prisma.address_cartSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the address_cart
     */
    omit?: Prisma.address_cartOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.address_cartInclude<ExtArgs> | null;
    /**
     * Filter, which address_cart to fetch.
     */
    where: Prisma.address_cartWhereUniqueInput;
};
/**
 * address_cart findFirst
 */
export type address_cartFindFirstArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the address_cart
     */
    select?: Prisma.address_cartSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the address_cart
     */
    omit?: Prisma.address_cartOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.address_cartInclude<ExtArgs> | null;
    /**
     * Filter, which address_cart to fetch.
     */
    where?: Prisma.address_cartWhereInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     *
     * Determine the order of address_carts to fetch.
     */
    orderBy?: Prisma.address_cartOrderByWithRelationInput | Prisma.address_cartOrderByWithRelationInput[];
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     *
     * Sets the position for searching for address_carts.
     */
    cursor?: Prisma.address_cartWhereUniqueInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     *
     * Take `±n` address_carts from the position of the cursor.
     */
    take?: number;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     *
     * Skip the first `n` address_carts.
     */
    skip?: number;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     *
     * Filter by unique combinations of address_carts.
     */
    distinct?: Prisma.Address_cartScalarFieldEnum | Prisma.Address_cartScalarFieldEnum[];
};
/**
 * address_cart findFirstOrThrow
 */
export type address_cartFindFirstOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the address_cart
     */
    select?: Prisma.address_cartSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the address_cart
     */
    omit?: Prisma.address_cartOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.address_cartInclude<ExtArgs> | null;
    /**
     * Filter, which address_cart to fetch.
     */
    where?: Prisma.address_cartWhereInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     *
     * Determine the order of address_carts to fetch.
     */
    orderBy?: Prisma.address_cartOrderByWithRelationInput | Prisma.address_cartOrderByWithRelationInput[];
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     *
     * Sets the position for searching for address_carts.
     */
    cursor?: Prisma.address_cartWhereUniqueInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     *
     * Take `±n` address_carts from the position of the cursor.
     */
    take?: number;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     *
     * Skip the first `n` address_carts.
     */
    skip?: number;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     *
     * Filter by unique combinations of address_carts.
     */
    distinct?: Prisma.Address_cartScalarFieldEnum | Prisma.Address_cartScalarFieldEnum[];
};
/**
 * address_cart findMany
 */
export type address_cartFindManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the address_cart
     */
    select?: Prisma.address_cartSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the address_cart
     */
    omit?: Prisma.address_cartOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.address_cartInclude<ExtArgs> | null;
    /**
     * Filter, which address_carts to fetch.
     */
    where?: Prisma.address_cartWhereInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     *
     * Determine the order of address_carts to fetch.
     */
    orderBy?: Prisma.address_cartOrderByWithRelationInput | Prisma.address_cartOrderByWithRelationInput[];
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     *
     * Sets the position for listing address_carts.
     */
    cursor?: Prisma.address_cartWhereUniqueInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     *
     * Take `±n` address_carts from the position of the cursor.
     */
    take?: number;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     *
     * Skip the first `n` address_carts.
     */
    skip?: number;
    distinct?: Prisma.Address_cartScalarFieldEnum | Prisma.Address_cartScalarFieldEnum[];
};
/**
 * address_cart create
 */
export type address_cartCreateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the address_cart
     */
    select?: Prisma.address_cartSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the address_cart
     */
    omit?: Prisma.address_cartOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.address_cartInclude<ExtArgs> | null;
    /**
     * The data needed to create a address_cart.
     */
    data?: Prisma.XOR<Prisma.address_cartCreateInput, Prisma.address_cartUncheckedCreateInput>;
};
/**
 * address_cart createMany
 */
export type address_cartCreateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * The data used to create many address_carts.
     */
    data: Prisma.address_cartCreateManyInput | Prisma.address_cartCreateManyInput[];
    skipDuplicates?: boolean;
};
/**
 * address_cart createManyAndReturn
 */
export type address_cartCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the address_cart
     */
    select?: Prisma.address_cartSelectCreateManyAndReturn<ExtArgs> | null;
    /**
     * Omit specific fields from the address_cart
     */
    omit?: Prisma.address_cartOmit<ExtArgs> | null;
    /**
     * The data used to create many address_carts.
     */
    data: Prisma.address_cartCreateManyInput | Prisma.address_cartCreateManyInput[];
    skipDuplicates?: boolean;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.address_cartIncludeCreateManyAndReturn<ExtArgs> | null;
};
/**
 * address_cart update
 */
export type address_cartUpdateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the address_cart
     */
    select?: Prisma.address_cartSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the address_cart
     */
    omit?: Prisma.address_cartOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.address_cartInclude<ExtArgs> | null;
    /**
     * The data needed to update a address_cart.
     */
    data: Prisma.XOR<Prisma.address_cartUpdateInput, Prisma.address_cartUncheckedUpdateInput>;
    /**
     * Choose, which address_cart to update.
     */
    where: Prisma.address_cartWhereUniqueInput;
};
/**
 * address_cart updateMany
 */
export type address_cartUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * The data used to update address_carts.
     */
    data: Prisma.XOR<Prisma.address_cartUpdateManyMutationInput, Prisma.address_cartUncheckedUpdateManyInput>;
    /**
     * Filter which address_carts to update
     */
    where?: Prisma.address_cartWhereInput;
    /**
     * Limit how many address_carts to update.
     */
    limit?: number;
};
/**
 * address_cart updateManyAndReturn
 */
export type address_cartUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the address_cart
     */
    select?: Prisma.address_cartSelectUpdateManyAndReturn<ExtArgs> | null;
    /**
     * Omit specific fields from the address_cart
     */
    omit?: Prisma.address_cartOmit<ExtArgs> | null;
    /**
     * The data used to update address_carts.
     */
    data: Prisma.XOR<Prisma.address_cartUpdateManyMutationInput, Prisma.address_cartUncheckedUpdateManyInput>;
    /**
     * Filter which address_carts to update
     */
    where?: Prisma.address_cartWhereInput;
    /**
     * Limit how many address_carts to update.
     */
    limit?: number;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.address_cartIncludeUpdateManyAndReturn<ExtArgs> | null;
};
/**
 * address_cart upsert
 */
export type address_cartUpsertArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the address_cart
     */
    select?: Prisma.address_cartSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the address_cart
     */
    omit?: Prisma.address_cartOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.address_cartInclude<ExtArgs> | null;
    /**
     * The filter to search for the address_cart to update in case it exists.
     */
    where: Prisma.address_cartWhereUniqueInput;
    /**
     * In case the address_cart found by the `where` argument doesn't exist, create a new address_cart with this data.
     */
    create: Prisma.XOR<Prisma.address_cartCreateInput, Prisma.address_cartUncheckedCreateInput>;
    /**
     * In case the address_cart was found with the provided `where` argument, update it with this data.
     */
    update: Prisma.XOR<Prisma.address_cartUpdateInput, Prisma.address_cartUncheckedUpdateInput>;
};
/**
 * address_cart delete
 */
export type address_cartDeleteArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the address_cart
     */
    select?: Prisma.address_cartSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the address_cart
     */
    omit?: Prisma.address_cartOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.address_cartInclude<ExtArgs> | null;
    /**
     * Filter which address_cart to delete.
     */
    where: Prisma.address_cartWhereUniqueInput;
};
/**
 * address_cart deleteMany
 */
export type address_cartDeleteManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Filter which address_carts to delete
     */
    where?: Prisma.address_cartWhereInput;
    /**
     * Limit how many address_carts to delete.
     */
    limit?: number;
};
/**
 * address_cart.address
 */
export type address_cart$addressArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the address
     */
    select?: Prisma.addressSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the address
     */
    omit?: Prisma.addressOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.addressInclude<ExtArgs> | null;
    where?: Prisma.addressWhereInput;
};
/**
 * address_cart.cart
 */
export type address_cart$cartArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the cart
     */
    select?: Prisma.cartSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the cart
     */
    omit?: Prisma.cartOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.cartInclude<ExtArgs> | null;
    where?: Prisma.cartWhereInput;
};
/**
 * address_cart without action
 */
export type address_cartDefaultArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the address_cart
     */
    select?: Prisma.address_cartSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the address_cart
     */
    omit?: Prisma.address_cartOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.address_cartInclude<ExtArgs> | null;
};
export {};
