import type * as runtime from "@prisma/client/runtime/client";
import type * as Prisma from "../internal/prismaNamespace";
/**
 * Model tags_articles
 * 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 tags_articlesModel = runtime.Types.Result.DefaultSelection<Prisma.$tags_articlesPayload>;
export type AggregateTags_articles = {
    _count: Tags_articlesCountAggregateOutputType | null;
    _avg: Tags_articlesAvgAggregateOutputType | null;
    _sum: Tags_articlesSumAggregateOutputType | null;
    _min: Tags_articlesMinAggregateOutputType | null;
    _max: Tags_articlesMaxAggregateOutputType | null;
};
export type Tags_articlesAvgAggregateOutputType = {
    id: number | null;
    tags_id: number | null;
    articles_id: number | null;
};
export type Tags_articlesSumAggregateOutputType = {
    id: number | null;
    tags_id: number | null;
    articles_id: number | null;
};
export type Tags_articlesMinAggregateOutputType = {
    id: number | null;
    tags_id: number | null;
    articles_id: number | null;
};
export type Tags_articlesMaxAggregateOutputType = {
    id: number | null;
    tags_id: number | null;
    articles_id: number | null;
};
export type Tags_articlesCountAggregateOutputType = {
    id: number;
    tags_id: number;
    articles_id: number;
    _all: number;
};
export type Tags_articlesAvgAggregateInputType = {
    id?: true;
    tags_id?: true;
    articles_id?: true;
};
export type Tags_articlesSumAggregateInputType = {
    id?: true;
    tags_id?: true;
    articles_id?: true;
};
export type Tags_articlesMinAggregateInputType = {
    id?: true;
    tags_id?: true;
    articles_id?: true;
};
export type Tags_articlesMaxAggregateInputType = {
    id?: true;
    tags_id?: true;
    articles_id?: true;
};
export type Tags_articlesCountAggregateInputType = {
    id?: true;
    tags_id?: true;
    articles_id?: true;
    _all?: true;
};
export type Tags_articlesAggregateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Filter which tags_articles to aggregate.
     */
    where?: Prisma.tags_articlesWhereInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     *
     * Determine the order of tags_articles to fetch.
     */
    orderBy?: Prisma.tags_articlesOrderByWithRelationInput | Prisma.tags_articlesOrderByWithRelationInput[];
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     *
     * Sets the start position
     */
    cursor?: Prisma.tags_articlesWhereUniqueInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     *
     * Take `±n` tags_articles 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` tags_articles.
     */
    skip?: number;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     *
     * Count returned tags_articles
    **/
    _count?: true | Tags_articlesCountAggregateInputType;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     *
     * Select which fields to average
    **/
    _avg?: Tags_articlesAvgAggregateInputType;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     *
     * Select which fields to sum
    **/
    _sum?: Tags_articlesSumAggregateInputType;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     *
     * Select which fields to find the minimum value
    **/
    _min?: Tags_articlesMinAggregateInputType;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     *
     * Select which fields to find the maximum value
    **/
    _max?: Tags_articlesMaxAggregateInputType;
};
export type GetTags_articlesAggregateType<T extends Tags_articlesAggregateArgs> = {
    [P in keyof T & keyof AggregateTags_articles]: P extends '_count' | 'count' ? T[P] extends true ? number : Prisma.GetScalarType<T[P], AggregateTags_articles[P]> : Prisma.GetScalarType<T[P], AggregateTags_articles[P]>;
};
export type tags_articlesGroupByArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    where?: Prisma.tags_articlesWhereInput;
    orderBy?: Prisma.tags_articlesOrderByWithAggregationInput | Prisma.tags_articlesOrderByWithAggregationInput[];
    by: Prisma.Tags_articlesScalarFieldEnum[] | Prisma.Tags_articlesScalarFieldEnum;
    having?: Prisma.tags_articlesScalarWhereWithAggregatesInput;
    take?: number;
    skip?: number;
    _count?: Tags_articlesCountAggregateInputType | true;
    _avg?: Tags_articlesAvgAggregateInputType;
    _sum?: Tags_articlesSumAggregateInputType;
    _min?: Tags_articlesMinAggregateInputType;
    _max?: Tags_articlesMaxAggregateInputType;
};
export type Tags_articlesGroupByOutputType = {
    id: number;
    tags_id: number | null;
    articles_id: number | null;
    _count: Tags_articlesCountAggregateOutputType | null;
    _avg: Tags_articlesAvgAggregateOutputType | null;
    _sum: Tags_articlesSumAggregateOutputType | null;
    _min: Tags_articlesMinAggregateOutputType | null;
    _max: Tags_articlesMaxAggregateOutputType | null;
};
type GetTags_articlesGroupByPayload<T extends tags_articlesGroupByArgs> = Prisma.PrismaPromise<Array<Prisma.PickEnumerable<Tags_articlesGroupByOutputType, T['by']> & {
    [P in ((keyof T) & (keyof Tags_articlesGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : Prisma.GetScalarType<T[P], Tags_articlesGroupByOutputType[P]> : Prisma.GetScalarType<T[P], Tags_articlesGroupByOutputType[P]>;
}>>;
export type tags_articlesWhereInput = {
    AND?: Prisma.tags_articlesWhereInput | Prisma.tags_articlesWhereInput[];
    OR?: Prisma.tags_articlesWhereInput[];
    NOT?: Prisma.tags_articlesWhereInput | Prisma.tags_articlesWhereInput[];
    id?: Prisma.IntFilter<"tags_articles"> | number;
    tags_id?: Prisma.IntNullableFilter<"tags_articles"> | number | null;
    articles_id?: Prisma.IntNullableFilter<"tags_articles"> | number | null;
    articles?: Prisma.XOR<Prisma.ArticlesNullableScalarRelationFilter, Prisma.articlesWhereInput> | null;
    tags?: Prisma.XOR<Prisma.TagsNullableScalarRelationFilter, Prisma.tagsWhereInput> | null;
};
export type tags_articlesOrderByWithRelationInput = {
    id?: Prisma.SortOrder;
    tags_id?: Prisma.SortOrderInput | Prisma.SortOrder;
    articles_id?: Prisma.SortOrderInput | Prisma.SortOrder;
    articles?: Prisma.articlesOrderByWithRelationInput;
    tags?: Prisma.tagsOrderByWithRelationInput;
};
export type tags_articlesWhereUniqueInput = Prisma.AtLeast<{
    id?: number;
    AND?: Prisma.tags_articlesWhereInput | Prisma.tags_articlesWhereInput[];
    OR?: Prisma.tags_articlesWhereInput[];
    NOT?: Prisma.tags_articlesWhereInput | Prisma.tags_articlesWhereInput[];
    tags_id?: Prisma.IntNullableFilter<"tags_articles"> | number | null;
    articles_id?: Prisma.IntNullableFilter<"tags_articles"> | number | null;
    articles?: Prisma.XOR<Prisma.ArticlesNullableScalarRelationFilter, Prisma.articlesWhereInput> | null;
    tags?: Prisma.XOR<Prisma.TagsNullableScalarRelationFilter, Prisma.tagsWhereInput> | null;
}, "id">;
export type tags_articlesOrderByWithAggregationInput = {
    id?: Prisma.SortOrder;
    tags_id?: Prisma.SortOrderInput | Prisma.SortOrder;
    articles_id?: Prisma.SortOrderInput | Prisma.SortOrder;
    _count?: Prisma.tags_articlesCountOrderByAggregateInput;
    _avg?: Prisma.tags_articlesAvgOrderByAggregateInput;
    _max?: Prisma.tags_articlesMaxOrderByAggregateInput;
    _min?: Prisma.tags_articlesMinOrderByAggregateInput;
    _sum?: Prisma.tags_articlesSumOrderByAggregateInput;
};
export type tags_articlesScalarWhereWithAggregatesInput = {
    AND?: Prisma.tags_articlesScalarWhereWithAggregatesInput | Prisma.tags_articlesScalarWhereWithAggregatesInput[];
    OR?: Prisma.tags_articlesScalarWhereWithAggregatesInput[];
    NOT?: Prisma.tags_articlesScalarWhereWithAggregatesInput | Prisma.tags_articlesScalarWhereWithAggregatesInput[];
    id?: Prisma.IntWithAggregatesFilter<"tags_articles"> | number;
    tags_id?: Prisma.IntNullableWithAggregatesFilter<"tags_articles"> | number | null;
    articles_id?: Prisma.IntNullableWithAggregatesFilter<"tags_articles"> | number | null;
};
export type tags_articlesCreateInput = {
    articles?: Prisma.articlesCreateNestedOneWithoutTags_articlesInput;
    tags?: Prisma.tagsCreateNestedOneWithoutTags_articlesInput;
};
export type tags_articlesUncheckedCreateInput = {
    id?: number;
    tags_id?: number | null;
    articles_id?: number | null;
};
export type tags_articlesUpdateInput = {
    articles?: Prisma.articlesUpdateOneWithoutTags_articlesNestedInput;
    tags?: Prisma.tagsUpdateOneWithoutTags_articlesNestedInput;
};
export type tags_articlesUncheckedUpdateInput = {
    id?: Prisma.IntFieldUpdateOperationsInput | number;
    tags_id?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
    articles_id?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
};
export type tags_articlesCreateManyInput = {
    id?: number;
    tags_id?: number | null;
    articles_id?: number | null;
};
export type tags_articlesUpdateManyMutationInput = {};
export type tags_articlesUncheckedUpdateManyInput = {
    id?: Prisma.IntFieldUpdateOperationsInput | number;
    tags_id?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
    articles_id?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
};
export type Tags_articlesListRelationFilter = {
    every?: Prisma.tags_articlesWhereInput;
    some?: Prisma.tags_articlesWhereInput;
    none?: Prisma.tags_articlesWhereInput;
};
export type tags_articlesOrderByRelationAggregateInput = {
    _count?: Prisma.SortOrder;
};
export type tags_articlesCountOrderByAggregateInput = {
    id?: Prisma.SortOrder;
    tags_id?: Prisma.SortOrder;
    articles_id?: Prisma.SortOrder;
};
export type tags_articlesAvgOrderByAggregateInput = {
    id?: Prisma.SortOrder;
    tags_id?: Prisma.SortOrder;
    articles_id?: Prisma.SortOrder;
};
export type tags_articlesMaxOrderByAggregateInput = {
    id?: Prisma.SortOrder;
    tags_id?: Prisma.SortOrder;
    articles_id?: Prisma.SortOrder;
};
export type tags_articlesMinOrderByAggregateInput = {
    id?: Prisma.SortOrder;
    tags_id?: Prisma.SortOrder;
    articles_id?: Prisma.SortOrder;
};
export type tags_articlesSumOrderByAggregateInput = {
    id?: Prisma.SortOrder;
    tags_id?: Prisma.SortOrder;
    articles_id?: Prisma.SortOrder;
};
export type tags_articlesCreateNestedManyWithoutArticlesInput = {
    create?: Prisma.XOR<Prisma.tags_articlesCreateWithoutArticlesInput, Prisma.tags_articlesUncheckedCreateWithoutArticlesInput> | Prisma.tags_articlesCreateWithoutArticlesInput[] | Prisma.tags_articlesUncheckedCreateWithoutArticlesInput[];
    connectOrCreate?: Prisma.tags_articlesCreateOrConnectWithoutArticlesInput | Prisma.tags_articlesCreateOrConnectWithoutArticlesInput[];
    createMany?: Prisma.tags_articlesCreateManyArticlesInputEnvelope;
    connect?: Prisma.tags_articlesWhereUniqueInput | Prisma.tags_articlesWhereUniqueInput[];
};
export type tags_articlesUncheckedCreateNestedManyWithoutArticlesInput = {
    create?: Prisma.XOR<Prisma.tags_articlesCreateWithoutArticlesInput, Prisma.tags_articlesUncheckedCreateWithoutArticlesInput> | Prisma.tags_articlesCreateWithoutArticlesInput[] | Prisma.tags_articlesUncheckedCreateWithoutArticlesInput[];
    connectOrCreate?: Prisma.tags_articlesCreateOrConnectWithoutArticlesInput | Prisma.tags_articlesCreateOrConnectWithoutArticlesInput[];
    createMany?: Prisma.tags_articlesCreateManyArticlesInputEnvelope;
    connect?: Prisma.tags_articlesWhereUniqueInput | Prisma.tags_articlesWhereUniqueInput[];
};
export type tags_articlesUpdateManyWithoutArticlesNestedInput = {
    create?: Prisma.XOR<Prisma.tags_articlesCreateWithoutArticlesInput, Prisma.tags_articlesUncheckedCreateWithoutArticlesInput> | Prisma.tags_articlesCreateWithoutArticlesInput[] | Prisma.tags_articlesUncheckedCreateWithoutArticlesInput[];
    connectOrCreate?: Prisma.tags_articlesCreateOrConnectWithoutArticlesInput | Prisma.tags_articlesCreateOrConnectWithoutArticlesInput[];
    upsert?: Prisma.tags_articlesUpsertWithWhereUniqueWithoutArticlesInput | Prisma.tags_articlesUpsertWithWhereUniqueWithoutArticlesInput[];
    createMany?: Prisma.tags_articlesCreateManyArticlesInputEnvelope;
    set?: Prisma.tags_articlesWhereUniqueInput | Prisma.tags_articlesWhereUniqueInput[];
    disconnect?: Prisma.tags_articlesWhereUniqueInput | Prisma.tags_articlesWhereUniqueInput[];
    delete?: Prisma.tags_articlesWhereUniqueInput | Prisma.tags_articlesWhereUniqueInput[];
    connect?: Prisma.tags_articlesWhereUniqueInput | Prisma.tags_articlesWhereUniqueInput[];
    update?: Prisma.tags_articlesUpdateWithWhereUniqueWithoutArticlesInput | Prisma.tags_articlesUpdateWithWhereUniqueWithoutArticlesInput[];
    updateMany?: Prisma.tags_articlesUpdateManyWithWhereWithoutArticlesInput | Prisma.tags_articlesUpdateManyWithWhereWithoutArticlesInput[];
    deleteMany?: Prisma.tags_articlesScalarWhereInput | Prisma.tags_articlesScalarWhereInput[];
};
export type tags_articlesUncheckedUpdateManyWithoutArticlesNestedInput = {
    create?: Prisma.XOR<Prisma.tags_articlesCreateWithoutArticlesInput, Prisma.tags_articlesUncheckedCreateWithoutArticlesInput> | Prisma.tags_articlesCreateWithoutArticlesInput[] | Prisma.tags_articlesUncheckedCreateWithoutArticlesInput[];
    connectOrCreate?: Prisma.tags_articlesCreateOrConnectWithoutArticlesInput | Prisma.tags_articlesCreateOrConnectWithoutArticlesInput[];
    upsert?: Prisma.tags_articlesUpsertWithWhereUniqueWithoutArticlesInput | Prisma.tags_articlesUpsertWithWhereUniqueWithoutArticlesInput[];
    createMany?: Prisma.tags_articlesCreateManyArticlesInputEnvelope;
    set?: Prisma.tags_articlesWhereUniqueInput | Prisma.tags_articlesWhereUniqueInput[];
    disconnect?: Prisma.tags_articlesWhereUniqueInput | Prisma.tags_articlesWhereUniqueInput[];
    delete?: Prisma.tags_articlesWhereUniqueInput | Prisma.tags_articlesWhereUniqueInput[];
    connect?: Prisma.tags_articlesWhereUniqueInput | Prisma.tags_articlesWhereUniqueInput[];
    update?: Prisma.tags_articlesUpdateWithWhereUniqueWithoutArticlesInput | Prisma.tags_articlesUpdateWithWhereUniqueWithoutArticlesInput[];
    updateMany?: Prisma.tags_articlesUpdateManyWithWhereWithoutArticlesInput | Prisma.tags_articlesUpdateManyWithWhereWithoutArticlesInput[];
    deleteMany?: Prisma.tags_articlesScalarWhereInput | Prisma.tags_articlesScalarWhereInput[];
};
export type tags_articlesCreateNestedManyWithoutTagsInput = {
    create?: Prisma.XOR<Prisma.tags_articlesCreateWithoutTagsInput, Prisma.tags_articlesUncheckedCreateWithoutTagsInput> | Prisma.tags_articlesCreateWithoutTagsInput[] | Prisma.tags_articlesUncheckedCreateWithoutTagsInput[];
    connectOrCreate?: Prisma.tags_articlesCreateOrConnectWithoutTagsInput | Prisma.tags_articlesCreateOrConnectWithoutTagsInput[];
    createMany?: Prisma.tags_articlesCreateManyTagsInputEnvelope;
    connect?: Prisma.tags_articlesWhereUniqueInput | Prisma.tags_articlesWhereUniqueInput[];
};
export type tags_articlesUncheckedCreateNestedManyWithoutTagsInput = {
    create?: Prisma.XOR<Prisma.tags_articlesCreateWithoutTagsInput, Prisma.tags_articlesUncheckedCreateWithoutTagsInput> | Prisma.tags_articlesCreateWithoutTagsInput[] | Prisma.tags_articlesUncheckedCreateWithoutTagsInput[];
    connectOrCreate?: Prisma.tags_articlesCreateOrConnectWithoutTagsInput | Prisma.tags_articlesCreateOrConnectWithoutTagsInput[];
    createMany?: Prisma.tags_articlesCreateManyTagsInputEnvelope;
    connect?: Prisma.tags_articlesWhereUniqueInput | Prisma.tags_articlesWhereUniqueInput[];
};
export type tags_articlesUpdateManyWithoutTagsNestedInput = {
    create?: Prisma.XOR<Prisma.tags_articlesCreateWithoutTagsInput, Prisma.tags_articlesUncheckedCreateWithoutTagsInput> | Prisma.tags_articlesCreateWithoutTagsInput[] | Prisma.tags_articlesUncheckedCreateWithoutTagsInput[];
    connectOrCreate?: Prisma.tags_articlesCreateOrConnectWithoutTagsInput | Prisma.tags_articlesCreateOrConnectWithoutTagsInput[];
    upsert?: Prisma.tags_articlesUpsertWithWhereUniqueWithoutTagsInput | Prisma.tags_articlesUpsertWithWhereUniqueWithoutTagsInput[];
    createMany?: Prisma.tags_articlesCreateManyTagsInputEnvelope;
    set?: Prisma.tags_articlesWhereUniqueInput | Prisma.tags_articlesWhereUniqueInput[];
    disconnect?: Prisma.tags_articlesWhereUniqueInput | Prisma.tags_articlesWhereUniqueInput[];
    delete?: Prisma.tags_articlesWhereUniqueInput | Prisma.tags_articlesWhereUniqueInput[];
    connect?: Prisma.tags_articlesWhereUniqueInput | Prisma.tags_articlesWhereUniqueInput[];
    update?: Prisma.tags_articlesUpdateWithWhereUniqueWithoutTagsInput | Prisma.tags_articlesUpdateWithWhereUniqueWithoutTagsInput[];
    updateMany?: Prisma.tags_articlesUpdateManyWithWhereWithoutTagsInput | Prisma.tags_articlesUpdateManyWithWhereWithoutTagsInput[];
    deleteMany?: Prisma.tags_articlesScalarWhereInput | Prisma.tags_articlesScalarWhereInput[];
};
export type tags_articlesUncheckedUpdateManyWithoutTagsNestedInput = {
    create?: Prisma.XOR<Prisma.tags_articlesCreateWithoutTagsInput, Prisma.tags_articlesUncheckedCreateWithoutTagsInput> | Prisma.tags_articlesCreateWithoutTagsInput[] | Prisma.tags_articlesUncheckedCreateWithoutTagsInput[];
    connectOrCreate?: Prisma.tags_articlesCreateOrConnectWithoutTagsInput | Prisma.tags_articlesCreateOrConnectWithoutTagsInput[];
    upsert?: Prisma.tags_articlesUpsertWithWhereUniqueWithoutTagsInput | Prisma.tags_articlesUpsertWithWhereUniqueWithoutTagsInput[];
    createMany?: Prisma.tags_articlesCreateManyTagsInputEnvelope;
    set?: Prisma.tags_articlesWhereUniqueInput | Prisma.tags_articlesWhereUniqueInput[];
    disconnect?: Prisma.tags_articlesWhereUniqueInput | Prisma.tags_articlesWhereUniqueInput[];
    delete?: Prisma.tags_articlesWhereUniqueInput | Prisma.tags_articlesWhereUniqueInput[];
    connect?: Prisma.tags_articlesWhereUniqueInput | Prisma.tags_articlesWhereUniqueInput[];
    update?: Prisma.tags_articlesUpdateWithWhereUniqueWithoutTagsInput | Prisma.tags_articlesUpdateWithWhereUniqueWithoutTagsInput[];
    updateMany?: Prisma.tags_articlesUpdateManyWithWhereWithoutTagsInput | Prisma.tags_articlesUpdateManyWithWhereWithoutTagsInput[];
    deleteMany?: Prisma.tags_articlesScalarWhereInput | Prisma.tags_articlesScalarWhereInput[];
};
export type tags_articlesCreateWithoutArticlesInput = {
    tags?: Prisma.tagsCreateNestedOneWithoutTags_articlesInput;
};
export type tags_articlesUncheckedCreateWithoutArticlesInput = {
    id?: number;
    tags_id?: number | null;
};
export type tags_articlesCreateOrConnectWithoutArticlesInput = {
    where: Prisma.tags_articlesWhereUniqueInput;
    create: Prisma.XOR<Prisma.tags_articlesCreateWithoutArticlesInput, Prisma.tags_articlesUncheckedCreateWithoutArticlesInput>;
};
export type tags_articlesCreateManyArticlesInputEnvelope = {
    data: Prisma.tags_articlesCreateManyArticlesInput | Prisma.tags_articlesCreateManyArticlesInput[];
    skipDuplicates?: boolean;
};
export type tags_articlesUpsertWithWhereUniqueWithoutArticlesInput = {
    where: Prisma.tags_articlesWhereUniqueInput;
    update: Prisma.XOR<Prisma.tags_articlesUpdateWithoutArticlesInput, Prisma.tags_articlesUncheckedUpdateWithoutArticlesInput>;
    create: Prisma.XOR<Prisma.tags_articlesCreateWithoutArticlesInput, Prisma.tags_articlesUncheckedCreateWithoutArticlesInput>;
};
export type tags_articlesUpdateWithWhereUniqueWithoutArticlesInput = {
    where: Prisma.tags_articlesWhereUniqueInput;
    data: Prisma.XOR<Prisma.tags_articlesUpdateWithoutArticlesInput, Prisma.tags_articlesUncheckedUpdateWithoutArticlesInput>;
};
export type tags_articlesUpdateManyWithWhereWithoutArticlesInput = {
    where: Prisma.tags_articlesScalarWhereInput;
    data: Prisma.XOR<Prisma.tags_articlesUpdateManyMutationInput, Prisma.tags_articlesUncheckedUpdateManyWithoutArticlesInput>;
};
export type tags_articlesScalarWhereInput = {
    AND?: Prisma.tags_articlesScalarWhereInput | Prisma.tags_articlesScalarWhereInput[];
    OR?: Prisma.tags_articlesScalarWhereInput[];
    NOT?: Prisma.tags_articlesScalarWhereInput | Prisma.tags_articlesScalarWhereInput[];
    id?: Prisma.IntFilter<"tags_articles"> | number;
    tags_id?: Prisma.IntNullableFilter<"tags_articles"> | number | null;
    articles_id?: Prisma.IntNullableFilter<"tags_articles"> | number | null;
};
export type tags_articlesCreateWithoutTagsInput = {
    articles?: Prisma.articlesCreateNestedOneWithoutTags_articlesInput;
};
export type tags_articlesUncheckedCreateWithoutTagsInput = {
    id?: number;
    articles_id?: number | null;
};
export type tags_articlesCreateOrConnectWithoutTagsInput = {
    where: Prisma.tags_articlesWhereUniqueInput;
    create: Prisma.XOR<Prisma.tags_articlesCreateWithoutTagsInput, Prisma.tags_articlesUncheckedCreateWithoutTagsInput>;
};
export type tags_articlesCreateManyTagsInputEnvelope = {
    data: Prisma.tags_articlesCreateManyTagsInput | Prisma.tags_articlesCreateManyTagsInput[];
    skipDuplicates?: boolean;
};
export type tags_articlesUpsertWithWhereUniqueWithoutTagsInput = {
    where: Prisma.tags_articlesWhereUniqueInput;
    update: Prisma.XOR<Prisma.tags_articlesUpdateWithoutTagsInput, Prisma.tags_articlesUncheckedUpdateWithoutTagsInput>;
    create: Prisma.XOR<Prisma.tags_articlesCreateWithoutTagsInput, Prisma.tags_articlesUncheckedCreateWithoutTagsInput>;
};
export type tags_articlesUpdateWithWhereUniqueWithoutTagsInput = {
    where: Prisma.tags_articlesWhereUniqueInput;
    data: Prisma.XOR<Prisma.tags_articlesUpdateWithoutTagsInput, Prisma.tags_articlesUncheckedUpdateWithoutTagsInput>;
};
export type tags_articlesUpdateManyWithWhereWithoutTagsInput = {
    where: Prisma.tags_articlesScalarWhereInput;
    data: Prisma.XOR<Prisma.tags_articlesUpdateManyMutationInput, Prisma.tags_articlesUncheckedUpdateManyWithoutTagsInput>;
};
export type tags_articlesCreateManyArticlesInput = {
    id?: number;
    tags_id?: number | null;
};
export type tags_articlesUpdateWithoutArticlesInput = {
    tags?: Prisma.tagsUpdateOneWithoutTags_articlesNestedInput;
};
export type tags_articlesUncheckedUpdateWithoutArticlesInput = {
    id?: Prisma.IntFieldUpdateOperationsInput | number;
    tags_id?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
};
export type tags_articlesUncheckedUpdateManyWithoutArticlesInput = {
    id?: Prisma.IntFieldUpdateOperationsInput | number;
    tags_id?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
};
export type tags_articlesCreateManyTagsInput = {
    id?: number;
    articles_id?: number | null;
};
export type tags_articlesUpdateWithoutTagsInput = {
    articles?: Prisma.articlesUpdateOneWithoutTags_articlesNestedInput;
};
export type tags_articlesUncheckedUpdateWithoutTagsInput = {
    id?: Prisma.IntFieldUpdateOperationsInput | number;
    articles_id?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
};
export type tags_articlesUncheckedUpdateManyWithoutTagsInput = {
    id?: Prisma.IntFieldUpdateOperationsInput | number;
    articles_id?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
};
export type tags_articlesSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
    id?: boolean;
    tags_id?: boolean;
    articles_id?: boolean;
    articles?: boolean | Prisma.tags_articles$articlesArgs<ExtArgs>;
    tags?: boolean | Prisma.tags_articles$tagsArgs<ExtArgs>;
}, ExtArgs["result"]["tags_articles"]>;
export type tags_articlesSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
    id?: boolean;
    tags_id?: boolean;
    articles_id?: boolean;
    articles?: boolean | Prisma.tags_articles$articlesArgs<ExtArgs>;
    tags?: boolean | Prisma.tags_articles$tagsArgs<ExtArgs>;
}, ExtArgs["result"]["tags_articles"]>;
export type tags_articlesSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
    id?: boolean;
    tags_id?: boolean;
    articles_id?: boolean;
    articles?: boolean | Prisma.tags_articles$articlesArgs<ExtArgs>;
    tags?: boolean | Prisma.tags_articles$tagsArgs<ExtArgs>;
}, ExtArgs["result"]["tags_articles"]>;
export type tags_articlesSelectScalar = {
    id?: boolean;
    tags_id?: boolean;
    articles_id?: boolean;
};
export type tags_articlesOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "tags_id" | "articles_id", ExtArgs["result"]["tags_articles"]>;
export type tags_articlesInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    articles?: boolean | Prisma.tags_articles$articlesArgs<ExtArgs>;
    tags?: boolean | Prisma.tags_articles$tagsArgs<ExtArgs>;
};
export type tags_articlesIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    articles?: boolean | Prisma.tags_articles$articlesArgs<ExtArgs>;
    tags?: boolean | Prisma.tags_articles$tagsArgs<ExtArgs>;
};
export type tags_articlesIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    articles?: boolean | Prisma.tags_articles$articlesArgs<ExtArgs>;
    tags?: boolean | Prisma.tags_articles$tagsArgs<ExtArgs>;
};
export type $tags_articlesPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    name: "tags_articles";
    objects: {
        articles: Prisma.$articlesPayload<ExtArgs> | null;
        tags: Prisma.$tagsPayload<ExtArgs> | null;
    };
    scalars: runtime.Types.Extensions.GetPayloadResult<{
        id: number;
        tags_id: number | null;
        articles_id: number | null;
    }, ExtArgs["result"]["tags_articles"]>;
    composites: {};
};
export type tags_articlesGetPayload<S extends boolean | null | undefined | tags_articlesDefaultArgs> = runtime.Types.Result.GetResult<Prisma.$tags_articlesPayload, S>;
export type tags_articlesCountArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = Omit<tags_articlesFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
    select?: Tags_articlesCountAggregateInputType | true;
};
export interface tags_articlesDelegate<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> {
    [K: symbol]: {
        types: Prisma.TypeMap<ExtArgs>['model']['tags_articles'];
        meta: {
            name: 'tags_articles';
        };
    };
    /**
     * Find zero or one Tags_articles that matches the filter.
     * @param {tags_articlesFindUniqueArgs} args - Arguments to find a Tags_articles
     * @example
     * // Get one Tags_articles
     * const tags_articles = await prisma.tags_articles.findUnique({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUnique<T extends tags_articlesFindUniqueArgs>(args: Prisma.SelectSubset<T, tags_articlesFindUniqueArgs<ExtArgs>>): Prisma.Prisma__tags_articlesClient<runtime.Types.Result.GetResult<Prisma.$tags_articlesPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>;
    /**
     * Find one Tags_articles that matches the filter or throw an error with `error.code='P2025'`
     * if no matches were found.
     * @param {tags_articlesFindUniqueOrThrowArgs} args - Arguments to find a Tags_articles
     * @example
     * // Get one Tags_articles
     * const tags_articles = await prisma.tags_articles.findUniqueOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUniqueOrThrow<T extends tags_articlesFindUniqueOrThrowArgs>(args: Prisma.SelectSubset<T, tags_articlesFindUniqueOrThrowArgs<ExtArgs>>): Prisma.Prisma__tags_articlesClient<runtime.Types.Result.GetResult<Prisma.$tags_articlesPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    /**
     * Find the first Tags_articles 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 {tags_articlesFindFirstArgs} args - Arguments to find a Tags_articles
     * @example
     * // Get one Tags_articles
     * const tags_articles = await prisma.tags_articles.findFirst({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirst<T extends tags_articlesFindFirstArgs>(args?: Prisma.SelectSubset<T, tags_articlesFindFirstArgs<ExtArgs>>): Prisma.Prisma__tags_articlesClient<runtime.Types.Result.GetResult<Prisma.$tags_articlesPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>;
    /**
     * Find the first Tags_articles 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 {tags_articlesFindFirstOrThrowArgs} args - Arguments to find a Tags_articles
     * @example
     * // Get one Tags_articles
     * const tags_articles = await prisma.tags_articles.findFirstOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirstOrThrow<T extends tags_articlesFindFirstOrThrowArgs>(args?: Prisma.SelectSubset<T, tags_articlesFindFirstOrThrowArgs<ExtArgs>>): Prisma.Prisma__tags_articlesClient<runtime.Types.Result.GetResult<Prisma.$tags_articlesPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    /**
     * Find zero or more Tags_articles 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 {tags_articlesFindManyArgs} args - Arguments to filter and select certain fields only.
     * @example
     * // Get all Tags_articles
     * const tags_articles = await prisma.tags_articles.findMany()
     *
     * // Get first 10 Tags_articles
     * const tags_articles = await prisma.tags_articles.findMany({ take: 10 })
     *
     * // Only select the `id`
     * const tags_articlesWithIdOnly = await prisma.tags_articles.findMany({ select: { id: true } })
     *
     */
    findMany<T extends tags_articlesFindManyArgs>(args?: Prisma.SelectSubset<T, tags_articlesFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$tags_articlesPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>;
    /**
     * Create a Tags_articles.
     * @param {tags_articlesCreateArgs} args - Arguments to create a Tags_articles.
     * @example
     * // Create one Tags_articles
     * const Tags_articles = await prisma.tags_articles.create({
     *   data: {
     *     // ... data to create a Tags_articles
     *   }
     * })
     *
     */
    create<T extends tags_articlesCreateArgs>(args: Prisma.SelectSubset<T, tags_articlesCreateArgs<ExtArgs>>): Prisma.Prisma__tags_articlesClient<runtime.Types.Result.GetResult<Prisma.$tags_articlesPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    /**
     * Create many Tags_articles.
     * @param {tags_articlesCreateManyArgs} args - Arguments to create many Tags_articles.
     * @example
     * // Create many Tags_articles
     * const tags_articles = await prisma.tags_articles.createMany({
     *   data: [
     *     // ... provide data here
     *   ]
     * })
     *
     */
    createMany<T extends tags_articlesCreateManyArgs>(args?: Prisma.SelectSubset<T, tags_articlesCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>;
    /**
     * Create many Tags_articles and returns the data saved in the database.
     * @param {tags_articlesCreateManyAndReturnArgs} args - Arguments to create many Tags_articles.
     * @example
     * // Create many Tags_articles
     * const tags_articles = await prisma.tags_articles.createManyAndReturn({
     *   data: [
     *     // ... provide data here
     *   ]
     * })
     *
     * // Create many Tags_articles and only return the `id`
     * const tags_articlesWithIdOnly = await prisma.tags_articles.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 tags_articlesCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, tags_articlesCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$tags_articlesPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>;
    /**
     * Delete a Tags_articles.
     * @param {tags_articlesDeleteArgs} args - Arguments to delete one Tags_articles.
     * @example
     * // Delete one Tags_articles
     * const Tags_articles = await prisma.tags_articles.delete({
     *   where: {
     *     // ... filter to delete one Tags_articles
     *   }
     * })
     *
     */
    delete<T extends tags_articlesDeleteArgs>(args: Prisma.SelectSubset<T, tags_articlesDeleteArgs<ExtArgs>>): Prisma.Prisma__tags_articlesClient<runtime.Types.Result.GetResult<Prisma.$tags_articlesPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    /**
     * Update one Tags_articles.
     * @param {tags_articlesUpdateArgs} args - Arguments to update one Tags_articles.
     * @example
     * // Update one Tags_articles
     * const tags_articles = await prisma.tags_articles.update({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     *
     */
    update<T extends tags_articlesUpdateArgs>(args: Prisma.SelectSubset<T, tags_articlesUpdateArgs<ExtArgs>>): Prisma.Prisma__tags_articlesClient<runtime.Types.Result.GetResult<Prisma.$tags_articlesPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    /**
     * Delete zero or more Tags_articles.
     * @param {tags_articlesDeleteManyArgs} args - Arguments to filter Tags_articles to delete.
     * @example
     * // Delete a few Tags_articles
     * const { count } = await prisma.tags_articles.deleteMany({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     *
     */
    deleteMany<T extends tags_articlesDeleteManyArgs>(args?: Prisma.SelectSubset<T, tags_articlesDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>;
    /**
     * Update zero or more Tags_articles.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {tags_articlesUpdateManyArgs} args - Arguments to update one or more rows.
     * @example
     * // Update many Tags_articles
     * const tags_articles = await prisma.tags_articles.updateMany({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     *
     */
    updateMany<T extends tags_articlesUpdateManyArgs>(args: Prisma.SelectSubset<T, tags_articlesUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>;
    /**
     * Update zero or more Tags_articles and returns the data updated in the database.
     * @param {tags_articlesUpdateManyAndReturnArgs} args - Arguments to update many Tags_articles.
     * @example
     * // Update many Tags_articles
     * const tags_articles = await prisma.tags_articles.updateManyAndReturn({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: [
     *     // ... provide data here
     *   ]
     * })
     *
     * // Update zero or more Tags_articles and only return the `id`
     * const tags_articlesWithIdOnly = await prisma.tags_articles.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 tags_articlesUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, tags_articlesUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$tags_articlesPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>;
    /**
     * Create or update one Tags_articles.
     * @param {tags_articlesUpsertArgs} args - Arguments to update or create a Tags_articles.
     * @example
     * // Update or create a Tags_articles
     * const tags_articles = await prisma.tags_articles.upsert({
     *   create: {
     *     // ... data to create a Tags_articles
     *   },
     *   update: {
     *     // ... in case it already exists, update
     *   },
     *   where: {
     *     // ... the filter for the Tags_articles we want to update
     *   }
     * })
     */
    upsert<T extends tags_articlesUpsertArgs>(args: Prisma.SelectSubset<T, tags_articlesUpsertArgs<ExtArgs>>): Prisma.Prisma__tags_articlesClient<runtime.Types.Result.GetResult<Prisma.$tags_articlesPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    /**
     * Count the number of Tags_articles.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {tags_articlesCountArgs} args - Arguments to filter Tags_articles to count.
     * @example
     * // Count the number of Tags_articles
     * const count = await prisma.tags_articles.count({
     *   where: {
     *     // ... the filter for the Tags_articles we want to count
     *   }
     * })
    **/
    count<T extends tags_articlesCountArgs>(args?: Prisma.Subset<T, tags_articlesCountArgs>): Prisma.PrismaPromise<T extends runtime.Types.Utils.Record<'select', any> ? T['select'] extends true ? number : Prisma.GetScalarType<T['select'], Tags_articlesCountAggregateOutputType> : number>;
    /**
     * Allows you to perform aggregations operations on a Tags_articles.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {Tags_articlesAggregateArgs} 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 Tags_articlesAggregateArgs>(args: Prisma.Subset<T, Tags_articlesAggregateArgs>): Prisma.PrismaPromise<GetTags_articlesAggregateType<T>>;
    /**
     * Group by Tags_articles.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {tags_articlesGroupByArgs} 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 tags_articlesGroupByArgs, HasSelectOrTake extends Prisma.Or<Prisma.Extends<'skip', Prisma.Keys<T>>, Prisma.Extends<'take', Prisma.Keys<T>>>, OrderByArg extends Prisma.True extends HasSelectOrTake ? {
        orderBy: tags_articlesGroupByArgs['orderBy'];
    } : {
        orderBy?: tags_articlesGroupByArgs['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, tags_articlesGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetTags_articlesGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>;
    /**
     * Fields of the tags_articles model
     */
    readonly fields: tags_articlesFieldRefs;
}
/**
 * The delegate class that acts as a "Promise-like" for tags_articles.
 * 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__tags_articlesClient<T, Null = never, ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
    readonly [Symbol.toStringTag]: "PrismaPromise";
    articles<T extends Prisma.tags_articles$articlesArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.tags_articles$articlesArgs<ExtArgs>>): Prisma.Prisma__articlesClient<runtime.Types.Result.GetResult<Prisma.$articlesPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>;
    tags<T extends Prisma.tags_articles$tagsArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.tags_articles$tagsArgs<ExtArgs>>): Prisma.Prisma__tagsClient<runtime.Types.Result.GetResult<Prisma.$tagsPayload<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 tags_articles model
 */
export interface tags_articlesFieldRefs {
    readonly id: Prisma.FieldRef<"tags_articles", 'Int'>;
    readonly tags_id: Prisma.FieldRef<"tags_articles", 'Int'>;
    readonly articles_id: Prisma.FieldRef<"tags_articles", 'Int'>;
}
/**
 * tags_articles findUnique
 */
export type tags_articlesFindUniqueArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the tags_articles
     */
    select?: Prisma.tags_articlesSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the tags_articles
     */
    omit?: Prisma.tags_articlesOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.tags_articlesInclude<ExtArgs> | null;
    /**
     * Filter, which tags_articles to fetch.
     */
    where: Prisma.tags_articlesWhereUniqueInput;
};
/**
 * tags_articles findUniqueOrThrow
 */
export type tags_articlesFindUniqueOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the tags_articles
     */
    select?: Prisma.tags_articlesSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the tags_articles
     */
    omit?: Prisma.tags_articlesOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.tags_articlesInclude<ExtArgs> | null;
    /**
     * Filter, which tags_articles to fetch.
     */
    where: Prisma.tags_articlesWhereUniqueInput;
};
/**
 * tags_articles findFirst
 */
export type tags_articlesFindFirstArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the tags_articles
     */
    select?: Prisma.tags_articlesSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the tags_articles
     */
    omit?: Prisma.tags_articlesOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.tags_articlesInclude<ExtArgs> | null;
    /**
     * Filter, which tags_articles to fetch.
     */
    where?: Prisma.tags_articlesWhereInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     *
     * Determine the order of tags_articles to fetch.
     */
    orderBy?: Prisma.tags_articlesOrderByWithRelationInput | Prisma.tags_articlesOrderByWithRelationInput[];
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     *
     * Sets the position for searching for tags_articles.
     */
    cursor?: Prisma.tags_articlesWhereUniqueInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     *
     * Take `±n` tags_articles 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` tags_articles.
     */
    skip?: number;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     *
     * Filter by unique combinations of tags_articles.
     */
    distinct?: Prisma.Tags_articlesScalarFieldEnum | Prisma.Tags_articlesScalarFieldEnum[];
};
/**
 * tags_articles findFirstOrThrow
 */
