import type * as runtime from "@prisma/client/runtime/client";
import type * as Prisma from "../internal/prismaNamespace";
/**
 * Model sso_providers
 * This table contains check constraints and requires additional setup for migrations. Visit https://pris.ly/d/check-constraints for more info.
 * This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments
 * This model contains row level security and requires additional setup for migrations. Visit https://pris.ly/d/row-level-security for more info.
 * This model contains an expression index which requires additional setup for migrations. Visit https://pris.ly/d/expression-indexes for more info.
 */
export type sso_providersModel = runtime.Types.Result.DefaultSelection<Prisma.$sso_providersPayload>;
export type AggregateSso_providers = {
    _count: Sso_providersCountAggregateOutputType | null;
    _min: Sso_providersMinAggregateOutputType | null;
    _max: Sso_providersMaxAggregateOutputType | null;
};
export type Sso_providersMinAggregateOutputType = {
    id: string | null;
    resource_id: string | null;
    created_at: Date | null;
    updated_at: Date | null;
    disabled: boolean | null;
};
export type Sso_providersMaxAggregateOutputType = {
    id: string | null;
    resource_id: string | null;
    created_at: Date | null;
    updated_at: Date | null;
    disabled: boolean | null;
};
export type Sso_providersCountAggregateOutputType = {
    id: number;
    resource_id: number;
    created_at: number;
    updated_at: number;
    disabled: number;
    _all: number;
};
export type Sso_providersMinAggregateInputType = {
    id?: true;
    resource_id?: true;
    created_at?: true;
    updated_at?: true;
    disabled?: true;
};
export type Sso_providersMaxAggregateInputType = {
    id?: true;
    resource_id?: true;
    created_at?: true;
    updated_at?: true;
    disabled?: true;
};
export type Sso_providersCountAggregateInputType = {
    id?: true;
    resource_id?: true;
    created_at?: true;
    updated_at?: true;
    disabled?: true;
    _all?: true;
};
export type Sso_providersAggregateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Filter which sso_providers to aggregate.
     */
    where?: Prisma.sso_providersWhereInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     *
     * Determine the order of sso_providers to fetch.
     */
    orderBy?: Prisma.sso_providersOrderByWithRelationInput | Prisma.sso_providersOrderByWithRelationInput[];
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     *
     * Sets the start position
     */
    cursor?: Prisma.sso_providersWhereUniqueInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     *
     * Take `±n` sso_providers 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` sso_providers.
     */
    skip?: number;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     *
     * Count returned sso_providers
    **/
    _count?: true | Sso_providersCountAggregateInputType;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     *
     * Select which fields to find the minimum value
    **/
    _min?: Sso_providersMinAggregateInputType;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
     *
     * Select which fields to find the maximum value
    **/
    _max?: Sso_providersMaxAggregateInputType;
};
export type GetSso_providersAggregateType<T extends Sso_providersAggregateArgs> = {
    [P in keyof T & keyof AggregateSso_providers]: P extends '_count' | 'count' ? T[P] extends true ? number : Prisma.GetScalarType<T[P], AggregateSso_providers[P]> : Prisma.GetScalarType<T[P], AggregateSso_providers[P]>;
};
export type sso_providersGroupByArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    where?: Prisma.sso_providersWhereInput;
    orderBy?: Prisma.sso_providersOrderByWithAggregationInput | Prisma.sso_providersOrderByWithAggregationInput[];
    by: Prisma.Sso_providersScalarFieldEnum[] | Prisma.Sso_providersScalarFieldEnum;
    having?: Prisma.sso_providersScalarWhereWithAggregatesInput;
    take?: number;
    skip?: number;
    _count?: Sso_providersCountAggregateInputType | true;
    _min?: Sso_providersMinAggregateInputType;
    _max?: Sso_providersMaxAggregateInputType;
};
export type Sso_providersGroupByOutputType = {
    id: string;
    resource_id: string | null;
    created_at: Date | null;
    updated_at: Date | null;
    disabled: boolean | null;
    _count: Sso_providersCountAggregateOutputType | null;
    _min: Sso_providersMinAggregateOutputType | null;
    _max: Sso_providersMaxAggregateOutputType | null;
};
type GetSso_providersGroupByPayload<T extends sso_providersGroupByArgs> = Prisma.PrismaPromise<Array<Prisma.PickEnumerable<Sso_providersGroupByOutputType, T['by']> & {
    [P in ((keyof T) & (keyof Sso_providersGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : Prisma.GetScalarType<T[P], Sso_providersGroupByOutputType[P]> : Prisma.GetScalarType<T[P], Sso_providersGroupByOutputType[P]>;
}>>;
export type sso_providersWhereInput = {
    AND?: Prisma.sso_providersWhereInput | Prisma.sso_providersWhereInput[];
    OR?: Prisma.sso_providersWhereInput[];
    NOT?: Prisma.sso_providersWhereInput | Prisma.sso_providersWhereInput[];
    id?: Prisma.UuidFilter<"sso_providers"> | string;
    resource_id?: Prisma.StringNullableFilter<"sso_providers"> | string | null;
    created_at?: Prisma.DateTimeNullableFilter<"sso_providers"> | Date | string | null;
    updated_at?: Prisma.DateTimeNullableFilter<"sso_providers"> | Date | string | null;
    disabled?: Prisma.BoolNullableFilter<"sso_providers"> | boolean | null;
    saml_providers?: Prisma.Saml_providersListRelationFilter;
    saml_relay_states?: Prisma.Saml_relay_statesListRelationFilter;
    sso_domains?: Prisma.Sso_domainsListRelationFilter;
};
export type sso_providersOrderByWithRelationInput = {
    id?: Prisma.SortOrder;
    resource_id?: Prisma.SortOrderInput | Prisma.SortOrder;
    created_at?: Prisma.SortOrderInput | Prisma.SortOrder;
    updated_at?: Prisma.SortOrderInput | Prisma.SortOrder;
    disabled?: Prisma.SortOrderInput | Prisma.SortOrder;
    saml_providers?: Prisma.saml_providersOrderByRelationAggregateInput;
    saml_relay_states?: Prisma.saml_relay_statesOrderByRelationAggregateInput;
    sso_domains?: Prisma.sso_domainsOrderByRelationAggregateInput;
};
export type sso_providersWhereUniqueInput = Prisma.AtLeast<{
    id?: string;
    AND?: Prisma.sso_providersWhereInput | Prisma.sso_providersWhereInput[];
    OR?: Prisma.sso_providersWhereInput[];
    NOT?: Prisma.sso_providersWhereInput | Prisma.sso_providersWhereInput[];
    resource_id?: Prisma.StringNullableFilter<"sso_providers"> | string | null;
    created_at?: Prisma.DateTimeNullableFilter<"sso_providers"> | Date | string | null;
    updated_at?: Prisma.DateTimeNullableFilter<"sso_providers"> | Date | string | null;
    disabled?: Prisma.BoolNullableFilter<"sso_providers"> | boolean | null;
    saml_providers?: Prisma.Saml_providersListRelationFilter;
    saml_relay_states?: Prisma.Saml_relay_statesListRelationFilter;
    sso_domains?: Prisma.Sso_domainsListRelationFilter;
}, "id">;
export type sso_providersOrderByWithAggregationInput = {
    id?: Prisma.SortOrder;
    resource_id?: Prisma.SortOrderInput | Prisma.SortOrder;
    created_at?: Prisma.SortOrderInput | Prisma.SortOrder;
    updated_at?: Prisma.SortOrderInput | Prisma.SortOrder;
    disabled?: Prisma.SortOrderInput | Prisma.SortOrder;
    _count?: Prisma.sso_providersCountOrderByAggregateInput;
    _max?: Prisma.sso_providersMaxOrderByAggregateInput;
    _min?: Prisma.sso_providersMinOrderByAggregateInput;
};
export type sso_providersScalarWhereWithAggregatesInput = {
    AND?: Prisma.sso_providersScalarWhereWithAggregatesInput | Prisma.sso_providersScalarWhereWithAggregatesInput[];
    OR?: Prisma.sso_providersScalarWhereWithAggregatesInput[];
    NOT?: Prisma.sso_providersScalarWhereWithAggregatesInput | Prisma.sso_providersScalarWhereWithAggregatesInput[];
    id?: Prisma.UuidWithAggregatesFilter<"sso_providers"> | string;
    resource_id?: Prisma.StringNullableWithAggregatesFilter<"sso_providers"> | string | null;
    created_at?: Prisma.DateTimeNullableWithAggregatesFilter<"sso_providers"> | Date | string | null;
    updated_at?: Prisma.DateTimeNullableWithAggregatesFilter<"sso_providers"> | Date | string | null;
    disabled?: Prisma.BoolNullableWithAggregatesFilter<"sso_providers"> | boolean | null;
};
export type sso_providersCreateInput = {
    id: string;
    resource_id?: string | null;
    created_at?: Date | string | null;
    updated_at?: Date | string | null;
    disabled?: boolean | null;
    saml_providers?: Prisma.saml_providersCreateNestedManyWithoutSso_providersInput;
    saml_relay_states?: Prisma.saml_relay_statesCreateNestedManyWithoutSso_providersInput;
    sso_domains?: Prisma.sso_domainsCreateNestedManyWithoutSso_providersInput;
};
export type sso_providersUncheckedCreateInput = {
    id: string;
    resource_id?: string | null;
    created_at?: Date | string | null;
    updated_at?: Date | string | null;
    disabled?: boolean | null;
    saml_providers?: Prisma.saml_providersUncheckedCreateNestedManyWithoutSso_providersInput;
    saml_relay_states?: Prisma.saml_relay_statesUncheckedCreateNestedManyWithoutSso_providersInput;
    sso_domains?: Prisma.sso_domainsUncheckedCreateNestedManyWithoutSso_providersInput;
};
export type sso_providersUpdateInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    resource_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    created_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
    updated_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
    disabled?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null;
    saml_providers?: Prisma.saml_providersUpdateManyWithoutSso_providersNestedInput;
    saml_relay_states?: Prisma.saml_relay_statesUpdateManyWithoutSso_providersNestedInput;
    sso_domains?: Prisma.sso_domainsUpdateManyWithoutSso_providersNestedInput;
};
export type sso_providersUncheckedUpdateInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    resource_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    created_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
    updated_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
    disabled?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null;
    saml_providers?: Prisma.saml_providersUncheckedUpdateManyWithoutSso_providersNestedInput;
    saml_relay_states?: Prisma.saml_relay_statesUncheckedUpdateManyWithoutSso_providersNestedInput;
    sso_domains?: Prisma.sso_domainsUncheckedUpdateManyWithoutSso_providersNestedInput;
};
export type sso_providersCreateManyInput = {
    id: string;
    resource_id?: string | null;
    created_at?: Date | string | null;
    updated_at?: Date | string | null;
    disabled?: boolean | null;
};
export type sso_providersUpdateManyMutationInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    resource_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    created_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
    updated_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
    disabled?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null;
};
export type sso_providersUncheckedUpdateManyInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    resource_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    created_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
    updated_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
    disabled?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null;
};
export type Sso_providersScalarRelationFilter = {
    is?: Prisma.sso_providersWhereInput;
    isNot?: Prisma.sso_providersWhereInput;
};
export type sso_providersCountOrderByAggregateInput = {
    id?: Prisma.SortOrder;
    resource_id?: Prisma.SortOrder;
    created_at?: Prisma.SortOrder;
    updated_at?: Prisma.SortOrder;
    disabled?: Prisma.SortOrder;
};
export type sso_providersMaxOrderByAggregateInput = {
    id?: Prisma.SortOrder;
    resource_id?: Prisma.SortOrder;
    created_at?: Prisma.SortOrder;
    updated_at?: Prisma.SortOrder;
    disabled?: Prisma.SortOrder;
};
export type sso_providersMinOrderByAggregateInput = {
    id?: Prisma.SortOrder;
    resource_id?: Prisma.SortOrder;
    created_at?: Prisma.SortOrder;
    updated_at?: Prisma.SortOrder;
    disabled?: Prisma.SortOrder;
};
export type sso_providersCreateNestedOneWithoutSaml_providersInput = {
    create?: Prisma.XOR<Prisma.sso_providersCreateWithoutSaml_providersInput, Prisma.sso_providersUncheckedCreateWithoutSaml_providersInput>;
    connectOrCreate?: Prisma.sso_providersCreateOrConnectWithoutSaml_providersInput;
    connect?: Prisma.sso_providersWhereUniqueInput;
};
export type sso_providersUpdateOneRequiredWithoutSaml_providersNestedInput = {
    create?: Prisma.XOR<Prisma.sso_providersCreateWithoutSaml_providersInput, Prisma.sso_providersUncheckedCreateWithoutSaml_providersInput>;
    connectOrCreate?: Prisma.sso_providersCreateOrConnectWithoutSaml_providersInput;
    upsert?: Prisma.sso_providersUpsertWithoutSaml_providersInput;
    connect?: Prisma.sso_providersWhereUniqueInput;
    update?: Prisma.XOR<Prisma.XOR<Prisma.sso_providersUpdateToOneWithWhereWithoutSaml_providersInput, Prisma.sso_providersUpdateWithoutSaml_providersInput>, Prisma.sso_providersUncheckedUpdateWithoutSaml_providersInput>;
};
export type sso_providersCreateNestedOneWithoutSaml_relay_statesInput = {
    create?: Prisma.XOR<Prisma.sso_providersCreateWithoutSaml_relay_statesInput, Prisma.sso_providersUncheckedCreateWithoutSaml_relay_statesInput>;
    connectOrCreate?: Prisma.sso_providersCreateOrConnectWithoutSaml_relay_statesInput;
    connect?: Prisma.sso_providersWhereUniqueInput;
};
export type sso_providersUpdateOneRequiredWithoutSaml_relay_statesNestedInput = {
    create?: Prisma.XOR<Prisma.sso_providersCreateWithoutSaml_relay_statesInput, Prisma.sso_providersUncheckedCreateWithoutSaml_relay_statesInput>;
    connectOrCreate?: Prisma.sso_providersCreateOrConnectWithoutSaml_relay_statesInput;
    upsert?: Prisma.sso_providersUpsertWithoutSaml_relay_statesInput;
    connect?: Prisma.sso_providersWhereUniqueInput;
    update?: Prisma.XOR<Prisma.XOR<Prisma.sso_providersUpdateToOneWithWhereWithoutSaml_relay_statesInput, Prisma.sso_providersUpdateWithoutSaml_relay_statesInput>, Prisma.sso_providersUncheckedUpdateWithoutSaml_relay_statesInput>;
};
export type sso_providersCreateNestedOneWithoutSso_domainsInput = {
    create?: Prisma.XOR<Prisma.sso_providersCreateWithoutSso_domainsInput, Prisma.sso_providersUncheckedCreateWithoutSso_domainsInput>;
    connectOrCreate?: Prisma.sso_providersCreateOrConnectWithoutSso_domainsInput;
    connect?: Prisma.sso_providersWhereUniqueInput;
};
export type sso_providersUpdateOneRequiredWithoutSso_domainsNestedInput = {
    create?: Prisma.XOR<Prisma.sso_providersCreateWithoutSso_domainsInput, Prisma.sso_providersUncheckedCreateWithoutSso_domainsInput>;
    connectOrCreate?: Prisma.sso_providersCreateOrConnectWithoutSso_domainsInput;
    upsert?: Prisma.sso_providersUpsertWithoutSso_domainsInput;
    connect?: Prisma.sso_providersWhereUniqueInput;
    update?: Prisma.XOR<Prisma.XOR<Prisma.sso_providersUpdateToOneWithWhereWithoutSso_domainsInput, Prisma.sso_providersUpdateWithoutSso_domainsInput>, Prisma.sso_providersUncheckedUpdateWithoutSso_domainsInput>;
};
export type sso_providersCreateWithoutSaml_providersInput = {
    id: string;
    resource_id?: string | null;
    created_at?: Date | string | null;
    updated_at?: Date | string | null;
    disabled?: boolean | null;
    saml_relay_states?: Prisma.saml_relay_statesCreateNestedManyWithoutSso_providersInput;
    sso_domains?: Prisma.sso_domainsCreateNestedManyWithoutSso_providersInput;
};
export type sso_providersUncheckedCreateWithoutSaml_providersInput = {
    id: string;
    resource_id?: string | null;
    created_at?: Date | string | null;
    updated_at?: Date | string | null;
    disabled?: boolean | null;
    saml_relay_states?: Prisma.saml_relay_statesUncheckedCreateNestedManyWithoutSso_providersInput;
    sso_domains?: Prisma.sso_domainsUncheckedCreateNestedManyWithoutSso_providersInput;
};
export type sso_providersCreateOrConnectWithoutSaml_providersInput = {
    where: Prisma.sso_providersWhereUniqueInput;
    create: Prisma.XOR<Prisma.sso_providersCreateWithoutSaml_providersInput, Prisma.sso_providersUncheckedCreateWithoutSaml_providersInput>;
};
export type sso_providersUpsertWithoutSaml_providersInput = {
    update: Prisma.XOR<Prisma.sso_providersUpdateWithoutSaml_providersInput, Prisma.sso_providersUncheckedUpdateWithoutSaml_providersInput>;
    create: Prisma.XOR<Prisma.sso_providersCreateWithoutSaml_providersInput, Prisma.sso_providersUncheckedCreateWithoutSaml_providersInput>;
    where?: Prisma.sso_providersWhereInput;
};
export type sso_providersUpdateToOneWithWhereWithoutSaml_providersInput = {
    where?: Prisma.sso_providersWhereInput;
    data: Prisma.XOR<Prisma.sso_providersUpdateWithoutSaml_providersInput, Prisma.sso_providersUncheckedUpdateWithoutSaml_providersInput>;
};
export type sso_providersUpdateWithoutSaml_providersInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    resource_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    created_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
    updated_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
    disabled?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null;
    saml_relay_states?: Prisma.saml_relay_statesUpdateManyWithoutSso_providersNestedInput;
    sso_domains?: Prisma.sso_domainsUpdateManyWithoutSso_providersNestedInput;
};
export type sso_providersUncheckedUpdateWithoutSaml_providersInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    resource_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    created_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
    updated_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
    disabled?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null;
    saml_relay_states?: Prisma.saml_relay_statesUncheckedUpdateManyWithoutSso_providersNestedInput;
    sso_domains?: Prisma.sso_domainsUncheckedUpdateManyWithoutSso_providersNestedInput;
};
export type sso_providersCreateWithoutSaml_relay_statesInput = {
    id: string;
    resource_id?: string | null;
    created_at?: Date | string | null;
    updated_at?: Date | string | null;
    disabled?: boolean | null;
    saml_providers?: Prisma.saml_providersCreateNestedManyWithoutSso_providersInput;
    sso_domains?: Prisma.sso_domainsCreateNestedManyWithoutSso_providersInput;
};
export type sso_providersUncheckedCreateWithoutSaml_relay_statesInput = {
    id: string;
    resource_id?: string | null;
    created_at?: Date | string | null;
    updated_at?: Date | string | null;
    disabled?: boolean | null;
    saml_providers?: Prisma.saml_providersUncheckedCreateNestedManyWithoutSso_providersInput;
    sso_domains?: Prisma.sso_domainsUncheckedCreateNestedManyWithoutSso_providersInput;
};
export type sso_providersCreateOrConnectWithoutSaml_relay_statesInput = {
    where: Prisma.sso_providersWhereUniqueInput;
    create: Prisma.XOR<Prisma.sso_providersCreateWithoutSaml_relay_statesInput, Prisma.sso_providersUncheckedCreateWithoutSaml_relay_statesInput>;
};
export type sso_providersUpsertWithoutSaml_relay_statesInput = {
    update: Prisma.XOR<Prisma.sso_providersUpdateWithoutSaml_relay_statesInput, Prisma.sso_providersUncheckedUpdateWithoutSaml_relay_statesInput>;
    create: Prisma.XOR<Prisma.sso_providersCreateWithoutSaml_relay_statesInput, Prisma.sso_providersUncheckedCreateWithoutSaml_relay_statesInput>;
    where?: Prisma.sso_providersWhereInput;
};
export type sso_providersUpdateToOneWithWhereWithoutSaml_relay_statesInput = {
    where?: Prisma.sso_providersWhereInput;
    data: Prisma.XOR<Prisma.sso_providersUpdateWithoutSaml_relay_statesInput, Prisma.sso_providersUncheckedUpdateWithoutSaml_relay_statesInput>;
};
export type sso_providersUpdateWithoutSaml_relay_statesInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    resource_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    created_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
    updated_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
    disabled?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null;
    saml_providers?: Prisma.saml_providersUpdateManyWithoutSso_providersNestedInput;
    sso_domains?: Prisma.sso_domainsUpdateManyWithoutSso_providersNestedInput;
};
export type sso_providersUncheckedUpdateWithoutSaml_relay_statesInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    resource_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    created_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
    updated_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
    disabled?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null;
    saml_providers?: Prisma.saml_providersUncheckedUpdateManyWithoutSso_providersNestedInput;
    sso_domains?: Prisma.sso_domainsUncheckedUpdateManyWithoutSso_providersNestedInput;
};
export type sso_providersCreateWithoutSso_domainsInput = {
    id: string;
    resource_id?: string | null;
    created_at?: Date | string | null;
    updated_at?: Date | string | null;
    disabled?: boolean | null;
    saml_providers?: Prisma.saml_providersCreateNestedManyWithoutSso_providersInput;
    saml_relay_states?: Prisma.saml_relay_statesCreateNestedManyWithoutSso_providersInput;
};
export type sso_providersUncheckedCreateWithoutSso_domainsInput = {
    id: string;
    resource_id?: string | null;
    created_at?: Date | string | null;
    updated_at?: Date | string | null;
    disabled?: boolean | null;
    saml_providers?: Prisma.saml_providersUncheckedCreateNestedManyWithoutSso_providersInput;
    saml_relay_states?: Prisma.saml_relay_statesUncheckedCreateNestedManyWithoutSso_providersInput;
};
export type sso_providersCreateOrConnectWithoutSso_domainsInput = {
    where: Prisma.sso_providersWhereUniqueInput;
    create: Prisma.XOR<Prisma.sso_providersCreateWithoutSso_domainsInput, Prisma.sso_providersUncheckedCreateWithoutSso_domainsInput>;
};
export type sso_providersUpsertWithoutSso_domainsInput = {
    update: Prisma.XOR<Prisma.sso_providersUpdateWithoutSso_domainsInput, Prisma.sso_providersUncheckedUpdateWithoutSso_domainsInput>;
    create: Prisma.XOR<Prisma.sso_providersCreateWithoutSso_domainsInput, Prisma.sso_providersUncheckedCreateWithoutSso_domainsInput>;
    where?: Prisma.sso_providersWhereInput;
};
export type sso_providersUpdateToOneWithWhereWithoutSso_domainsInput = {
    where?: Prisma.sso_providersWhereInput;
    data: Prisma.XOR<Prisma.sso_providersUpdateWithoutSso_domainsInput, Prisma.sso_providersUncheckedUpdateWithoutSso_domainsInput>;
};
export type sso_providersUpdateWithoutSso_domainsInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    resource_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    created_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
    updated_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
    disabled?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null;
    saml_providers?: Prisma.saml_providersUpdateManyWithoutSso_providersNestedInput;
    saml_relay_states?: Prisma.saml_relay_statesUpdateManyWithoutSso_providersNestedInput;
};
export type sso_providersUncheckedUpdateWithoutSso_domainsInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    resource_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    created_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
    updated_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null;
    disabled?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null;
    saml_providers?: Prisma.saml_providersUncheckedUpdateManyWithoutSso_providersNestedInput;
    saml_relay_states?: Prisma.saml_relay_statesUncheckedUpdateManyWithoutSso_providersNestedInput;
};
/**
 * Count Type Sso_providersCountOutputType
 */
export type Sso_providersCountOutputType = {
    saml_providers: number;
    saml_relay_states: number;
    sso_domains: number;
};
export type Sso_providersCountOutputTypeSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    saml_providers?: boolean | Sso_providersCountOutputTypeCountSaml_providersArgs;
    saml_relay_states?: boolean | Sso_providersCountOutputTypeCountSaml_relay_statesArgs;
    sso_domains?: boolean | Sso_providersCountOutputTypeCountSso_domainsArgs;
};
/**
 * Sso_providersCountOutputType without action
 */
export type Sso_providersCountOutputTypeDefaultArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the Sso_providersCountOutputType
     */
    select?: Prisma.Sso_providersCountOutputTypeSelect<ExtArgs> | null;
};
/**
 * Sso_providersCountOutputType without action
 */
export type Sso_providersCountOutputTypeCountSaml_providersArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    where?: Prisma.saml_providersWhereInput;
};
/**
 * Sso_providersCountOutputType without action
 */
export type Sso_providersCountOutputTypeCountSaml_relay_statesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    where?: Prisma.saml_relay_statesWhereInput;
};
/**
 * Sso_providersCountOutputType without action
 */
export type Sso_providersCountOutputTypeCountSso_domainsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    where?: Prisma.sso_domainsWhereInput;
};
export type sso_providersSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
    id?: boolean;
    resource_id?: boolean;
    created_at?: boolean;
    updated_at?: boolean;
    disabled?: boolean;
    saml_providers?: boolean | Prisma.sso_providers$saml_providersArgs<ExtArgs>;
    saml_relay_states?: boolean | Prisma.sso_providers$saml_relay_statesArgs<ExtArgs>;
    sso_domains?: boolean | Prisma.sso_providers$sso_domainsArgs<ExtArgs>;
    _count?: boolean | Prisma.Sso_providersCountOutputTypeDefaultArgs<ExtArgs>;
}, ExtArgs["result"]["sso_providers"]>;
export type sso_providersSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
    id?: boolean;
    resource_id?: boolean;
    created_at?: boolean;
    updated_at?: boolean;
    disabled?: boolean;
}, ExtArgs["result"]["sso_providers"]>;
export type sso_providersSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
    id?: boolean;
    resource_id?: boolean;
    created_at?: boolean;
    updated_at?: boolean;
    disabled?: boolean;
}, ExtArgs["result"]["sso_providers"]>;
export type sso_providersSelectScalar = {
    id?: boolean;
    resource_id?: boolean;
    created_at?: boolean;
    updated_at?: boolean;
    disabled?: boolean;
};
export type sso_providersOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "resource_id" | "created_at" | "updated_at" | "disabled", ExtArgs["result"]["sso_providers"]>;
export type sso_providersInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    saml_providers?: boolean | Prisma.sso_providers$saml_providersArgs<ExtArgs>;
    saml_relay_states?: boolean | Prisma.sso_providers$saml_relay_statesArgs<ExtArgs>;
    sso_domains?: boolean | Prisma.sso_providers$sso_domainsArgs<ExtArgs>;
    _count?: boolean | Prisma.Sso_providersCountOutputTypeDefaultArgs<ExtArgs>;
};
export type sso_providersIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {};
export type sso_providersIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {};
export type $sso_providersPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    name: "sso_providers";
    objects: {
        saml_providers: Prisma.$saml_providersPayload<ExtArgs>[];
        saml_relay_states: Prisma.$saml_relay_statesPayload<ExtArgs>[];
        sso_domains: Prisma.$sso_domainsPayload<ExtArgs>[];
    };
    scalars: runtime.Types.Extensions.GetPayloadResult<{
        id: string;
        resource_id: string | null;
        created_at: Date | null;
        updated_at: Date | null;
        disabled: boolean | null;
    }, ExtArgs["result"]["sso_providers"]>;
    composites: {};
};
export type sso_providersGetPayload<S extends boolean | null | undefined | sso_providersDefaultArgs> = runtime.Types.Result.GetResult<Prisma.$sso_providersPayload, S>;
export type sso_providersCountArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = Omit<sso_providersFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
    select?: Sso_providersCountAggregateInputType | true;
};
export interface sso_providersDelegate<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> {
    [K: symbol]: {
        types: Prisma.TypeMap<ExtArgs>['model']['sso_providers'];
        meta: {
            name: 'sso_providers';
        };
    };
    /**
     * Find zero or one Sso_providers that matches the filter.
     * @param {sso_providersFindUniqueArgs} args - Arguments to find a Sso_providers
     * @example
     * // Get one Sso_providers
     * const sso_providers = await prisma.sso_providers.findUnique({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUnique<T extends sso_providersFindUniqueArgs>(args: Prisma.SelectSubset<T, sso_providersFindUniqueArgs<ExtArgs>>): Prisma.Prisma__sso_providersClient<runtime.Types.Result.GetResult<Prisma.$sso_providersPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>;
    /**
     * Find one Sso_providers that matches the filter or throw an error with `error.code='P2025'`
     * if no matches were found.
     * @param {sso_providersFindUniqueOrThrowArgs} args - Arguments to find a Sso_providers
     * @example
     * // Get one Sso_providers
     * const sso_providers = await prisma.sso_providers.findUniqueOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findUniqueOrThrow<T extends sso_providersFindUniqueOrThrowArgs>(args: Prisma.SelectSubset<T, sso_providersFindUniqueOrThrowArgs<ExtArgs>>): Prisma.Prisma__sso_providersClient<runtime.Types.Result.GetResult<Prisma.$sso_providersPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    /**
     * Find the first Sso_providers 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 {sso_providersFindFirstArgs} args - Arguments to find a Sso_providers
     * @example
     * // Get one Sso_providers
     * const sso_providers = await prisma.sso_providers.findFirst({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirst<T extends sso_providersFindFirstArgs>(args?: Prisma.SelectSubset<T, sso_providersFindFirstArgs<ExtArgs>>): Prisma.Prisma__sso_providersClient<runtime.Types.Result.GetResult<Prisma.$sso_providersPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>;
    /**
     * Find the first Sso_providers 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 {sso_providersFindFirstOrThrowArgs} args - Arguments to find a Sso_providers
     * @example
     * // Get one Sso_providers
     * const sso_providers = await prisma.sso_providers.findFirstOrThrow({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     */
    findFirstOrThrow<T extends sso_providersFindFirstOrThrowArgs>(args?: Prisma.SelectSubset<T, sso_providersFindFirstOrThrowArgs<ExtArgs>>): Prisma.Prisma__sso_providersClient<runtime.Types.Result.GetResult<Prisma.$sso_providersPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    /**
     * Find zero or more Sso_providers 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 {sso_providersFindManyArgs} args - Arguments to filter and select certain fields only.
     * @example
     * // Get all Sso_providers
     * const sso_providers = await prisma.sso_providers.findMany()
     *
     * // Get first 10 Sso_providers
     * const sso_providers = await prisma.sso_providers.findMany({ take: 10 })
     *
     * // Only select the `id`
     * const sso_providersWithIdOnly = await prisma.sso_providers.findMany({ select: { id: true } })
     *
     */
    findMany<T extends sso_providersFindManyArgs>(args?: Prisma.SelectSubset<T, sso_providersFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$sso_providersPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>;
    /**
     * Create a Sso_providers.
     * @param {sso_providersCreateArgs} args - Arguments to create a Sso_providers.
     * @example
     * // Create one Sso_providers
     * const Sso_providers = await prisma.sso_providers.create({
     *   data: {
     *     // ... data to create a Sso_providers
     *   }
     * })
     *
     */
    create<T extends sso_providersCreateArgs>(args: Prisma.SelectSubset<T, sso_providersCreateArgs<ExtArgs>>): Prisma.Prisma__sso_providersClient<runtime.Types.Result.GetResult<Prisma.$sso_providersPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    /**
     * Create many Sso_providers.
     * @param {sso_providersCreateManyArgs} args - Arguments to create many Sso_providers.
     * @example
     * // Create many Sso_providers
     * const sso_providers = await prisma.sso_providers.createMany({
     *   data: [
     *     // ... provide data here
     *   ]
     * })
     *
     */
    createMany<T extends sso_providersCreateManyArgs>(args?: Prisma.SelectSubset<T, sso_providersCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>;
    /**
     * Create many Sso_providers and returns the data saved in the database.
     * @param {sso_providersCreateManyAndReturnArgs} args - Arguments to create many Sso_providers.
     * @example
     * // Create many Sso_providers
     * const sso_providers = await prisma.sso_providers.createManyAndReturn({
     *   data: [
     *     // ... provide data here
     *   ]
     * })
     *
     * // Create many Sso_providers and only return the `id`
     * const sso_providersWithIdOnly = await prisma.sso_providers.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 sso_providersCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, sso_providersCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$sso_providersPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>;
    /**
     * Delete a Sso_providers.
     * @param {sso_providersDeleteArgs} args - Arguments to delete one Sso_providers.
     * @example
     * // Delete one Sso_providers
     * const Sso_providers = await prisma.sso_providers.delete({
     *   where: {
     *     // ... filter to delete one Sso_providers
     *   }
     * })
     *
     */
    delete<T extends sso_providersDeleteArgs>(args: Prisma.SelectSubset<T, sso_providersDeleteArgs<ExtArgs>>): Prisma.Prisma__sso_providersClient<runtime.Types.Result.GetResult<Prisma.$sso_providersPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    /**
     * Update one Sso_providers.
     * @param {sso_providersUpdateArgs} args - Arguments to update one Sso_providers.
     * @example
     * // Update one Sso_providers
     * const sso_providers = await prisma.sso_providers.update({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     *
     */
    update<T extends sso_providersUpdateArgs>(args: Prisma.SelectSubset<T, sso_providersUpdateArgs<ExtArgs>>): Prisma.Prisma__sso_providersClient<runtime.Types.Result.GetResult<Prisma.$sso_providersPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    /**
     * Delete zero or more Sso_providers.
     * @param {sso_providersDeleteManyArgs} args - Arguments to filter Sso_providers to delete.
     * @example
     * // Delete a few Sso_providers
     * const { count } = await prisma.sso_providers.deleteMany({
     *   where: {
     *     // ... provide filter here
     *   }
     * })
     *
     */
    deleteMany<T extends sso_providersDeleteManyArgs>(args?: Prisma.SelectSubset<T, sso_providersDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>;
    /**
     * Update zero or more Sso_providers.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {sso_providersUpdateManyArgs} args - Arguments to update one or more rows.
     * @example
     * // Update many Sso_providers
     * const sso_providers = await prisma.sso_providers.updateMany({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: {
     *     // ... provide data here
     *   }
     * })
     *
     */
    updateMany<T extends sso_providersUpdateManyArgs>(args: Prisma.SelectSubset<T, sso_providersUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>;
    /**
     * Update zero or more Sso_providers and returns the data updated in the database.
     * @param {sso_providersUpdateManyAndReturnArgs} args - Arguments to update many Sso_providers.
     * @example
     * // Update many Sso_providers
     * const sso_providers = await prisma.sso_providers.updateManyAndReturn({
     *   where: {
     *     // ... provide filter here
     *   },
     *   data: [
     *     // ... provide data here
     *   ]
     * })
     *
     * // Update zero or more Sso_providers and only return the `id`
     * const sso_providersWithIdOnly = await prisma.sso_providers.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 sso_providersUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, sso_providersUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$sso_providersPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>;
    /**
     * Create or update one Sso_providers.
     * @param {sso_providersUpsertArgs} args - Arguments to update or create a Sso_providers.
     * @example
     * // Update or create a Sso_providers
     * const sso_providers = await prisma.sso_providers.upsert({
     *   create: {
     *     // ... data to create a Sso_providers
     *   },
     *   update: {
     *     // ... in case it already exists, update
     *   },
     *   where: {
     *     // ... the filter for the Sso_providers we want to update
     *   }
     * })
     */
    upsert<T extends sso_providersUpsertArgs>(args: Prisma.SelectSubset<T, sso_providersUpsertArgs<ExtArgs>>): Prisma.Prisma__sso_providersClient<runtime.Types.Result.GetResult<Prisma.$sso_providersPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    /**
     * Count the number of Sso_providers.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {sso_providersCountArgs} args - Arguments to filter Sso_providers to count.
     * @example
     * // Count the number of Sso_providers
     * const count = await prisma.sso_providers.count({
     *   where: {
     *     // ... the filter for the Sso_providers we want to count
     *   }
     * })
    **/
    count<T extends sso_providersCountArgs>(args?: Prisma.Subset<T, sso_providersCountArgs>): Prisma.PrismaPromise<T extends runtime.Types.Utils.Record<'select', any> ? T['select'] extends true ? number : Prisma.GetScalarType<T['select'], Sso_providersCountAggregateOutputType> : number>;
    /**
     * Allows you to perform aggregations operations on a Sso_providers.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {Sso_providersAggregateArgs} 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 Sso_providersAggregateArgs>(args: Prisma.Subset<T, Sso_providersAggregateArgs>): Prisma.PrismaPromise<GetSso_providersAggregateType<T>>;
    /**
     * Group by Sso_providers.
     * Note, that providing `undefined` is treated as the value not being there.
     * Read more here: https://pris.ly/d/null-undefined
     * @param {sso_providersGroupByArgs} 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 sso_providersGroupByArgs, HasSelectOrTake extends Prisma.Or<Prisma.Extends<'skip', Prisma.Keys<T>>, Prisma.Extends<'take', Prisma.Keys<T>>>, OrderByArg extends Prisma.True extends HasSelectOrTake ? {
        orderBy: sso_providersGroupByArgs['orderBy'];
    } : {
        orderBy?: sso_providersGroupByArgs['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, sso_providersGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetSso_providersGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>;
    /**
     * Fields of the sso_providers model
     */
    readonly fields: sso_providersFieldRefs;
}
/**
 * The delegate class that acts as a "Promise-like" for sso_providers.
 * 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__sso_providersClient<T, Null = never, ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
    readonly [Symbol.toStringTag]: "PrismaPromise";
    saml_providers<T extends Prisma.sso_providers$saml_providersArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.sso_providers$saml_providersArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$saml_providersPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>;
    saml_relay_states<T extends Prisma.sso_providers$saml_relay_statesArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.sso_providers$saml_relay_statesArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$saml_relay_statesPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>;
    sso_domains<T extends Prisma.sso_providers$sso_domainsArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.sso_providers$sso_domainsArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$sso_domainsPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>;
    /**
     * 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 sso_providers model
 */
export interface sso_providersFieldRefs {
    readonly id: Prisma.FieldRef<"sso_providers", 'String'>;
    readonly resource_id: Prisma.FieldRef<"sso_providers", 'String'>;
    readonly created_at: Prisma.FieldRef<"sso_providers", 'DateTime'>;
    readonly updated_at: Prisma.FieldRef<"sso_providers", 'DateTime'>;
    readonly disabled: Prisma.FieldRef<"sso_providers", 'Boolean'>;
}
/**
 * sso_providers findUnique
 */
export type sso_providersFindUniqueArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the sso_providers
     */
    select?: Prisma.sso_providersSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the sso_providers
     */
    omit?: Prisma.sso_providersOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.sso_providersInclude<ExtArgs> | null;
    /**
     * Filter, which sso_providers to fetch.
     */
    where: Prisma.sso_providersWhereUniqueInput;
};
/**
 * sso_providers findUniqueOrThrow
 */
export type sso_providersFindUniqueOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the sso_providers
     */
    select?: Prisma.sso_providersSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the sso_providers
     */
    omit?: Prisma.sso_providersOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.sso_providersInclude<ExtArgs> | null;
    /**
     * Filter, which sso_providers to fetch.
     */
    where: Prisma.sso_providersWhereUniqueInput;
};
/**
 * sso_providers findFirst
 */
export type sso_providersFindFirstArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the sso_providers
     */
    select?: Prisma.sso_providersSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the sso_providers
     */
    omit?: Prisma.sso_providersOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.sso_providersInclude<ExtArgs> | null;
    /**
     * Filter, which sso_providers to fetch.
     */
    where?: Prisma.sso_providersWhereInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     *
     * Determine the order of sso_providers to fetch.
     */
    orderBy?: Prisma.sso_providersOrderByWithRelationInput | Prisma.sso_providersOrderByWithRelationInput[];
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     *
     * Sets the position for searching for sso_providers.
     */
    cursor?: Prisma.sso_providersWhereUniqueInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     *
     * Take `±n` sso_providers 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` sso_providers.
     */
    skip?: number;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     *
     * Filter by unique combinations of sso_providers.
     */
    distinct?: Prisma.Sso_providersScalarFieldEnum | Prisma.Sso_providersScalarFieldEnum[];
};
/**
 * sso_providers findFirstOrThrow
 */
