import type * as runtime from "@prisma/client/runtime/client";
import type * as $Enums from "../enums";
import type * as Prisma from "../internal/prismaNamespace";
export type HeaderSettingModel = runtime.Types.Result.DefaultSelection<Prisma.$HeaderSettingPayload>;
export type AggregateHeaderSetting = {
    _count: HeaderSettingCountAggregateOutputType | null;
    _min: HeaderSettingMinAggregateOutputType | null;
    _max: HeaderSettingMaxAggregateOutputType | null;
};
export type HeaderSettingMinAggregateOutputType = {
    id: string | null;
    code: string | null;
    description: string | null;
    status: $Enums.SettingStatus | null;
    createdAt: Date | null;
    modifiedAt: Date | null;
};
export type HeaderSettingMaxAggregateOutputType = {
    id: string | null;
    code: string | null;
    description: string | null;
    status: $Enums.SettingStatus | null;
    createdAt: Date | null;
    modifiedAt: Date | null;
};
export type HeaderSettingCountAggregateOutputType = {
    id: number;
    code: number;
    description: number;
    status: number;
    createdAt: number;
    modifiedAt: number;
    _all: number;
};
export type HeaderSettingMinAggregateInputType = {
    id?: true;
    code?: true;
    description?: true;
    status?: true;
    createdAt?: true;
    modifiedAt?: true;
};
export type HeaderSettingMaxAggregateInputType = {
    id?: true;
    code?: true;
    description?: true;
    status?: true;
    createdAt?: true;
    modifiedAt?: true;
};
export type HeaderSettingCountAggregateInputType = {
    id?: true;
    code?: true;
    description?: true;
    status?: true;
    createdAt?: true;
    modifiedAt?: true;
    _all?: true;
};
export type HeaderSettingAggregateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    where?: Prisma.HeaderSettingWhereInput;
    orderBy?: Prisma.HeaderSettingOrderByWithRelationInput | Prisma.HeaderSettingOrderByWithRelationInput[];
    cursor?: Prisma.HeaderSettingWhereUniqueInput;
    take?: number;
    skip?: number;
    _count?: true | HeaderSettingCountAggregateInputType;
    _min?: HeaderSettingMinAggregateInputType;
    _max?: HeaderSettingMaxAggregateInputType;
};
export type GetHeaderSettingAggregateType<T extends HeaderSettingAggregateArgs> = {
    [P in keyof T & keyof AggregateHeaderSetting]: P extends '_count' | 'count' ? T[P] extends true ? number : Prisma.GetScalarType<T[P], AggregateHeaderSetting[P]> : Prisma.GetScalarType<T[P], AggregateHeaderSetting[P]>;
};
export type HeaderSettingGroupByArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    where?: Prisma.HeaderSettingWhereInput;
    orderBy?: Prisma.HeaderSettingOrderByWithAggregationInput | Prisma.HeaderSettingOrderByWithAggregationInput[];
    by: Prisma.HeaderSettingScalarFieldEnum[] | Prisma.HeaderSettingScalarFieldEnum;
    having?: Prisma.HeaderSettingScalarWhereWithAggregatesInput;
    take?: number;
    skip?: number;
    _count?: HeaderSettingCountAggregateInputType | true;
    _min?: HeaderSettingMinAggregateInputType;
    _max?: HeaderSettingMaxAggregateInputType;
};
export type HeaderSettingGroupByOutputType = {
    id: string;
    code: string;
    description: string | null;
    status: $Enums.SettingStatus;
    createdAt: Date;
    modifiedAt: Date;
    _count: HeaderSettingCountAggregateOutputType | null;
    _min: HeaderSettingMinAggregateOutputType | null;
    _max: HeaderSettingMaxAggregateOutputType | null;
};
type GetHeaderSettingGroupByPayload<T extends HeaderSettingGroupByArgs> = Prisma.PrismaPromise<Array<Prisma.PickEnumerable<HeaderSettingGroupByOutputType, T['by']> & {
    [P in ((keyof T) & (keyof HeaderSettingGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : Prisma.GetScalarType<T[P], HeaderSettingGroupByOutputType[P]> : Prisma.GetScalarType<T[P], HeaderSettingGroupByOutputType[P]>;
}>>;
export type HeaderSettingWhereInput = {
    AND?: Prisma.HeaderSettingWhereInput | Prisma.HeaderSettingWhereInput[];
    OR?: Prisma.HeaderSettingWhereInput[];
    NOT?: Prisma.HeaderSettingWhereInput | Prisma.HeaderSettingWhereInput[];
    id?: Prisma.StringFilter<"HeaderSetting"> | string;
    code?: Prisma.StringFilter<"HeaderSetting"> | string;
    description?: Prisma.StringNullableFilter<"HeaderSetting"> | string | null;
    status?: Prisma.EnumSettingStatusFilter<"HeaderSetting"> | $Enums.SettingStatus;
    createdAt?: Prisma.DateTimeFilter<"HeaderSetting"> | Date | string;
    modifiedAt?: Prisma.DateTimeFilter<"HeaderSetting"> | Date | string;
    details?: Prisma.DetailSettingListRelationFilter;
};
export type HeaderSettingOrderByWithRelationInput = {
    id?: Prisma.SortOrder;
    code?: Prisma.SortOrder;
    description?: Prisma.SortOrderInput | Prisma.SortOrder;
    status?: Prisma.SortOrder;
    createdAt?: Prisma.SortOrder;
    modifiedAt?: Prisma.SortOrder;
    details?: Prisma.DetailSettingOrderByRelationAggregateInput;
};
export type HeaderSettingWhereUniqueInput = Prisma.AtLeast<{
    id?: string;
    code?: string;
    AND?: Prisma.HeaderSettingWhereInput | Prisma.HeaderSettingWhereInput[];
    OR?: Prisma.HeaderSettingWhereInput[];
    NOT?: Prisma.HeaderSettingWhereInput | Prisma.HeaderSettingWhereInput[];
    description?: Prisma.StringNullableFilter<"HeaderSetting"> | string | null;
    status?: Prisma.EnumSettingStatusFilter<"HeaderSetting"> | $Enums.SettingStatus;
    createdAt?: Prisma.DateTimeFilter<"HeaderSetting"> | Date | string;
    modifiedAt?: Prisma.DateTimeFilter<"HeaderSetting"> | Date | string;
    details?: Prisma.DetailSettingListRelationFilter;
}, "id" | "code">;
export type HeaderSettingOrderByWithAggregationInput = {
    id?: Prisma.SortOrder;
    code?: Prisma.SortOrder;
    description?: Prisma.SortOrderInput | Prisma.SortOrder;
    status?: Prisma.SortOrder;
    createdAt?: Prisma.SortOrder;
    modifiedAt?: Prisma.SortOrder;
    _count?: Prisma.HeaderSettingCountOrderByAggregateInput;
    _max?: Prisma.HeaderSettingMaxOrderByAggregateInput;
    _min?: Prisma.HeaderSettingMinOrderByAggregateInput;
};
export type HeaderSettingScalarWhereWithAggregatesInput = {
    AND?: Prisma.HeaderSettingScalarWhereWithAggregatesInput | Prisma.HeaderSettingScalarWhereWithAggregatesInput[];
    OR?: Prisma.HeaderSettingScalarWhereWithAggregatesInput[];
    NOT?: Prisma.HeaderSettingScalarWhereWithAggregatesInput | Prisma.HeaderSettingScalarWhereWithAggregatesInput[];
    id?: Prisma.StringWithAggregatesFilter<"HeaderSetting"> | string;
    code?: Prisma.StringWithAggregatesFilter<"HeaderSetting"> | string;
    description?: Prisma.StringNullableWithAggregatesFilter<"HeaderSetting"> | string | null;
    status?: Prisma.EnumSettingStatusWithAggregatesFilter<"HeaderSetting"> | $Enums.SettingStatus;
    createdAt?: Prisma.DateTimeWithAggregatesFilter<"HeaderSetting"> | Date | string;
    modifiedAt?: Prisma.DateTimeWithAggregatesFilter<"HeaderSetting"> | Date | string;
};
export type HeaderSettingCreateInput = {
    id?: string;
    code: string;
    description?: string | null;
    status?: $Enums.SettingStatus;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    details?: Prisma.DetailSettingCreateNestedManyWithoutHeaderInput;
};
export type HeaderSettingUncheckedCreateInput = {
    id?: string;
    code: string;
    description?: string | null;
    status?: $Enums.SettingStatus;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
    details?: Prisma.DetailSettingUncheckedCreateNestedManyWithoutHeaderInput;
};
export type HeaderSettingUpdateInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    code?: Prisma.StringFieldUpdateOperationsInput | string;
    description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    status?: Prisma.EnumSettingStatusFieldUpdateOperationsInput | $Enums.SettingStatus;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    details?: Prisma.DetailSettingUpdateManyWithoutHeaderNestedInput;
};
export type HeaderSettingUncheckedUpdateInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    code?: Prisma.StringFieldUpdateOperationsInput | string;
    description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    status?: Prisma.EnumSettingStatusFieldUpdateOperationsInput | $Enums.SettingStatus;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    details?: Prisma.DetailSettingUncheckedUpdateManyWithoutHeaderNestedInput;
};
export type HeaderSettingCreateManyInput = {
    id?: string;
    code: string;
    description?: string | null;
    status?: $Enums.SettingStatus;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
};
export type HeaderSettingUpdateManyMutationInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    code?: Prisma.StringFieldUpdateOperationsInput | string;
    description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    status?: Prisma.EnumSettingStatusFieldUpdateOperationsInput | $Enums.SettingStatus;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
};
export type HeaderSettingUncheckedUpdateManyInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    code?: Prisma.StringFieldUpdateOperationsInput | string;
    description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    status?: Prisma.EnumSettingStatusFieldUpdateOperationsInput | $Enums.SettingStatus;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
};
export type HeaderSettingCountOrderByAggregateInput = {
    id?: Prisma.SortOrder;
    code?: Prisma.SortOrder;
    description?: Prisma.SortOrder;
    status?: Prisma.SortOrder;
    createdAt?: Prisma.SortOrder;
    modifiedAt?: Prisma.SortOrder;
};
export type HeaderSettingMaxOrderByAggregateInput = {
    id?: Prisma.SortOrder;
    code?: Prisma.SortOrder;
    description?: Prisma.SortOrder;
    status?: Prisma.SortOrder;
    createdAt?: Prisma.SortOrder;
    modifiedAt?: Prisma.SortOrder;
};
export type HeaderSettingMinOrderByAggregateInput = {
    id?: Prisma.SortOrder;
    code?: Prisma.SortOrder;
    description?: Prisma.SortOrder;
    status?: Prisma.SortOrder;
    createdAt?: Prisma.SortOrder;
    modifiedAt?: Prisma.SortOrder;
};
export type HeaderSettingScalarRelationFilter = {
    is?: Prisma.HeaderSettingWhereInput;
    isNot?: Prisma.HeaderSettingWhereInput;
};
export type EnumSettingStatusFieldUpdateOperationsInput = {
    set?: $Enums.SettingStatus;
};
export type HeaderSettingCreateNestedOneWithoutDetailsInput = {
    create?: Prisma.XOR<Prisma.HeaderSettingCreateWithoutDetailsInput, Prisma.HeaderSettingUncheckedCreateWithoutDetailsInput>;
    connectOrCreate?: Prisma.HeaderSettingCreateOrConnectWithoutDetailsInput;
    connect?: Prisma.HeaderSettingWhereUniqueInput;
};
export type HeaderSettingUpdateOneRequiredWithoutDetailsNestedInput = {
    create?: Prisma.XOR<Prisma.HeaderSettingCreateWithoutDetailsInput, Prisma.HeaderSettingUncheckedCreateWithoutDetailsInput>;
    connectOrCreate?: Prisma.HeaderSettingCreateOrConnectWithoutDetailsInput;
    upsert?: Prisma.HeaderSettingUpsertWithoutDetailsInput;
    connect?: Prisma.HeaderSettingWhereUniqueInput;
    update?: Prisma.XOR<Prisma.XOR<Prisma.HeaderSettingUpdateToOneWithWhereWithoutDetailsInput, Prisma.HeaderSettingUpdateWithoutDetailsInput>, Prisma.HeaderSettingUncheckedUpdateWithoutDetailsInput>;
};
export type HeaderSettingCreateWithoutDetailsInput = {
    id?: string;
    code: string;
    description?: string | null;
    status?: $Enums.SettingStatus;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
};
export type HeaderSettingUncheckedCreateWithoutDetailsInput = {
    id?: string;
    code: string;
    description?: string | null;
    status?: $Enums.SettingStatus;
    createdAt?: Date | string;
    modifiedAt?: Date | string;
};
export type HeaderSettingCreateOrConnectWithoutDetailsInput = {
    where: Prisma.HeaderSettingWhereUniqueInput;
    create: Prisma.XOR<Prisma.HeaderSettingCreateWithoutDetailsInput, Prisma.HeaderSettingUncheckedCreateWithoutDetailsInput>;
};
export type HeaderSettingUpsertWithoutDetailsInput = {
    update: Prisma.XOR<Prisma.HeaderSettingUpdateWithoutDetailsInput, Prisma.HeaderSettingUncheckedUpdateWithoutDetailsInput>;
    create: Prisma.XOR<Prisma.HeaderSettingCreateWithoutDetailsInput, Prisma.HeaderSettingUncheckedCreateWithoutDetailsInput>;
    where?: Prisma.HeaderSettingWhereInput;
};
export type HeaderSettingUpdateToOneWithWhereWithoutDetailsInput = {
    where?: Prisma.HeaderSettingWhereInput;
    data: Prisma.XOR<Prisma.HeaderSettingUpdateWithoutDetailsInput, Prisma.HeaderSettingUncheckedUpdateWithoutDetailsInput>;
};
export type HeaderSettingUpdateWithoutDetailsInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    code?: Prisma.StringFieldUpdateOperationsInput | string;
    description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    status?: Prisma.EnumSettingStatusFieldUpdateOperationsInput | $Enums.SettingStatus;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
};
export type HeaderSettingUncheckedUpdateWithoutDetailsInput = {
    id?: Prisma.StringFieldUpdateOperationsInput | string;
    code?: Prisma.StringFieldUpdateOperationsInput | string;
    description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
    status?: Prisma.EnumSettingStatusFieldUpdateOperationsInput | $Enums.SettingStatus;
    createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
    modifiedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
};
export type HeaderSettingCountOutputType = {
    details: number;
};
export type HeaderSettingCountOutputTypeSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    details?: boolean | HeaderSettingCountOutputTypeCountDetailsArgs;
};
export type HeaderSettingCountOutputTypeDefaultArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.HeaderSettingCountOutputTypeSelect<ExtArgs> | null;
};
export type HeaderSettingCountOutputTypeCountDetailsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    where?: Prisma.DetailSettingWhereInput;
};
export type HeaderSettingSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
    id?: boolean;
    code?: boolean;
    description?: boolean;
    status?: boolean;
    createdAt?: boolean;
    modifiedAt?: boolean;
    details?: boolean | Prisma.HeaderSetting$detailsArgs<ExtArgs>;
    _count?: boolean | Prisma.HeaderSettingCountOutputTypeDefaultArgs<ExtArgs>;
}, ExtArgs["result"]["headerSetting"]>;
export type HeaderSettingSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
    id?: boolean;
    code?: boolean;
    description?: boolean;
    status?: boolean;
    createdAt?: boolean;
    modifiedAt?: boolean;
}, ExtArgs["result"]["headerSetting"]>;
export type HeaderSettingSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
    id?: boolean;
    code?: boolean;
    description?: boolean;
    status?: boolean;
    createdAt?: boolean;
    modifiedAt?: boolean;
}, ExtArgs["result"]["headerSetting"]>;
export type HeaderSettingSelectScalar = {
    id?: boolean;
    code?: boolean;
    description?: boolean;
    status?: boolean;
    createdAt?: boolean;
    modifiedAt?: boolean;
};
export type HeaderSettingOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "code" | "description" | "status" | "createdAt" | "modifiedAt", ExtArgs["result"]["headerSetting"]>;
export type HeaderSettingInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    details?: boolean | Prisma.HeaderSetting$detailsArgs<ExtArgs>;
    _count?: boolean | Prisma.HeaderSettingCountOutputTypeDefaultArgs<ExtArgs>;
};
export type HeaderSettingIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {};
export type HeaderSettingIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {};
export type $HeaderSettingPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    name: "HeaderSetting";
    objects: {
        details: Prisma.$DetailSettingPayload<ExtArgs>[];
    };
    scalars: runtime.Types.Extensions.GetPayloadResult<{
        id: string;
        code: string;
        description: string | null;
        status: $Enums.SettingStatus;
        createdAt: Date;
        modifiedAt: Date;
    }, ExtArgs["result"]["headerSetting"]>;
    composites: {};
};
export type HeaderSettingGetPayload<S extends boolean | null | undefined | HeaderSettingDefaultArgs> = runtime.Types.Result.GetResult<Prisma.$HeaderSettingPayload, S>;
export type HeaderSettingCountArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = Omit<HeaderSettingFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
    select?: HeaderSettingCountAggregateInputType | true;
};
export interface HeaderSettingDelegate<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> {
    [K: symbol]: {
        types: Prisma.TypeMap<ExtArgs>['model']['HeaderSetting'];
        meta: {
            name: 'HeaderSetting';
        };
    };
    findUnique<T extends HeaderSettingFindUniqueArgs>(args: Prisma.SelectSubset<T, HeaderSettingFindUniqueArgs<ExtArgs>>): Prisma.Prisma__HeaderSettingClient<runtime.Types.Result.GetResult<Prisma.$HeaderSettingPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>;
    findUniqueOrThrow<T extends HeaderSettingFindUniqueOrThrowArgs>(args: Prisma.SelectSubset<T, HeaderSettingFindUniqueOrThrowArgs<ExtArgs>>): Prisma.Prisma__HeaderSettingClient<runtime.Types.Result.GetResult<Prisma.$HeaderSettingPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    findFirst<T extends HeaderSettingFindFirstArgs>(args?: Prisma.SelectSubset<T, HeaderSettingFindFirstArgs<ExtArgs>>): Prisma.Prisma__HeaderSettingClient<runtime.Types.Result.GetResult<Prisma.$HeaderSettingPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>;
    findFirstOrThrow<T extends HeaderSettingFindFirstOrThrowArgs>(args?: Prisma.SelectSubset<T, HeaderSettingFindFirstOrThrowArgs<ExtArgs>>): Prisma.Prisma__HeaderSettingClient<runtime.Types.Result.GetResult<Prisma.$HeaderSettingPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    findMany<T extends HeaderSettingFindManyArgs>(args?: Prisma.SelectSubset<T, HeaderSettingFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$HeaderSettingPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>;
    create<T extends HeaderSettingCreateArgs>(args: Prisma.SelectSubset<T, HeaderSettingCreateArgs<ExtArgs>>): Prisma.Prisma__HeaderSettingClient<runtime.Types.Result.GetResult<Prisma.$HeaderSettingPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    createMany<T extends HeaderSettingCreateManyArgs>(args?: Prisma.SelectSubset<T, HeaderSettingCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>;
    createManyAndReturn<T extends HeaderSettingCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, HeaderSettingCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$HeaderSettingPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>;
    delete<T extends HeaderSettingDeleteArgs>(args: Prisma.SelectSubset<T, HeaderSettingDeleteArgs<ExtArgs>>): Prisma.Prisma__HeaderSettingClient<runtime.Types.Result.GetResult<Prisma.$HeaderSettingPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    update<T extends HeaderSettingUpdateArgs>(args: Prisma.SelectSubset<T, HeaderSettingUpdateArgs<ExtArgs>>): Prisma.Prisma__HeaderSettingClient<runtime.Types.Result.GetResult<Prisma.$HeaderSettingPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    deleteMany<T extends HeaderSettingDeleteManyArgs>(args?: Prisma.SelectSubset<T, HeaderSettingDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>;
    updateMany<T extends HeaderSettingUpdateManyArgs>(args: Prisma.SelectSubset<T, HeaderSettingUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>;
    updateManyAndReturn<T extends HeaderSettingUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, HeaderSettingUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$HeaderSettingPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>;
    upsert<T extends HeaderSettingUpsertArgs>(args: Prisma.SelectSubset<T, HeaderSettingUpsertArgs<ExtArgs>>): Prisma.Prisma__HeaderSettingClient<runtime.Types.Result.GetResult<Prisma.$HeaderSettingPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
    count<T extends HeaderSettingCountArgs>(args?: Prisma.Subset<T, HeaderSettingCountArgs>): Prisma.PrismaPromise<T extends runtime.Types.Utils.Record<'select', any> ? T['select'] extends true ? number : Prisma.GetScalarType<T['select'], HeaderSettingCountAggregateOutputType> : number>;
    aggregate<T extends HeaderSettingAggregateArgs>(args: Prisma.Subset<T, HeaderSettingAggregateArgs>): Prisma.PrismaPromise<GetHeaderSettingAggregateType<T>>;
    groupBy<T extends HeaderSettingGroupByArgs, HasSelectOrTake extends Prisma.Or<Prisma.Extends<'skip', Prisma.Keys<T>>, Prisma.Extends<'take', Prisma.Keys<T>>>, OrderByArg extends Prisma.True extends HasSelectOrTake ? {
        orderBy: HeaderSettingGroupByArgs['orderBy'];
    } : {
        orderBy?: HeaderSettingGroupByArgs['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, HeaderSettingGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetHeaderSettingGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>;
    readonly fields: HeaderSettingFieldRefs;
}
export interface Prisma__HeaderSettingClient<T, Null = never, ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
    readonly [Symbol.toStringTag]: "PrismaPromise";
    details<T extends Prisma.HeaderSetting$detailsArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.HeaderSetting$detailsArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$DetailSettingPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>;
    then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): runtime.Types.Utils.JsPromise<TResult1 | TResult2>;
    catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): runtime.Types.Utils.JsPromise<T | TResult>;
    finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise<T>;
}
export interface HeaderSettingFieldRefs {
    readonly id: Prisma.FieldRef<"HeaderSetting", 'String'>;
    readonly code: Prisma.FieldRef<"HeaderSetting", 'String'>;
    readonly description: Prisma.FieldRef<"HeaderSetting", 'String'>;
    readonly status: Prisma.FieldRef<"HeaderSetting", 'SettingStatus'>;
    readonly createdAt: Prisma.FieldRef<"HeaderSetting", 'DateTime'>;
    readonly modifiedAt: Prisma.FieldRef<"HeaderSetting", 'DateTime'>;
}
export type HeaderSettingFindUniqueArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.HeaderSettingSelect<ExtArgs> | null;
    omit?: Prisma.HeaderSettingOmit<ExtArgs> | null;
    include?: Prisma.HeaderSettingInclude<ExtArgs> | null;
    where: Prisma.HeaderSettingWhereUniqueInput;
};
export type HeaderSettingFindUniqueOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.HeaderSettingSelect<ExtArgs> | null;
    omit?: Prisma.HeaderSettingOmit<ExtArgs> | null;
    include?: Prisma.HeaderSettingInclude<ExtArgs> | null;
    where: Prisma.HeaderSettingWhereUniqueInput;
};
export type HeaderSettingFindFirstArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.HeaderSettingSelect<ExtArgs> | null;
    omit?: Prisma.HeaderSettingOmit<ExtArgs> | null;
    include?: Prisma.HeaderSettingInclude<ExtArgs> | null;
    where?: Prisma.HeaderSettingWhereInput;
    orderBy?: Prisma.HeaderSettingOrderByWithRelationInput | Prisma.HeaderSettingOrderByWithRelationInput[];
    cursor?: Prisma.HeaderSettingWhereUniqueInput;
    take?: number;
    skip?: number;
    distinct?: Prisma.HeaderSettingScalarFieldEnum | Prisma.HeaderSettingScalarFieldEnum[];
};
export type HeaderSettingFindFirstOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.HeaderSettingSelect<ExtArgs> | null;
    omit?: Prisma.HeaderSettingOmit<ExtArgs> | null;
    include?: Prisma.HeaderSettingInclude<ExtArgs> | null;
    where?: Prisma.HeaderSettingWhereInput;
    orderBy?: Prisma.HeaderSettingOrderByWithRelationInput | Prisma.HeaderSettingOrderByWithRelationInput[];
    cursor?: Prisma.HeaderSettingWhereUniqueInput;
    take?: number;
    skip?: number;
    distinct?: Prisma.HeaderSettingScalarFieldEnum | Prisma.HeaderSettingScalarFieldEnum[];
};
export type HeaderSettingFindManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.HeaderSettingSelect<ExtArgs> | null;
    omit?: Prisma.HeaderSettingOmit<ExtArgs> | null;
    include?: Prisma.HeaderSettingInclude<ExtArgs> | null;
    where?: Prisma.HeaderSettingWhereInput;
    orderBy?: Prisma.HeaderSettingOrderByWithRelationInput | Prisma.HeaderSettingOrderByWithRelationInput[];
    cursor?: Prisma.HeaderSettingWhereUniqueInput;
    take?: number;
    skip?: number;
    distinct?: Prisma.HeaderSettingScalarFieldEnum | Prisma.HeaderSettingScalarFieldEnum[];
};
export type HeaderSettingCreateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.HeaderSettingSelect<ExtArgs> | null;
    omit?: Prisma.HeaderSettingOmit<ExtArgs> | null;
    include?: Prisma.HeaderSettingInclude<ExtArgs> | null;
    data: Prisma.XOR<Prisma.HeaderSettingCreateInput, Prisma.HeaderSettingUncheckedCreateInput>;
};
export type HeaderSettingCreateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    data: Prisma.HeaderSettingCreateManyInput | Prisma.HeaderSettingCreateManyInput[];
    skipDuplicates?: boolean;
};
export type HeaderSettingCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.HeaderSettingSelectCreateManyAndReturn<ExtArgs> | null;
    omit?: Prisma.HeaderSettingOmit<ExtArgs> | null;
    data: Prisma.HeaderSettingCreateManyInput | Prisma.HeaderSettingCreateManyInput[];
    skipDuplicates?: boolean;
};
export type HeaderSettingUpdateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.HeaderSettingSelect<ExtArgs> | null;
    omit?: Prisma.HeaderSettingOmit<ExtArgs> | null;
    include?: Prisma.HeaderSettingInclude<ExtArgs> | null;
    data: Prisma.XOR<Prisma.HeaderSettingUpdateInput, Prisma.HeaderSettingUncheckedUpdateInput>;
    where: Prisma.HeaderSettingWhereUniqueInput;
};
export type HeaderSettingUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    data: Prisma.XOR<Prisma.HeaderSettingUpdateManyMutationInput, Prisma.HeaderSettingUncheckedUpdateManyInput>;
    where?: Prisma.HeaderSettingWhereInput;
    limit?: number;
};
export type HeaderSettingUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.HeaderSettingSelectUpdateManyAndReturn<ExtArgs> | null;
    omit?: Prisma.HeaderSettingOmit<ExtArgs> | null;
    data: Prisma.XOR<Prisma.HeaderSettingUpdateManyMutationInput, Prisma.HeaderSettingUncheckedUpdateManyInput>;
    where?: Prisma.HeaderSettingWhereInput;
    limit?: number;
};
export type HeaderSettingUpsertArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.HeaderSettingSelect<ExtArgs> | null;
    omit?: Prisma.HeaderSettingOmit<ExtArgs> | null;
    include?: Prisma.HeaderSettingInclude<ExtArgs> | null;
    where: Prisma.HeaderSettingWhereUniqueInput;
    create: Prisma.XOR<Prisma.HeaderSettingCreateInput, Prisma.HeaderSettingUncheckedCreateInput>;
    update: Prisma.XOR<Prisma.HeaderSettingUpdateInput, Prisma.HeaderSettingUncheckedUpdateInput>;
};
export type HeaderSettingDeleteArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.HeaderSettingSelect<ExtArgs> | null;
    omit?: Prisma.HeaderSettingOmit<ExtArgs> | null;
    include?: Prisma.HeaderSettingInclude<ExtArgs> | null;
    where: Prisma.HeaderSettingWhereUniqueInput;
};
export type HeaderSettingDeleteManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    where?: Prisma.HeaderSettingWhereInput;
    limit?: number;
};
export type HeaderSetting$detailsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.DetailSettingSelect<ExtArgs> | null;
    omit?: Prisma.DetailSettingOmit<ExtArgs> | null;
    include?: Prisma.DetailSettingInclude<ExtArgs> | null;
    where?: Prisma.DetailSettingWhereInput;
    orderBy?: Prisma.DetailSettingOrderByWithRelationInput | Prisma.DetailSettingOrderByWithRelationInput[];
    cursor?: Prisma.DetailSettingWhereUniqueInput;
    take?: number;
    skip?: number;
    distinct?: Prisma.DetailSettingScalarFieldEnum | Prisma.DetailSettingScalarFieldEnum[];
};
export type HeaderSettingDefaultArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
    select?: Prisma.HeaderSettingSelect<ExtArgs> | null;
    omit?: Prisma.HeaderSettingOmit<ExtArgs> | null;
    include?: Prisma.HeaderSettingInclude<ExtArgs> | null;
};
export {};