export type tags_articlesFindFirstOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the tags_articles
     */
    select?: Prisma.tags_articlesSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the tags_articles
     */
    omit?: Prisma.tags_articlesOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.tags_articlesInclude<ExtArgs> | null;
    /**
     * Filter, which tags_articles to fetch.
     */
    where?: Prisma.tags_articlesWhereInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     *
     * Determine the order of tags_articles to fetch.
     */
    orderBy?: Prisma.tags_articlesOrderByWithRelationInput | Prisma.tags_articlesOrderByWithRelationInput[];
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     *
     * Sets the position for searching for tags_articles.
     */
    cursor?: Prisma.tags_articlesWhereUniqueInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     *
     * Take `±n` tags_articles 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` tags_articles.
     */
    skip?: number;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     *
     * Filter by unique combinations of tags_articles.
     */
    distinct?: Prisma.Tags_articlesScalarFieldEnum | Prisma.Tags_articlesScalarFieldEnum[];
};
/**
 * tags_articles findMany
 */
export type tags_articlesFindManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the tags_articles
     */
    select?: Prisma.tags_articlesSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the tags_articles
     */
    omit?: Prisma.tags_articlesOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.tags_articlesInclude<ExtArgs> | null;
    /**
     * Filter, which tags_articles to fetch.
     */
    where?: Prisma.tags_articlesWhereInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     *
     * Determine the order of tags_articles to fetch.
     */
    orderBy?: Prisma.tags_articlesOrderByWithRelationInput | Prisma.tags_articlesOrderByWithRelationInput[];
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     *
     * Sets the position for listing tags_articles.
     */
    cursor?: Prisma.tags_articlesWhereUniqueInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     *
     * Take `±n` tags_articles 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` tags_articles.
     */
    skip?: number;
    distinct?: Prisma.Tags_articlesScalarFieldEnum | Prisma.Tags_articlesScalarFieldEnum[];
};
/**
 * tags_articles create
 */