export type sso_providersFindFirstOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the sso_providers
     */
    select?: Prisma.sso_providersSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the sso_providers
     */
    omit?: Prisma.sso_providersOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.sso_providersInclude<ExtArgs> | null;
    /**
     * Filter, which sso_providers to fetch.
     */
    where?: Prisma.sso_providersWhereInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     *
     * Determine the order of sso_providers to fetch.
     */
    orderBy?: Prisma.sso_providersOrderByWithRelationInput | Prisma.sso_providersOrderByWithRelationInput[];
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     *
     * Sets the position for searching for sso_providers.
     */
    cursor?: Prisma.sso_providersWhereUniqueInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     *
     * Take `±n` sso_providers 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` sso_providers.
     */
    skip?: number;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
     *
     * Filter by unique combinations of sso_providers.
     */
    distinct?: Prisma.Sso_providersScalarFieldEnum | Prisma.Sso_providersScalarFieldEnum[];
};
/**
 * sso_providers findMany
 */
export type sso_providersFindManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the sso_providers
     */
    select?: Prisma.sso_providersSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the sso_providers
     */
    omit?: Prisma.sso_providersOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.sso_providersInclude<ExtArgs> | null;
    /**
     * Filter, which sso_providers to fetch.
     */
    where?: Prisma.sso_providersWhereInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
     *
     * Determine the order of sso_providers to fetch.
     */
    orderBy?: Prisma.sso_providersOrderByWithRelationInput | Prisma.sso_providersOrderByWithRelationInput[];
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
     *
     * Sets the position for listing sso_providers.
     */
    cursor?: Prisma.sso_providersWhereUniqueInput;
    /**
     * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
     *
     * Take `±n` sso_providers 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` sso_providers.
     */
    skip?: number;
    distinct?: Prisma.Sso_providersScalarFieldEnum | Prisma.Sso_providersScalarFieldEnum[];
};
/**
 * sso_providers create
 */