export type tags_articlesCreateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the tags_articles
     */
    select?: Prisma.tags_articlesSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the tags_articles
     */
    omit?: Prisma.tags_articlesOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.tags_articlesInclude<ExtArgs> | null;
    /**
     * The data needed to create a tags_articles.
     */
    data?: Prisma.XOR<Prisma.tags_articlesCreateInput, Prisma.tags_articlesUncheckedCreateInput>;
};
/**
 * tags_articles createMany
 */
export type tags_articlesCreateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * The data used to create many tags_articles.
     */
    data: Prisma.tags_articlesCreateManyInput | Prisma.tags_articlesCreateManyInput[];
    skipDuplicates?: boolean;
};
/**
 * tags_articles createManyAndReturn
 */
export type tags_articlesCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the tags_articles
     */
    select?: Prisma.tags_articlesSelectCreateManyAndReturn<ExtArgs> | null;
    /**
     * Omit specific fields from the tags_articles
     */
    omit?: Prisma.tags_articlesOmit<ExtArgs> | null;
    /**
     * The data used to create many tags_articles.
     */
    data: Prisma.tags_articlesCreateManyInput | Prisma.tags_articlesCreateManyInput[];
    skipDuplicates?: boolean;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.tags_articlesIncludeCreateManyAndReturn<ExtArgs> | null;
};
/**
 * tags_articles update
 */