export type sso_providersCreateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the sso_providers
     */
    select?: Prisma.sso_providersSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the sso_providers
     */
    omit?: Prisma.sso_providersOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.sso_providersInclude<ExtArgs> | null;
    /**
     * The data needed to create a sso_providers.
     */
    data: Prisma.XOR<Prisma.sso_providersCreateInput, Prisma.sso_providersUncheckedCreateInput>;
};
/**
 * sso_providers createMany
 */
export type sso_providersCreateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * The data used to create many sso_providers.
     */
    data: Prisma.sso_providersCreateManyInput | Prisma.sso_providersCreateManyInput[];
    skipDuplicates?: boolean;
};
/**
 * sso_providers createManyAndReturn
 */
export type sso_providersCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the sso_providers
     */
    select?: Prisma.sso_providersSelectCreateManyAndReturn<ExtArgs> | null;
    /**
     * Omit specific fields from the sso_providers
     */
    omit?: Prisma.sso_providersOmit<ExtArgs> | null;
    /**
     * The data used to create many sso_providers.
     */
    data: Prisma.sso_providersCreateManyInput | Prisma.sso_providersCreateManyInput[];
    skipDuplicates?: boolean;
};
/**
 * sso_providers update
 */
export type sso_providersUpdateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the sso_providers
     */
    select?: Prisma.sso_providersSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the sso_providers
     */
    omit?: Prisma.sso_providersOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.sso_providersInclude<ExtArgs> | null;
    /**
     * The data needed to update a sso_providers.
     */
    data: Prisma.XOR<Prisma.sso_providersUpdateInput, Prisma.sso_providersUncheckedUpdateInput>;
    /**
     * Choose, which sso_providers to update.
     */
    where: Prisma.sso_providersWhereUniqueInput;
};
/**
 * sso_providers updateMany
 */
export type sso_providersUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * The data used to update sso_providers.
     */
    data: Prisma.XOR<Prisma.sso_providersUpdateManyMutationInput, Prisma.sso_providersUncheckedUpdateManyInput>;
    /**
     * Filter which sso_providers to update
     */
    where?: Prisma.sso_providersWhereInput;
    /**
     * Limit how many sso_providers to update.
     */
    limit?: number;
};
/**
 * sso_providers updateManyAndReturn
 */
export type sso_providersUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the sso_providers
     */
    select?: Prisma.sso_providersSelectUpdateManyAndReturn<ExtArgs> | null;
    /**
     * Omit specific fields from the sso_providers
     */
    omit?: Prisma.sso_providersOmit<ExtArgs> | null;
    /**
     * The data used to update sso_providers.
     */
    data: Prisma.XOR<Prisma.sso_providersUpdateManyMutationInput, Prisma.sso_providersUncheckedUpdateManyInput>;
    /**
     * Filter which sso_providers to update
     */
    where?: Prisma.sso_providersWhereInput;
    /**
     * Limit how many sso_providers to update.
     */
    limit?: number;
};
/**
 * sso_providers upsert
 */
export type sso_providersUpsertArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the sso_providers
     */
    select?: Prisma.sso_providersSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the sso_providers
     */
    omit?: Prisma.sso_providersOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.sso_providersInclude<ExtArgs> | null;
    /**
     * The filter to search for the sso_providers to update in case it exists.
     */
    where: Prisma.sso_providersWhereUniqueInput;
    /**
     * In case the sso_providers found by the `where` argument doesn't exist, create a new sso_providers with this data.
     */
    create: Prisma.XOR<Prisma.sso_providersCreateInput, Prisma.sso_providersUncheckedCreateInput>;
    /**
     * In case the sso_providers was found with the provided `where` argument, update it with this data.
     */
    update: Prisma.XOR<Prisma.sso_providersUpdateInput, Prisma.sso_providersUncheckedUpdateInput>;
};
/**
 * sso_providers delete
 */