export type tags_articlesUpdateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the tags_articles
     */
    select?: Prisma.tags_articlesSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the tags_articles
     */
    omit?: Prisma.tags_articlesOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.tags_articlesInclude<ExtArgs> | null;
    /**
     * The data needed to update a tags_articles.
     */
    data: Prisma.XOR<Prisma.tags_articlesUpdateInput, Prisma.tags_articlesUncheckedUpdateInput>;
    /**
     * Choose, which tags_articles to update.
     */
    where: Prisma.tags_articlesWhereUniqueInput;
};
/**
 * tags_articles updateMany
 */
export type tags_articlesUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * The data used to update tags_articles.
     */
    data: Prisma.XOR<Prisma.tags_articlesUpdateManyMutationInput, Prisma.tags_articlesUncheckedUpdateManyInput>;
    /**
     * Filter which tags_articles to update
     */
    where?: Prisma.tags_articlesWhereInput;
    /**
     * Limit how many tags_articles to update.
     */
    limit?: number;
};
/**
 * tags_articles updateManyAndReturn
 */
export type tags_articlesUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the tags_articles
     */
    select?: Prisma.tags_articlesSelectUpdateManyAndReturn<ExtArgs> | null;
    /**
     * Omit specific fields from the tags_articles
     */
    omit?: Prisma.tags_articlesOmit<ExtArgs> | null;
    /**
     * The data used to update tags_articles.
     */
    data: Prisma.XOR<Prisma.tags_articlesUpdateManyMutationInput, Prisma.tags_articlesUncheckedUpdateManyInput>;
    /**
     * Filter which tags_articles to update
     */
    where?: Prisma.tags_articlesWhereInput;
    /**
     * Limit how many tags_articles to update.
     */
    limit?: number;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.tags_articlesIncludeUpdateManyAndReturn<ExtArgs> | null;
};
/**
 * tags_articles upsert
 */