export type sso_providersDeleteArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the sso_providers
     */
    select?: Prisma.sso_providersSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the sso_providers
     */
    omit?: Prisma.sso_providersOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.sso_providersInclude<ExtArgs> | null;
    /**
     * Filter which sso_providers to delete.
     */
    where: Prisma.sso_providersWhereUniqueInput;
};
/**
 * sso_providers deleteMany
 */
export type sso_providersDeleteManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Filter which sso_providers to delete
     */
    where?: Prisma.sso_providersWhereInput;
    /**
     * Limit how many sso_providers to delete.
     */
    limit?: number;
};
/**
 * sso_providers.saml_providers
 */
export type sso_providers$saml_providersArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the saml_providers
     */
    select?: Prisma.saml_providersSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the saml_providers
     */
    omit?: Prisma.saml_providersOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.saml_providersInclude<ExtArgs> | null;
    where?: Prisma.saml_providersWhereInput;
    orderBy?: Prisma.saml_providersOrderByWithRelationInput | Prisma.saml_providersOrderByWithRelationInput[];
    cursor?: Prisma.saml_providersWhereUniqueInput;
    take?: number;
    skip?: number;
    distinct?: Prisma.Saml_providersScalarFieldEnum | Prisma.Saml_providersScalarFieldEnum[];
};
/**
 * sso_providers.saml_relay_states
 */
export type sso_providers$saml_relay_statesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the saml_relay_states
     */
    select?: Prisma.saml_relay_statesSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the saml_relay_states
     */
    omit?: Prisma.saml_relay_statesOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.saml_relay_statesInclude<ExtArgs> | null;
    where?: Prisma.saml_relay_statesWhereInput;
    orderBy?: Prisma.saml_relay_statesOrderByWithRelationInput | Prisma.saml_relay_statesOrderByWithRelationInput[];
    cursor?: Prisma.saml_relay_statesWhereUniqueInput;
    take?: number;
    skip?: number;
    distinct?: Prisma.Saml_relay_statesScalarFieldEnum | Prisma.Saml_relay_statesScalarFieldEnum[];
};
/**
 * sso_providers.sso_domains
 */
export type sso_providers$sso_domainsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the sso_domains
     */
    select?: Prisma.sso_domainsSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the sso_domains
     */
    omit?: Prisma.sso_domainsOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.sso_domainsInclude<ExtArgs> | null;
    where?: Prisma.sso_domainsWhereInput;
    orderBy?: Prisma.sso_domainsOrderByWithRelationInput | Prisma.sso_domainsOrderByWithRelationInput[];
    cursor?: Prisma.sso_domainsWhereUniqueInput;
    take?: number;
    skip?: number;
    distinct?: Prisma.Sso_domainsScalarFieldEnum | Prisma.Sso_domainsScalarFieldEnum[];
};
/**
 * sso_providers without action
 */
export type sso_providersDefaultArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    /**
     * Select specific fields to fetch from the sso_providers
     */
    select?: Prisma.sso_providersSelect<ExtArgs> | null;
    /**
     * Omit specific fields from the sso_providers
     */
    omit?: Prisma.sso_providersOmit<ExtArgs> | null;
    /**
     * Choose, which related nodes to fetch as well
     */
    include?: Prisma.sso_providersInclude<ExtArgs> | null;
};
export {};