export type tags_articlesUpsertArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the tags_articles
     */
    select?: Prisma.tags_articlesSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the tags_articles
     */
    omit?: Prisma.tags_articlesOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.tags_articlesInclude<ExtArgs> | null;
    /**
     * The filter to search for the tags_articles to update in case it exists.
     */
    where: Prisma.tags_articlesWhereUniqueInput;
    /**
     * In case the tags_articles found by the `where` argument doesn't exist, create a new tags_articles with this data.
     */
    create: Prisma.XOR<Prisma.tags_articlesCreateInput, Prisma.tags_articlesUncheckedCreateInput>;
    /**
     * In case the tags_articles was found with the provided `where` argument, update it with this data.
     */
    update: Prisma.XOR<Prisma.tags_articlesUpdateInput, Prisma.tags_articlesUncheckedUpdateInput>;
};
/**
 * tags_articles delete
 */
export type tags_articlesDeleteArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the tags_articles
     */
    select?: Prisma.tags_articlesSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the tags_articles
     */
    omit?: Prisma.tags_articlesOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.tags_articlesInclude<ExtArgs> | null;
    /**
     * Filter which tags_articles to delete.
     */
    where: Prisma.tags_articlesWhereUniqueInput;
};
/**
 * tags_articles deleteMany
 */
export type tags_articlesDeleteManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Filter which tags_articles to delete
     */
    where?: Prisma.tags_articlesWhereInput;
    /**
     * Limit how many tags_articles to delete.
     */
    limit?: number;
};
/**
 * tags_articles.articles
 */
export type tags_articles$articlesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the articles
     */
    select?: Prisma.articlesSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the articles
     */
    omit?: Prisma.articlesOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.articlesInclude<ExtArgs> | null;
    where?: Prisma.articlesWhereInput;
};
/**
 * tags_articles.tags
 */
export type tags_articles$tagsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the tags
     */
    select?: Prisma.tagsSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the tags
     */
    omit?: Prisma.tagsOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.tagsInclude<ExtArgs> | null;
    where?: Prisma.tagsWhereInput;
};
/**
 * tags_articles without action
 */
export type tags_articlesDefaultArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the tags_articles
     */
    select?: Prisma.tags_articlesSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the tags_articles
     */
    omit?: Prisma.tags_articlesOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.tags_articlesInclude<ExtArgs> | null;
};
export {};
