import * as runtime from "@prisma/client/runtime/client";
import type * as Prisma from "../models";
import { type PrismaClient } from "./class";
export type * from '../models';
export type DMMF = typeof runtime.DMMF;
export type PrismaPromise<T> = runtime.Types.Public.PrismaPromise<T>;
export declare const PrismaClientKnownRequestError: typeof runtime.PrismaClientKnownRequestError;
export type PrismaClientKnownRequestError = runtime.PrismaClientKnownRequestError;
export declare const PrismaClientUnknownRequestError: typeof runtime.PrismaClientUnknownRequestError;
export type PrismaClientUnknownRequestError = runtime.PrismaClientUnknownRequestError;
export declare const PrismaClientRustPanicError: typeof runtime.PrismaClientRustPanicError;
export type PrismaClientRustPanicError = runtime.PrismaClientRustPanicError;
export declare const PrismaClientInitializationError: typeof runtime.PrismaClientInitializationError;
export type PrismaClientInitializationError = runtime.PrismaClientInitializationError;
export declare const PrismaClientValidationError: typeof runtime.PrismaClientValidationError;
export type PrismaClientValidationError = runtime.PrismaClientValidationError;
export declare const sql: typeof runtime.sqltag;
export declare const empty: runtime.Sql;
export declare const join: typeof runtime.join;
export declare const raw: typeof runtime.raw;
export declare const Sql: typeof runtime.Sql;
export type Sql = runtime.Sql;
export declare const Decimal: typeof runtime.Decimal;
export type Decimal = runtime.Decimal;
export type DecimalJsLike = runtime.DecimalJsLike;
export type Extension = runtime.Types.Extensions.UserArgs;
export declare const getExtensionContext: typeof runtime.Extensions.getExtensionContext;
export type Args<T, F extends runtime.Operation> = runtime.Types.Public.Args<T, F>;
export type Payload<T, F extends runtime.Operation = never> = runtime.Types.Public.Payload<T, F>;
export type Result<T, A, F extends runtime.Operation> = runtime.Types.Public.Result<T, A, F>;
export type Exact<A, W> = runtime.Types.Public.Exact<A, W>;
export type PrismaVersion = {
    client: string;
    engine: string;
};
export declare const prismaVersion: PrismaVersion;
export type Bytes = runtime.Bytes;
export type JsonObject = runtime.JsonObject;
export type JsonArray = runtime.JsonArray;
export type JsonValue = runtime.JsonValue;
export type InputJsonObject = runtime.InputJsonObject;
export type InputJsonArray = runtime.InputJsonArray;
export type InputJsonValue = runtime.InputJsonValue;
export declare const NullTypes: {
    DbNull: (new (secret: never) => typeof runtime.DbNull);
    JsonNull: (new (secret: never) => typeof runtime.JsonNull);
    AnyNull: (new (secret: never) => typeof runtime.AnyNull);
};
export declare const DbNull: runtime.DbNullClass;
export declare const JsonNull: runtime.JsonNullClass;
export declare const AnyNull: runtime.AnyNullClass;
type SelectAndInclude = {
    select: any;
    include: any;
};
type SelectAndOmit = {
    select: any;
    omit: any;
};
type Prisma__Pick<T, K extends keyof T> = {
    [P in K]: T[P];
};
export type Enumerable<T> = T | Array<T>;
export type Subset<T, U> = {
    [key in keyof T]: key extends keyof U ? T[key] : never;
};
export type SelectSubset<T, U> = {
    [key in keyof T]: key extends keyof U ? T[key] : never;
} & (T extends SelectAndInclude ? 'Please either choose `select` or `include`.' : T extends SelectAndOmit ? 'Please either choose `select` or `omit`.' : {});
export type SubsetIntersection<T, U, K> = {
    [key in keyof T]: key extends keyof U ? T[key] : never;
} & K;
type Without<T, U> = {
    [P in Exclude<keyof T, keyof U>]?: never;
};
export type XOR<T, U> = T extends object ? U extends object ? (Without<T, U> & U) | (Without<U, T> & T) : U : T;
type IsObject<T extends any> = T extends Array<any> ? False : T extends Date ? False : T extends Uint8Array ? False : T extends BigInt ? False : T extends object ? True : False;
export type UnEnumerate<T extends unknown> = T extends Array<infer U> ? U : T;
type __Either<O extends object, K extends Key> = Omit<O, K> & {
    [P in K]: Prisma__Pick<O, P & keyof O>;
}[K];
type EitherStrict<O extends object, K extends Key> = Strict<__Either<O, K>>;
type EitherLoose<O extends object, K extends Key> = ComputeRaw<__Either<O, K>>;
type _Either<O extends object, K extends Key, strict extends Boolean> = {
    1: EitherStrict<O, K>;
    0: EitherLoose<O, K>;
}[strict];
export type Either<O extends object, K extends Key, strict extends Boolean = 1> = O extends unknown ? _Either<O, K, strict> : never;
export type Union = any;
export type PatchUndefined<O extends object, O1 extends object> = {
    [K in keyof O]: O[K] extends undefined ? At<O1, K> : O[K];
} & {};
export type IntersectOf<U extends Union> = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
export type Overwrite<O extends object, O1 extends object> = {
    [K in keyof O]: K extends keyof O1 ? O1[K] : O[K];
} & {};
type _Merge<U extends object> = IntersectOf<Overwrite<U, {
    [K in keyof U]-?: At<U, K>;
}>>;
type Key = string | number | symbol;
type AtStrict<O extends object, K extends Key> = O[K & keyof O];
type AtLoose<O extends object, K extends Key> = O extends unknown ? AtStrict<O, K> : never;
export type At<O extends object, K extends Key, strict extends Boolean = 1> = {
    1: AtStrict<O, K>;
    0: AtLoose<O, K>;
}[strict];
export type ComputeRaw<A extends any> = A extends Function ? A : {
    [K in keyof A]: A[K];
} & {};
export type OptionalFlat<O> = {
    [K in keyof O]?: O[K];
} & {};
type _Record<K extends keyof any, T> = {
    [P in K]: T;
};
type NoExpand<T> = T extends unknown ? T : never;
export type AtLeast<O extends object, K extends string> = NoExpand<O extends unknown ? (K extends keyof O ? {
    [P in K]: O[P];
} & O : O) | {
    [P in keyof O as P extends K ? P : never]-?: O[P];
} & O : never>;
type _Strict<U, _U = U> = U extends unknown ? U & OptionalFlat<_Record<Exclude<Keys<_U>, keyof U>, never>> : never;
export type Strict<U extends object> = ComputeRaw<_Strict<U>>;
export type Merge<U extends object> = ComputeRaw<_Merge<Strict<U>>>;
export type Boolean = True | False;
export type True = 1;
export type False = 0;
export type Not<B extends Boolean> = {
    0: 1;
    1: 0;
}[B];
export type Extends<A1 extends any, A2 extends any> = [A1] extends [never] ? 0 : A1 extends A2 ? 1 : 0;
export type Has<U extends Union, U1 extends Union> = Not<Extends<Exclude<U1, U>, U1>>;
export type Or<B1 extends Boolean, B2 extends Boolean> = {
    0: {
        0: 0;
        1: 1;
    };
    1: {
        0: 1;
        1: 1;
    };
}[B1][B2];
export type Keys<U extends Union> = U extends unknown ? keyof U : never;
export type GetScalarType<T, O> = O extends object ? {
    [P in keyof T]: P extends keyof O ? O[P] : never;
} : never;
type FieldPaths<T, U = Omit<T, '_avg' | '_sum' | '_count' | '_min' | '_max'>> = IsObject<T> extends True ? U : T;
export type GetHavingFields<T> = {
    [K in keyof T]: Or<Or<Extends<'OR', K>, Extends<'AND', K>>, Extends<'NOT', K>> extends True ? T[K] extends infer TK ? GetHavingFields<UnEnumerate<TK> extends object ? Merge<UnEnumerate<TK>> : never> : never : {} extends FieldPaths<T[K]> ? never : K;
}[keyof T];
type _TupleToUnion<T> = T extends (infer E)[] ? E : never;
type TupleToUnion<K extends readonly any[]> = _TupleToUnion<K>;
export type MaybeTupleToUnion<T> = T extends any[] ? TupleToUnion<T> : T;
export type PickEnumerable<T, K extends Enumerable<keyof T> | keyof T> = Prisma__Pick<T, MaybeTupleToUnion<K>>;
export type ExcludeUnderscoreKeys<T extends string> = T extends `_${string}` ? never : T;
export type FieldRef<Model, FieldType> = runtime.FieldRef<Model, FieldType>;
type FieldRefInputType<Model, FieldType> = Model extends never ? never : FieldRef<Model, FieldType>;
export declare const ModelName: {
    readonly User: "User";
    readonly Role: "Role";
    readonly Branch: "Branch";
    readonly UserBranch: "UserBranch";
    readonly HeaderSetting: "HeaderSetting";
    readonly DetailSetting: "DetailSetting";
    readonly Bank: "Bank";
    readonly Customer: "Customer";
    readonly Transaction: "Transaction";
    readonly TransactionItem: "TransactionItem";
    readonly TempPhoto: "TempPhoto";
    readonly TransactionItemPhoto: "TransactionItemPhoto";
    readonly ItemType: "ItemType";
    readonly PricingHeader: "PricingHeader";
    readonly PricingDetail: "PricingDetail";
    readonly TransactionItemDoc: "TransactionItemDoc";
    readonly TransactionDoc: "TransactionDoc";
    readonly Approval: "Approval";
    readonly Payment: "Payment";
    readonly TransactionSnapshot: "TransactionSnapshot";
    readonly Note: "Note";
    readonly TxnRunum: "TxnRunum";
    readonly AuditLog: "AuditLog";
};
export type ModelName = (typeof ModelName)[keyof typeof ModelName];
export interface TypeMapCb<GlobalOmitOptions = {}> extends runtime.Types.Utils.Fn<{
    extArgs: runtime.Types.Extensions.InternalArgs;
}, runtime.Types.Utils.Record<string, any>> {
    returns: TypeMap<this['params']['extArgs'], GlobalOmitOptions>;
}
export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> = {
    globalOmitOptions: {
        omit: GlobalOmitOptions;
    };
    meta: {
        modelProps: "user" | "role" | "branch" | "userBranch" | "headerSetting" | "detailSetting" | "bank" | "customer" | "transaction" | "transactionItem" | "tempPhoto" | "transactionItemPhoto" | "itemType" | "pricingHeader" | "pricingDetail" | "transactionItemDoc" | "transactionDoc" | "approval" | "payment" | "transactionSnapshot" | "note" | "txnRunum" | "auditLog";
        txIsolationLevel: TransactionIsolationLevel;
    };
    model: {
        User: {
            payload: Prisma.$UserPayload<ExtArgs>;
            fields: Prisma.UserFieldRefs;
            operations: {
                findUnique: {
                    args: Prisma.UserFindUniqueArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload> | null;
                };
                findUniqueOrThrow: {
                    args: Prisma.UserFindUniqueOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>;
                };
                findFirst: {
                    args: Prisma.UserFindFirstArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload> | null;
                };
                findFirstOrThrow: {
                    args: Prisma.UserFindFirstOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>;
                };
                findMany: {
                    args: Prisma.UserFindManyArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>[];
                };
                create: {
                    args: Prisma.UserCreateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>;
                };
                createMany: {
                    args: Prisma.UserCreateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                createManyAndReturn: {
                    args: Prisma.UserCreateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>[];
                };
                delete: {
                    args: Prisma.UserDeleteArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>;
                };
                update: {
                    args: Prisma.UserUpdateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>;
                };
                deleteMany: {
                    args: Prisma.UserDeleteManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateMany: {
                    args: Prisma.UserUpdateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateManyAndReturn: {
                    args: Prisma.UserUpdateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>[];
                };
                upsert: {
                    args: Prisma.UserUpsertArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>;
                };
                aggregate: {
                    args: Prisma.UserAggregateArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.AggregateUser>;
                };
                groupBy: {
                    args: Prisma.UserGroupByArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.UserGroupByOutputType>[];
                };
                count: {
                    args: Prisma.UserCountArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.UserCountAggregateOutputType> | number;
                };
            };
        };
        Role: {
            payload: Prisma.$RolePayload<ExtArgs>;
            fields: Prisma.RoleFieldRefs;
            operations: {
                findUnique: {
                    args: Prisma.RoleFindUniqueArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$RolePayload> | null;
                };
                findUniqueOrThrow: {
                    args: Prisma.RoleFindUniqueOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$RolePayload>;
                };
                findFirst: {
                    args: Prisma.RoleFindFirstArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$RolePayload> | null;
                };
                findFirstOrThrow: {
                    args: Prisma.RoleFindFirstOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$RolePayload>;
                };
                findMany: {
                    args: Prisma.RoleFindManyArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$RolePayload>[];
                };
                create: {
                    args: Prisma.RoleCreateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$RolePayload>;
                };
                createMany: {
                    args: Prisma.RoleCreateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                createManyAndReturn: {
                    args: Prisma.RoleCreateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$RolePayload>[];
                };
                delete: {
                    args: Prisma.RoleDeleteArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$RolePayload>;
                };
                update: {
                    args: Prisma.RoleUpdateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$RolePayload>;
                };
                deleteMany: {
                    args: Prisma.RoleDeleteManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateMany: {
                    args: Prisma.RoleUpdateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateManyAndReturn: {
                    args: Prisma.RoleUpdateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$RolePayload>[];
                };
                upsert: {
                    args: Prisma.RoleUpsertArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$RolePayload>;
                };
                aggregate: {
                    args: Prisma.RoleAggregateArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.AggregateRole>;
                };
                groupBy: {
                    args: Prisma.RoleGroupByArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.RoleGroupByOutputType>[];
                };
                count: {
                    args: Prisma.RoleCountArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.RoleCountAggregateOutputType> | number;
                };
            };
        };
        Branch: {
            payload: Prisma.$BranchPayload<ExtArgs>;
            fields: Prisma.BranchFieldRefs;
            operations: {
                findUnique: {
                    args: Prisma.BranchFindUniqueArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$BranchPayload> | null;
                };
                findUniqueOrThrow: {
                    args: Prisma.BranchFindUniqueOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$BranchPayload>;
                };
                findFirst: {
                    args: Prisma.BranchFindFirstArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$BranchPayload> | null;
                };
                findFirstOrThrow: {
                    args: Prisma.BranchFindFirstOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$BranchPayload>;
                };
                findMany: {
                    args: Prisma.BranchFindManyArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$BranchPayload>[];
                };
                create: {
                    args: Prisma.BranchCreateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$BranchPayload>;
                };
                createMany: {
                    args: Prisma.BranchCreateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                createManyAndReturn: {
                    args: Prisma.BranchCreateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$BranchPayload>[];
                };
                delete: {
                    args: Prisma.BranchDeleteArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$BranchPayload>;
                };
                update: {
                    args: Prisma.BranchUpdateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$BranchPayload>;
                };
                deleteMany: {
                    args: Prisma.BranchDeleteManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateMany: {
                    args: Prisma.BranchUpdateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateManyAndReturn: {
                    args: Prisma.BranchUpdateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$BranchPayload>[];
                };
                upsert: {
                    args: Prisma.BranchUpsertArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$BranchPayload>;
                };
                aggregate: {
                    args: Prisma.BranchAggregateArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.AggregateBranch>;
                };
                groupBy: {
                    args: Prisma.BranchGroupByArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.BranchGroupByOutputType>[];
                };
                count: {
                    args: Prisma.BranchCountArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.BranchCountAggregateOutputType> | number;
                };
            };
        };
        UserBranch: {
            payload: Prisma.$UserBranchPayload<ExtArgs>;
            fields: Prisma.UserBranchFieldRefs;
            operations: {
                findUnique: {
                    args: Prisma.UserBranchFindUniqueArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$UserBranchPayload> | null;
                };
                findUniqueOrThrow: {
                    args: Prisma.UserBranchFindUniqueOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$UserBranchPayload>;
                };
                findFirst: {
                    args: Prisma.UserBranchFindFirstArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$UserBranchPayload> | null;
                };
                findFirstOrThrow: {
                    args: Prisma.UserBranchFindFirstOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$UserBranchPayload>;
                };
                findMany: {
                    args: Prisma.UserBranchFindManyArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$UserBranchPayload>[];
                };
                create: {
                    args: Prisma.UserBranchCreateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$UserBranchPayload>;
                };
                createMany: {
                    args: Prisma.UserBranchCreateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                createManyAndReturn: {
                    args: Prisma.UserBranchCreateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$UserBranchPayload>[];
                };
                delete: {
                    args: Prisma.UserBranchDeleteArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$UserBranchPayload>;
                };
                update: {
                    args: Prisma.UserBranchUpdateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$UserBranchPayload>;
                };
                deleteMany: {
                    args: Prisma.UserBranchDeleteManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateMany: {
                    args: Prisma.UserBranchUpdateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateManyAndReturn: {
                    args: Prisma.UserBranchUpdateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$UserBranchPayload>[];
                };
                upsert: {
                    args: Prisma.UserBranchUpsertArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$UserBranchPayload>;
                };
                aggregate: {
                    args: Prisma.UserBranchAggregateArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.AggregateUserBranch>;
                };
                groupBy: {
                    args: Prisma.UserBranchGroupByArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.UserBranchGroupByOutputType>[];
                };
                count: {
                    args: Prisma.UserBranchCountArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.UserBranchCountAggregateOutputType> | number;
                };
            };
        };
        HeaderSetting: {
            payload: Prisma.$HeaderSettingPayload<ExtArgs>;
            fields: Prisma.HeaderSettingFieldRefs;
            operations: {
                findUnique: {
                    args: Prisma.HeaderSettingFindUniqueArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$HeaderSettingPayload> | null;
                };
                findUniqueOrThrow: {
                    args: Prisma.HeaderSettingFindUniqueOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$HeaderSettingPayload>;
                };
                findFirst: {
                    args: Prisma.HeaderSettingFindFirstArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$HeaderSettingPayload> | null;
                };
                findFirstOrThrow: {
                    args: Prisma.HeaderSettingFindFirstOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$HeaderSettingPayload>;
                };
                findMany: {
                    args: Prisma.HeaderSettingFindManyArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$HeaderSettingPayload>[];
                };
                create: {
                    args: Prisma.HeaderSettingCreateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$HeaderSettingPayload>;
                };
                createMany: {
                    args: Prisma.HeaderSettingCreateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                createManyAndReturn: {
                    args: Prisma.HeaderSettingCreateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$HeaderSettingPayload>[];
                };
                delete: {
                    args: Prisma.HeaderSettingDeleteArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$HeaderSettingPayload>;
                };
                update: {
                    args: Prisma.HeaderSettingUpdateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$HeaderSettingPayload>;
                };
                deleteMany: {
                    args: Prisma.HeaderSettingDeleteManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateMany: {
                    args: Prisma.HeaderSettingUpdateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateManyAndReturn: {
                    args: Prisma.HeaderSettingUpdateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$HeaderSettingPayload>[];
                };
                upsert: {
                    args: Prisma.HeaderSettingUpsertArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$HeaderSettingPayload>;
                };
                aggregate: {
                    args: Prisma.HeaderSettingAggregateArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.AggregateHeaderSetting>;
                };
                groupBy: {
                    args: Prisma.HeaderSettingGroupByArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.HeaderSettingGroupByOutputType>[];
                };
                count: {
                    args: Prisma.HeaderSettingCountArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.HeaderSettingCountAggregateOutputType> | number;
                };
            };
        };
        DetailSetting: {
            payload: Prisma.$DetailSettingPayload<ExtArgs>;
            fields: Prisma.DetailSettingFieldRefs;
            operations: {
                findUnique: {
                    args: Prisma.DetailSettingFindUniqueArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$DetailSettingPayload> | null;
                };
                findUniqueOrThrow: {
                    args: Prisma.DetailSettingFindUniqueOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$DetailSettingPayload>;
                };
                findFirst: {
                    args: Prisma.DetailSettingFindFirstArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$DetailSettingPayload> | null;
                };
                findFirstOrThrow: {
                    args: Prisma.DetailSettingFindFirstOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$DetailSettingPayload>;
                };
                findMany: {
                    args: Prisma.DetailSettingFindManyArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$DetailSettingPayload>[];
                };
                create: {
                    args: Prisma.DetailSettingCreateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$DetailSettingPayload>;
                };
                createMany: {
                    args: Prisma.DetailSettingCreateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                createManyAndReturn: {
                    args: Prisma.DetailSettingCreateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$DetailSettingPayload>[];
                };
                delete: {
                    args: Prisma.DetailSettingDeleteArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$DetailSettingPayload>;
                };
                update: {
                    args: Prisma.DetailSettingUpdateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$DetailSettingPayload>;
                };
                deleteMany: {
                    args: Prisma.DetailSettingDeleteManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateMany: {
                    args: Prisma.DetailSettingUpdateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateManyAndReturn: {
                    args: Prisma.DetailSettingUpdateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$DetailSettingPayload>[];
                };
                upsert: {
                    args: Prisma.DetailSettingUpsertArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$DetailSettingPayload>;
                };
                aggregate: {
                    args: Prisma.DetailSettingAggregateArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.AggregateDetailSetting>;
                };
                groupBy: {
                    args: Prisma.DetailSettingGroupByArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.DetailSettingGroupByOutputType>[];
                };
                count: {
                    args: Prisma.DetailSettingCountArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.DetailSettingCountAggregateOutputType> | number;
                };
            };
        };
        Bank: {
            payload: Prisma.$BankPayload<ExtArgs>;
            fields: Prisma.BankFieldRefs;
            operations: {
                findUnique: {
                    args: Prisma.BankFindUniqueArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$BankPayload> | null;
                };
                findUniqueOrThrow: {
                    args: Prisma.BankFindUniqueOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$BankPayload>;
                };
                findFirst: {
                    args: Prisma.BankFindFirstArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$BankPayload> | null;
                };
                findFirstOrThrow: {
                    args: Prisma.BankFindFirstOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$BankPayload>;
                };
                findMany: {
                    args: Prisma.BankFindManyArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$BankPayload>[];
                };
                create: {
                    args: Prisma.BankCreateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$BankPayload>;
                };
                createMany: {
                    args: Prisma.BankCreateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                createManyAndReturn: {
                    args: Prisma.BankCreateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$BankPayload>[];
                };
                delete: {
                    args: Prisma.BankDeleteArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$BankPayload>;
                };
                update: {
                    args: Prisma.BankUpdateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$BankPayload>;
                };
                deleteMany: {
                    args: Prisma.BankDeleteManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateMany: {
                    args: Prisma.BankUpdateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateManyAndReturn: {
                    args: Prisma.BankUpdateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$BankPayload>[];
                };
                upsert: {
                    args: Prisma.BankUpsertArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$BankPayload>;
                };
                aggregate: {
                    args: Prisma.BankAggregateArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.AggregateBank>;
                };
                groupBy: {
                    args: Prisma.BankGroupByArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.BankGroupByOutputType>[];
                };
                count: {
                    args: Prisma.BankCountArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.BankCountAggregateOutputType> | number;
                };
            };
        };
        Customer: {
            payload: Prisma.$CustomerPayload<ExtArgs>;
            fields: Prisma.CustomerFieldRefs;
            operations: {
                findUnique: {
                    args: Prisma.CustomerFindUniqueArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$CustomerPayload> | null;
                };
                findUniqueOrThrow: {
                    args: Prisma.CustomerFindUniqueOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$CustomerPayload>;
                };
                findFirst: {
                    args: Prisma.CustomerFindFirstArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$CustomerPayload> | null;
                };
                findFirstOrThrow: {
                    args: Prisma.CustomerFindFirstOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$CustomerPayload>;
                };
                findMany: {
                    args: Prisma.CustomerFindManyArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$CustomerPayload>[];
                };
                create: {
                    args: Prisma.CustomerCreateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$CustomerPayload>;
                };
                createMany: {
                    args: Prisma.CustomerCreateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                createManyAndReturn: {
                    args: Prisma.CustomerCreateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$CustomerPayload>[];
                };
                delete: {
                    args: Prisma.CustomerDeleteArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$CustomerPayload>;
                };
                update: {
                    args: Prisma.CustomerUpdateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$CustomerPayload>;
                };
                deleteMany: {
                    args: Prisma.CustomerDeleteManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateMany: {
                    args: Prisma.CustomerUpdateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateManyAndReturn: {
                    args: Prisma.CustomerUpdateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$CustomerPayload>[];
                };
                upsert: {
                    args: Prisma.CustomerUpsertArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$CustomerPayload>;
                };
                aggregate: {
                    args: Prisma.CustomerAggregateArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.AggregateCustomer>;
                };
                groupBy: {
                    args: Prisma.CustomerGroupByArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.CustomerGroupByOutputType>[];
                };
                count: {
                    args: Prisma.CustomerCountArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.CustomerCountAggregateOutputType> | number;
                };
            };
        };
        Transaction: {
            payload: Prisma.$TransactionPayload<ExtArgs>;
            fields: Prisma.TransactionFieldRefs;
            operations: {
                findUnique: {
                    args: Prisma.TransactionFindUniqueArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionPayload> | null;
                };
                findUniqueOrThrow: {
                    args: Prisma.TransactionFindUniqueOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionPayload>;
                };
                findFirst: {
                    args: Prisma.TransactionFindFirstArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionPayload> | null;
                };
                findFirstOrThrow: {
                    args: Prisma.TransactionFindFirstOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionPayload>;
                };
                findMany: {
                    args: Prisma.TransactionFindManyArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionPayload>[];
                };
                create: {
                    args: Prisma.TransactionCreateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionPayload>;
                };
                createMany: {
                    args: Prisma.TransactionCreateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                createManyAndReturn: {
                    args: Prisma.TransactionCreateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionPayload>[];
                };
                delete: {
                    args: Prisma.TransactionDeleteArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionPayload>;
                };
                update: {
                    args: Prisma.TransactionUpdateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionPayload>;
                };
                deleteMany: {
                    args: Prisma.TransactionDeleteManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateMany: {
                    args: Prisma.TransactionUpdateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateManyAndReturn: {
                    args: Prisma.TransactionUpdateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionPayload>[];
                };
                upsert: {
                    args: Prisma.TransactionUpsertArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionPayload>;
                };
                aggregate: {
                    args: Prisma.TransactionAggregateArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.AggregateTransaction>;
                };
                groupBy: {
                    args: Prisma.TransactionGroupByArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.TransactionGroupByOutputType>[];
                };
                count: {
                    args: Prisma.TransactionCountArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.TransactionCountAggregateOutputType> | number;
                };
            };
        };
        TransactionItem: {
            payload: Prisma.$TransactionItemPayload<ExtArgs>;
            fields: Prisma.TransactionItemFieldRefs;
            operations: {
                findUnique: {
                    args: Prisma.TransactionItemFindUniqueArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemPayload> | null;
                };
                findUniqueOrThrow: {
                    args: Prisma.TransactionItemFindUniqueOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemPayload>;
                };
                findFirst: {
                    args: Prisma.TransactionItemFindFirstArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemPayload> | null;
                };
                findFirstOrThrow: {
                    args: Prisma.TransactionItemFindFirstOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemPayload>;
                };
                findMany: {
                    args: Prisma.TransactionItemFindManyArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemPayload>[];
                };
                create: {
                    args: Prisma.TransactionItemCreateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemPayload>;
                };
                createMany: {
                    args: Prisma.TransactionItemCreateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                createManyAndReturn: {
                    args: Prisma.TransactionItemCreateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemPayload>[];
                };
                delete: {
                    args: Prisma.TransactionItemDeleteArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemPayload>;
                };
                update: {
                    args: Prisma.TransactionItemUpdateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemPayload>;
                };
                deleteMany: {
                    args: Prisma.TransactionItemDeleteManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateMany: {
                    args: Prisma.TransactionItemUpdateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateManyAndReturn: {
                    args: Prisma.TransactionItemUpdateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemPayload>[];
                };
                upsert: {
                    args: Prisma.TransactionItemUpsertArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemPayload>;
                };
                aggregate: {
                    args: Prisma.TransactionItemAggregateArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.AggregateTransactionItem>;
                };
                groupBy: {
                    args: Prisma.TransactionItemGroupByArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.TransactionItemGroupByOutputType>[];
                };
                count: {
                    args: Prisma.TransactionItemCountArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.TransactionItemCountAggregateOutputType> | number;
                };
            };
        };
        TempPhoto: {
            payload: Prisma.$TempPhotoPayload<ExtArgs>;
            fields: Prisma.TempPhotoFieldRefs;
            operations: {
                findUnique: {
                    args: Prisma.TempPhotoFindUniqueArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TempPhotoPayload> | null;
                };
                findUniqueOrThrow: {
                    args: Prisma.TempPhotoFindUniqueOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TempPhotoPayload>;
                };
                findFirst: {
                    args: Prisma.TempPhotoFindFirstArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TempPhotoPayload> | null;
                };
                findFirstOrThrow: {
                    args: Prisma.TempPhotoFindFirstOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TempPhotoPayload>;
                };
                findMany: {
                    args: Prisma.TempPhotoFindManyArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TempPhotoPayload>[];
                };
                create: {
                    args: Prisma.TempPhotoCreateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TempPhotoPayload>;
                };
                createMany: {
                    args: Prisma.TempPhotoCreateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                createManyAndReturn: {
                    args: Prisma.TempPhotoCreateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TempPhotoPayload>[];
                };
                delete: {
                    args: Prisma.TempPhotoDeleteArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TempPhotoPayload>;
                };
                update: {
                    args: Prisma.TempPhotoUpdateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TempPhotoPayload>;
                };
                deleteMany: {
                    args: Prisma.TempPhotoDeleteManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateMany: {
                    args: Prisma.TempPhotoUpdateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateManyAndReturn: {
                    args: Prisma.TempPhotoUpdateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TempPhotoPayload>[];
                };
                upsert: {
                    args: Prisma.TempPhotoUpsertArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TempPhotoPayload>;
                };
                aggregate: {
                    args: Prisma.TempPhotoAggregateArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.AggregateTempPhoto>;
                };
                groupBy: {
                    args: Prisma.TempPhotoGroupByArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.TempPhotoGroupByOutputType>[];
                };
                count: {
                    args: Prisma.TempPhotoCountArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.TempPhotoCountAggregateOutputType> | number;
                };
            };
        };
        TransactionItemPhoto: {
            payload: Prisma.$TransactionItemPhotoPayload<ExtArgs>;
            fields: Prisma.TransactionItemPhotoFieldRefs;
            operations: {
                findUnique: {
                    args: Prisma.TransactionItemPhotoFindUniqueArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemPhotoPayload> | null;
                };
                findUniqueOrThrow: {
                    args: Prisma.TransactionItemPhotoFindUniqueOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemPhotoPayload>;
                };
                findFirst: {
                    args: Prisma.TransactionItemPhotoFindFirstArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemPhotoPayload> | null;
                };
                findFirstOrThrow: {
                    args: Prisma.TransactionItemPhotoFindFirstOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemPhotoPayload>;
                };
                findMany: {
                    args: Prisma.TransactionItemPhotoFindManyArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemPhotoPayload>[];
                };
                create: {
                    args: Prisma.TransactionItemPhotoCreateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemPhotoPayload>;
                };
                createMany: {
                    args: Prisma.TransactionItemPhotoCreateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                createManyAndReturn: {
                    args: Prisma.TransactionItemPhotoCreateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemPhotoPayload>[];
                };
                delete: {
                    args: Prisma.TransactionItemPhotoDeleteArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemPhotoPayload>;
                };
                update: {
                    args: Prisma.TransactionItemPhotoUpdateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemPhotoPayload>;
                };
                deleteMany: {
                    args: Prisma.TransactionItemPhotoDeleteManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateMany: {
                    args: Prisma.TransactionItemPhotoUpdateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateManyAndReturn: {
                    args: Prisma.TransactionItemPhotoUpdateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemPhotoPayload>[];
                };
                upsert: {
                    args: Prisma.TransactionItemPhotoUpsertArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemPhotoPayload>;
                };
                aggregate: {
                    args: Prisma.TransactionItemPhotoAggregateArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.AggregateTransactionItemPhoto>;
                };
                groupBy: {
                    args: Prisma.TransactionItemPhotoGroupByArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.TransactionItemPhotoGroupByOutputType>[];
                };
                count: {
                    args: Prisma.TransactionItemPhotoCountArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.TransactionItemPhotoCountAggregateOutputType> | number;
                };
            };
        };
        ItemType: {
            payload: Prisma.$ItemTypePayload<ExtArgs>;
            fields: Prisma.ItemTypeFieldRefs;
            operations: {
                findUnique: {
                    args: Prisma.ItemTypeFindUniqueArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$ItemTypePayload> | null;
                };
                findUniqueOrThrow: {
                    args: Prisma.ItemTypeFindUniqueOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$ItemTypePayload>;
                };
                findFirst: {
                    args: Prisma.ItemTypeFindFirstArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$ItemTypePayload> | null;
                };
                findFirstOrThrow: {
                    args: Prisma.ItemTypeFindFirstOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$ItemTypePayload>;
                };
                findMany: {
                    args: Prisma.ItemTypeFindManyArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$ItemTypePayload>[];
                };
                create: {
                    args: Prisma.ItemTypeCreateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$ItemTypePayload>;
                };
                createMany: {
                    args: Prisma.ItemTypeCreateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                createManyAndReturn: {
                    args: Prisma.ItemTypeCreateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$ItemTypePayload>[];
                };
                delete: {
                    args: Prisma.ItemTypeDeleteArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$ItemTypePayload>;
                };
                update: {
                    args: Prisma.ItemTypeUpdateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$ItemTypePayload>;
                };
                deleteMany: {
                    args: Prisma.ItemTypeDeleteManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateMany: {
                    args: Prisma.ItemTypeUpdateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateManyAndReturn: {
                    args: Prisma.ItemTypeUpdateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$ItemTypePayload>[];
                };
                upsert: {
                    args: Prisma.ItemTypeUpsertArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$ItemTypePayload>;
                };
                aggregate: {
                    args: Prisma.ItemTypeAggregateArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.AggregateItemType>;
                };
                groupBy: {
                    args: Prisma.ItemTypeGroupByArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.ItemTypeGroupByOutputType>[];
                };
                count: {
                    args: Prisma.ItemTypeCountArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.ItemTypeCountAggregateOutputType> | number;
                };
            };
        };
        PricingHeader: {
            payload: Prisma.$PricingHeaderPayload<ExtArgs>;
            fields: Prisma.PricingHeaderFieldRefs;
            operations: {
                findUnique: {
                    args: Prisma.PricingHeaderFindUniqueArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PricingHeaderPayload> | null;
                };
                findUniqueOrThrow: {
                    args: Prisma.PricingHeaderFindUniqueOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PricingHeaderPayload>;
                };
                findFirst: {
                    args: Prisma.PricingHeaderFindFirstArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PricingHeaderPayload> | null;
                };
                findFirstOrThrow: {
                    args: Prisma.PricingHeaderFindFirstOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PricingHeaderPayload>;
                };
                findMany: {
                    args: Prisma.PricingHeaderFindManyArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PricingHeaderPayload>[];
                };
                create: {
                    args: Prisma.PricingHeaderCreateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PricingHeaderPayload>;
                };
                createMany: {
                    args: Prisma.PricingHeaderCreateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                createManyAndReturn: {
                    args: Prisma.PricingHeaderCreateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PricingHeaderPayload>[];
                };
                delete: {
                    args: Prisma.PricingHeaderDeleteArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PricingHeaderPayload>;
                };
                update: {
                    args: Prisma.PricingHeaderUpdateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PricingHeaderPayload>;
                };
                deleteMany: {
                    args: Prisma.PricingHeaderDeleteManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateMany: {
                    args: Prisma.PricingHeaderUpdateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateManyAndReturn: {
                    args: Prisma.PricingHeaderUpdateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PricingHeaderPayload>[];
                };
                upsert: {
                    args: Prisma.PricingHeaderUpsertArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PricingHeaderPayload>;
                };
                aggregate: {
                    args: Prisma.PricingHeaderAggregateArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.AggregatePricingHeader>;
                };
                groupBy: {
                    args: Prisma.PricingHeaderGroupByArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.PricingHeaderGroupByOutputType>[];
                };
                count: {
                    args: Prisma.PricingHeaderCountArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.PricingHeaderCountAggregateOutputType> | number;
                };
            };
        };
        PricingDetail: {
            payload: Prisma.$PricingDetailPayload<ExtArgs>;
            fields: Prisma.PricingDetailFieldRefs;
            operations: {
                findUnique: {
                    args: Prisma.PricingDetailFindUniqueArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PricingDetailPayload> | null;
                };
                findUniqueOrThrow: {
                    args: Prisma.PricingDetailFindUniqueOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PricingDetailPayload>;
                };
                findFirst: {
                    args: Prisma.PricingDetailFindFirstArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PricingDetailPayload> | null;
                };
                findFirstOrThrow: {
                    args: Prisma.PricingDetailFindFirstOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PricingDetailPayload>;
                };
                findMany: {
                    args: Prisma.PricingDetailFindManyArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PricingDetailPayload>[];
                };
                create: {
                    args: Prisma.PricingDetailCreateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PricingDetailPayload>;
                };
                createMany: {
                    args: Prisma.PricingDetailCreateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                createManyAndReturn: {
                    args: Prisma.PricingDetailCreateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PricingDetailPayload>[];
                };
                delete: {
                    args: Prisma.PricingDetailDeleteArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PricingDetailPayload>;
                };
                update: {
                    args: Prisma.PricingDetailUpdateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PricingDetailPayload>;
                };
                deleteMany: {
                    args: Prisma.PricingDetailDeleteManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateMany: {
                    args: Prisma.PricingDetailUpdateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateManyAndReturn: {
                    args: Prisma.PricingDetailUpdateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PricingDetailPayload>[];
                };
                upsert: {
                    args: Prisma.PricingDetailUpsertArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PricingDetailPayload>;
                };
                aggregate: {
                    args: Prisma.PricingDetailAggregateArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.AggregatePricingDetail>;
                };
                groupBy: {
                    args: Prisma.PricingDetailGroupByArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.PricingDetailGroupByOutputType>[];
                };
                count: {
                    args: Prisma.PricingDetailCountArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.PricingDetailCountAggregateOutputType> | number;
                };
            };
        };
        TransactionItemDoc: {
            payload: Prisma.$TransactionItemDocPayload<ExtArgs>;
            fields: Prisma.TransactionItemDocFieldRefs;
            operations: {
                findUnique: {
                    args: Prisma.TransactionItemDocFindUniqueArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemDocPayload> | null;
                };
                findUniqueOrThrow: {
                    args: Prisma.TransactionItemDocFindUniqueOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemDocPayload>;
                };
                findFirst: {
                    args: Prisma.TransactionItemDocFindFirstArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemDocPayload> | null;
                };
                findFirstOrThrow: {
                    args: Prisma.TransactionItemDocFindFirstOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemDocPayload>;
                };
                findMany: {
                    args: Prisma.TransactionItemDocFindManyArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemDocPayload>[];
                };
                create: {
                    args: Prisma.TransactionItemDocCreateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemDocPayload>;
                };
                createMany: {
                    args: Prisma.TransactionItemDocCreateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                createManyAndReturn: {
                    args: Prisma.TransactionItemDocCreateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemDocPayload>[];
                };
                delete: {
                    args: Prisma.TransactionItemDocDeleteArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemDocPayload>;
                };
                update: {
                    args: Prisma.TransactionItemDocUpdateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemDocPayload>;
                };
                deleteMany: {
                    args: Prisma.TransactionItemDocDeleteManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateMany: {
                    args: Prisma.TransactionItemDocUpdateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateManyAndReturn: {
                    args: Prisma.TransactionItemDocUpdateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemDocPayload>[];
                };
                upsert: {
                    args: Prisma.TransactionItemDocUpsertArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionItemDocPayload>;
                };
                aggregate: {
                    args: Prisma.TransactionItemDocAggregateArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.AggregateTransactionItemDoc>;
                };
                groupBy: {
                    args: Prisma.TransactionItemDocGroupByArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.TransactionItemDocGroupByOutputType>[];
                };
                count: {
                    args: Prisma.TransactionItemDocCountArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.TransactionItemDocCountAggregateOutputType> | number;
                };
            };
        };
        TransactionDoc: {
            payload: Prisma.$TransactionDocPayload<ExtArgs>;
            fields: Prisma.TransactionDocFieldRefs;
            operations: {
                findUnique: {
                    args: Prisma.TransactionDocFindUniqueArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionDocPayload> | null;
                };
                findUniqueOrThrow: {
                    args: Prisma.TransactionDocFindUniqueOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionDocPayload>;
                };
                findFirst: {
                    args: Prisma.TransactionDocFindFirstArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionDocPayload> | null;
                };
                findFirstOrThrow: {
                    args: Prisma.TransactionDocFindFirstOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionDocPayload>;
                };
                findMany: {
                    args: Prisma.TransactionDocFindManyArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionDocPayload>[];
                };
                create: {
                    args: Prisma.TransactionDocCreateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionDocPayload>;
                };
                createMany: {
                    args: Prisma.TransactionDocCreateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                createManyAndReturn: {
                    args: Prisma.TransactionDocCreateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionDocPayload>[];
                };
                delete: {
                    args: Prisma.TransactionDocDeleteArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionDocPayload>;
                };
                update: {
                    args: Prisma.TransactionDocUpdateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionDocPayload>;
                };
                deleteMany: {
                    args: Prisma.TransactionDocDeleteManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateMany: {
                    args: Prisma.TransactionDocUpdateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateManyAndReturn: {
                    args: Prisma.TransactionDocUpdateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionDocPayload>[];
                };
                upsert: {
                    args: Prisma.TransactionDocUpsertArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionDocPayload>;
                };
                aggregate: {
                    args: Prisma.TransactionDocAggregateArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.AggregateTransactionDoc>;
                };
                groupBy: {
                    args: Prisma.TransactionDocGroupByArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.TransactionDocGroupByOutputType>[];
                };
                count: {
                    args: Prisma.TransactionDocCountArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.TransactionDocCountAggregateOutputType> | number;
                };
            };
        };
        Approval: {
            payload: Prisma.$ApprovalPayload<ExtArgs>;
            fields: Prisma.ApprovalFieldRefs;
            operations: {
                findUnique: {
                    args: Prisma.ApprovalFindUniqueArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$ApprovalPayload> | null;
                };
                findUniqueOrThrow: {
                    args: Prisma.ApprovalFindUniqueOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$ApprovalPayload>;
                };
                findFirst: {
                    args: Prisma.ApprovalFindFirstArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$ApprovalPayload> | null;
                };
                findFirstOrThrow: {
                    args: Prisma.ApprovalFindFirstOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$ApprovalPayload>;
                };
                findMany: {
                    args: Prisma.ApprovalFindManyArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$ApprovalPayload>[];
                };
                create: {
                    args: Prisma.ApprovalCreateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$ApprovalPayload>;
                };
                createMany: {
                    args: Prisma.ApprovalCreateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                createManyAndReturn: {
                    args: Prisma.ApprovalCreateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$ApprovalPayload>[];
                };
                delete: {
                    args: Prisma.ApprovalDeleteArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$ApprovalPayload>;
                };
                update: {
                    args: Prisma.ApprovalUpdateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$ApprovalPayload>;
                };
                deleteMany: {
                    args: Prisma.ApprovalDeleteManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateMany: {
                    args: Prisma.ApprovalUpdateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateManyAndReturn: {
                    args: Prisma.ApprovalUpdateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$ApprovalPayload>[];
                };
                upsert: {
                    args: Prisma.ApprovalUpsertArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$ApprovalPayload>;
                };
                aggregate: {
                    args: Prisma.ApprovalAggregateArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.AggregateApproval>;
                };
                groupBy: {
                    args: Prisma.ApprovalGroupByArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.ApprovalGroupByOutputType>[];
                };
                count: {
                    args: Prisma.ApprovalCountArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.ApprovalCountAggregateOutputType> | number;
                };
            };
        };
        Payment: {
            payload: Prisma.$PaymentPayload<ExtArgs>;
            fields: Prisma.PaymentFieldRefs;
            operations: {
                findUnique: {
                    args: Prisma.PaymentFindUniqueArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PaymentPayload> | null;
                };
                findUniqueOrThrow: {
                    args: Prisma.PaymentFindUniqueOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PaymentPayload>;
                };
                findFirst: {
                    args: Prisma.PaymentFindFirstArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PaymentPayload> | null;
                };
                findFirstOrThrow: {
                    args: Prisma.PaymentFindFirstOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PaymentPayload>;
                };
                findMany: {
                    args: Prisma.PaymentFindManyArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PaymentPayload>[];
                };
                create: {
                    args: Prisma.PaymentCreateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PaymentPayload>;
                };
                createMany: {
                    args: Prisma.PaymentCreateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                createManyAndReturn: {
                    args: Prisma.PaymentCreateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PaymentPayload>[];
                };
                delete: {
                    args: Prisma.PaymentDeleteArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PaymentPayload>;
                };
                update: {
                    args: Prisma.PaymentUpdateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PaymentPayload>;
                };
                deleteMany: {
                    args: Prisma.PaymentDeleteManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateMany: {
                    args: Prisma.PaymentUpdateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateManyAndReturn: {
                    args: Prisma.PaymentUpdateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PaymentPayload>[];
                };
                upsert: {
                    args: Prisma.PaymentUpsertArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$PaymentPayload>;
                };
                aggregate: {
                    args: Prisma.PaymentAggregateArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.AggregatePayment>;
                };
                groupBy: {
                    args: Prisma.PaymentGroupByArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.PaymentGroupByOutputType>[];
                };
                count: {
                    args: Prisma.PaymentCountArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.PaymentCountAggregateOutputType> | number;
                };
            };
        };
        TransactionSnapshot: {
            payload: Prisma.$TransactionSnapshotPayload<ExtArgs>;
            fields: Prisma.TransactionSnapshotFieldRefs;
            operations: {
                findUnique: {
                    args: Prisma.TransactionSnapshotFindUniqueArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionSnapshotPayload> | null;
                };
                findUniqueOrThrow: {
                    args: Prisma.TransactionSnapshotFindUniqueOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionSnapshotPayload>;
                };
                findFirst: {
                    args: Prisma.TransactionSnapshotFindFirstArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionSnapshotPayload> | null;
                };
                findFirstOrThrow: {
                    args: Prisma.TransactionSnapshotFindFirstOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionSnapshotPayload>;
                };
                findMany: {
                    args: Prisma.TransactionSnapshotFindManyArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionSnapshotPayload>[];
                };
                create: {
                    args: Prisma.TransactionSnapshotCreateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionSnapshotPayload>;
                };
                createMany: {
                    args: Prisma.TransactionSnapshotCreateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                createManyAndReturn: {
                    args: Prisma.TransactionSnapshotCreateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionSnapshotPayload>[];
                };
                delete: {
                    args: Prisma.TransactionSnapshotDeleteArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionSnapshotPayload>;
                };
                update: {
                    args: Prisma.TransactionSnapshotUpdateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionSnapshotPayload>;
                };
                deleteMany: {
                    args: Prisma.TransactionSnapshotDeleteManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateMany: {
                    args: Prisma.TransactionSnapshotUpdateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateManyAndReturn: {
                    args: Prisma.TransactionSnapshotUpdateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionSnapshotPayload>[];
                };
                upsert: {
                    args: Prisma.TransactionSnapshotUpsertArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TransactionSnapshotPayload>;
                };
                aggregate: {
                    args: Prisma.TransactionSnapshotAggregateArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.AggregateTransactionSnapshot>;
                };
                groupBy: {
                    args: Prisma.TransactionSnapshotGroupByArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.TransactionSnapshotGroupByOutputType>[];
                };
                count: {
                    args: Prisma.TransactionSnapshotCountArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.TransactionSnapshotCountAggregateOutputType> | number;
                };
            };
        };
        Note: {
            payload: Prisma.$NotePayload<ExtArgs>;
            fields: Prisma.NoteFieldRefs;
            operations: {
                findUnique: {
                    args: Prisma.NoteFindUniqueArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$NotePayload> | null;
                };
                findUniqueOrThrow: {
                    args: Prisma.NoteFindUniqueOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$NotePayload>;
                };
                findFirst: {
                    args: Prisma.NoteFindFirstArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$NotePayload> | null;
                };
                findFirstOrThrow: {
                    args: Prisma.NoteFindFirstOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$NotePayload>;
                };
                findMany: {
                    args: Prisma.NoteFindManyArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$NotePayload>[];
                };
                create: {
                    args: Prisma.NoteCreateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$NotePayload>;
                };
                createMany: {
                    args: Prisma.NoteCreateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                createManyAndReturn: {
                    args: Prisma.NoteCreateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$NotePayload>[];
                };
                delete: {
                    args: Prisma.NoteDeleteArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$NotePayload>;
                };
                update: {
                    args: Prisma.NoteUpdateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$NotePayload>;
                };
                deleteMany: {
                    args: Prisma.NoteDeleteManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateMany: {
                    args: Prisma.NoteUpdateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateManyAndReturn: {
                    args: Prisma.NoteUpdateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$NotePayload>[];
                };
                upsert: {
                    args: Prisma.NoteUpsertArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$NotePayload>;
                };
                aggregate: {
                    args: Prisma.NoteAggregateArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.AggregateNote>;
                };
                groupBy: {
                    args: Prisma.NoteGroupByArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.NoteGroupByOutputType>[];
                };
                count: {
                    args: Prisma.NoteCountArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.NoteCountAggregateOutputType> | number;
                };
            };
        };
        TxnRunum: {
            payload: Prisma.$TxnRunumPayload<ExtArgs>;
            fields: Prisma.TxnRunumFieldRefs;
            operations: {
                findUnique: {
                    args: Prisma.TxnRunumFindUniqueArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TxnRunumPayload> | null;
                };
                findUniqueOrThrow: {
                    args: Prisma.TxnRunumFindUniqueOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TxnRunumPayload>;
                };
                findFirst: {
                    args: Prisma.TxnRunumFindFirstArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TxnRunumPayload> | null;
                };
                findFirstOrThrow: {
                    args: Prisma.TxnRunumFindFirstOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TxnRunumPayload>;
                };
                findMany: {
                    args: Prisma.TxnRunumFindManyArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TxnRunumPayload>[];
                };
                create: {
                    args: Prisma.TxnRunumCreateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TxnRunumPayload>;
                };
                createMany: {
                    args: Prisma.TxnRunumCreateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                createManyAndReturn: {
                    args: Prisma.TxnRunumCreateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TxnRunumPayload>[];
                };
                delete: {
                    args: Prisma.TxnRunumDeleteArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TxnRunumPayload>;
                };
                update: {
                    args: Prisma.TxnRunumUpdateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TxnRunumPayload>;
                };
                deleteMany: {
                    args: Prisma.TxnRunumDeleteManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateMany: {
                    args: Prisma.TxnRunumUpdateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateManyAndReturn: {
                    args: Prisma.TxnRunumUpdateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TxnRunumPayload>[];
                };
                upsert: {
                    args: Prisma.TxnRunumUpsertArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$TxnRunumPayload>;
                };
                aggregate: {
                    args: Prisma.TxnRunumAggregateArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.AggregateTxnRunum>;
                };
                groupBy: {
                    args: Prisma.TxnRunumGroupByArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.TxnRunumGroupByOutputType>[];
                };
                count: {
                    args: Prisma.TxnRunumCountArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.TxnRunumCountAggregateOutputType> | number;
                };
            };
        };
        AuditLog: {
            payload: Prisma.$AuditLogPayload<ExtArgs>;
            fields: Prisma.AuditLogFieldRefs;
            operations: {
                findUnique: {
                    args: Prisma.AuditLogFindUniqueArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$AuditLogPayload> | null;
                };
                findUniqueOrThrow: {
                    args: Prisma.AuditLogFindUniqueOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$AuditLogPayload>;
                };
                findFirst: {
                    args: Prisma.AuditLogFindFirstArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$AuditLogPayload> | null;
                };
                findFirstOrThrow: {
                    args: Prisma.AuditLogFindFirstOrThrowArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$AuditLogPayload>;
                };
                findMany: {
                    args: Prisma.AuditLogFindManyArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$AuditLogPayload>[];
                };
                create: {
                    args: Prisma.AuditLogCreateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$AuditLogPayload>;
                };
                createMany: {
                    args: Prisma.AuditLogCreateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                createManyAndReturn: {
                    args: Prisma.AuditLogCreateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$AuditLogPayload>[];
                };
                delete: {
                    args: Prisma.AuditLogDeleteArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$AuditLogPayload>;
                };
                update: {
                    args: Prisma.AuditLogUpdateArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$AuditLogPayload>;
                };
                deleteMany: {
                    args: Prisma.AuditLogDeleteManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateMany: {
                    args: Prisma.AuditLogUpdateManyArgs<ExtArgs>;
                    result: BatchPayload;
                };
                updateManyAndReturn: {
                    args: Prisma.AuditLogUpdateManyAndReturnArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$AuditLogPayload>[];
                };
                upsert: {
                    args: Prisma.AuditLogUpsertArgs<ExtArgs>;
                    result: runtime.Types.Utils.PayloadToResult<Prisma.$AuditLogPayload>;
                };
                aggregate: {
                    args: Prisma.AuditLogAggregateArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.AggregateAuditLog>;
                };
                groupBy: {
                    args: Prisma.AuditLogGroupByArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.AuditLogGroupByOutputType>[];
                };
                count: {
                    args: Prisma.AuditLogCountArgs<ExtArgs>;
                    result: runtime.Types.Utils.Optional<Prisma.AuditLogCountAggregateOutputType> | number;
                };
            };
        };
    };
} & {
    other: {
        payload: any;
        operations: {
            $executeRaw: {
                args: [query: TemplateStringsArray | Sql, ...values: any[]];
                result: any;
            };
            $executeRawUnsafe: {
                args: [query: string, ...values: any[]];
                result: any;
            };
            $queryRaw: {
                args: [query: TemplateStringsArray | Sql, ...values: any[]];
                result: any;
            };
            $queryRawUnsafe: {
                args: [query: string, ...values: any[]];
                result: any;
            };
        };
    };
};
export declare const TransactionIsolationLevel: {
    readonly ReadUncommitted: "ReadUncommitted";
    readonly ReadCommitted: "ReadCommitted";
    readonly RepeatableRead: "RepeatableRead";
    readonly Serializable: "Serializable";
};
export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel];
export declare const UserScalarFieldEnum: {
    readonly id: "id";
    readonly email: "email";
    readonly hash: "hash";
    readonly firstName: "firstName";
    readonly lastName: "lastName";
    readonly roleId: "roleId";
    readonly createdAt: "createdAt";
    readonly modifiedAt: "modifiedAt";
};
export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum];
export declare const RoleScalarFieldEnum: {
    readonly id: "id";
    readonly code: "code";
    readonly name: "name";
    readonly accessAllBranch: "accessAllBranch";
    readonly createdAt: "createdAt";
    readonly modifiedAt: "modifiedAt";
};
export type RoleScalarFieldEnum = (typeof RoleScalarFieldEnum)[keyof typeof RoleScalarFieldEnum];
export declare const BranchScalarFieldEnum: {
    readonly id: "id";
    readonly code: "code";
    readonly name: "name";
    readonly address: "address";
    readonly beginEffective: "beginEffective";
    readonly endEffective: "endEffective";
    readonly createdAt: "createdAt";
    readonly modifiedAt: "modifiedAt";
};
export type BranchScalarFieldEnum = (typeof BranchScalarFieldEnum)[keyof typeof BranchScalarFieldEnum];
export declare const UserBranchScalarFieldEnum: {
    readonly id: "id";
    readonly userId: "userId";
    readonly branchId: "branchId";
};
export type UserBranchScalarFieldEnum = (typeof UserBranchScalarFieldEnum)[keyof typeof UserBranchScalarFieldEnum];
export declare const HeaderSettingScalarFieldEnum: {
    readonly id: "id";
    readonly code: "code";
    readonly description: "description";
    readonly status: "status";
    readonly createdAt: "createdAt";
    readonly modifiedAt: "modifiedAt";
};
export type HeaderSettingScalarFieldEnum = (typeof HeaderSettingScalarFieldEnum)[keyof typeof HeaderSettingScalarFieldEnum];
export declare const DetailSettingScalarFieldEnum: {
    readonly id: "id";
    readonly headerId: "headerId";
    readonly code: "code";
    readonly name: "name";
    readonly description: "description";
    readonly status: "status";
    readonly beginEffective: "beginEffective";
    readonly endEffective: "endEffective";
    readonly createdAt: "createdAt";
    readonly modifiedAt: "modifiedAt";
};
export type DetailSettingScalarFieldEnum = (typeof DetailSettingScalarFieldEnum)[keyof typeof DetailSettingScalarFieldEnum];
export declare const BankScalarFieldEnum: {
    readonly id: "id";
    readonly code: "code";
    readonly name: "name";
    readonly status: "status";
    readonly createdAt: "createdAt";
    readonly modifiedAt: "modifiedAt";
};
export type BankScalarFieldEnum = (typeof BankScalarFieldEnum)[keyof typeof BankScalarFieldEnum];
export declare const CustomerScalarFieldEnum: {
    readonly id: "id";
    readonly code: "code";
    readonly fullName: "fullName";
    readonly phoneNumber: "phoneNumber";
    readonly ktpNumber: "ktpNumber";
    readonly ktpPhotoUrl: "ktpPhotoUrl";
    readonly address: "address";
    readonly createdAt: "createdAt";
    readonly modifiedAt: "modifiedAt";
};
export type CustomerScalarFieldEnum = (typeof CustomerScalarFieldEnum)[keyof typeof CustomerScalarFieldEnum];
export declare const TransactionScalarFieldEnum: {
    readonly id: "id";
    readonly trxCode: "trxCode";
    readonly branchId: "branchId";
    readonly customerId: "customerId";
    readonly status: "status";
    readonly totalGrossWeight: "totalGrossWeight";
    readonly totalNetWeight: "totalNetWeight";
    readonly totalAmount: "totalAmount";
    readonly bankId: "bankId";
    readonly bankAccountNo: "bankAccountNo";
    readonly bankAccountName: "bankAccountName";
    readonly referralSource: "referralSource";
    readonly knowsFounder: "knowsFounder";
    readonly createdBy: "createdBy";
    readonly createdAt: "createdAt";
    readonly modifiedBy: "modifiedBy";
    readonly modifiedAt: "modifiedAt";
    readonly cancellationReason: "cancellationReason";
    readonly cancelledBy: "cancelledBy";
    readonly cancelledAt: "cancelledAt";
    readonly completedBy: "completedBy";
    readonly completedAt: "completedAt";
    readonly headStoreId: "headStoreId";
};
export type TransactionScalarFieldEnum = (typeof TransactionScalarFieldEnum)[keyof typeof TransactionScalarFieldEnum];
export declare const TransactionItemScalarFieldEnum: {
    readonly id: "id";
    readonly transactionId: "transactionId";
    readonly itemCode: "itemCode";
    readonly itemTypeId: "itemTypeId";
    readonly grossWeight: "grossWeight";
    readonly netWeight: "netWeight";
    readonly caratId: "caratId";
    readonly pricePerGram: "pricePerGram";
    readonly pricePerGramAt: "pricePerGramAt";
    readonly purityPercent: "purityPercent";
    readonly totalPrice: "totalPrice";
    readonly isAdjusted: "isAdjusted";
    readonly createdAt: "createdAt";
    readonly modifiedAt: "modifiedAt";
};
export type TransactionItemScalarFieldEnum = (typeof TransactionItemScalarFieldEnum)[keyof typeof TransactionItemScalarFieldEnum];
export declare const TempPhotoScalarFieldEnum: {
    readonly id: "id";
    readonly filename: "filename";
    readonly url: "url";
    readonly mimetype: "mimetype";
    readonly size: "size";
    readonly createdAt: "createdAt";
};
export type TempPhotoScalarFieldEnum = (typeof TempPhotoScalarFieldEnum)[keyof typeof TempPhotoScalarFieldEnum];
export declare const TransactionItemPhotoScalarFieldEnum: {
    readonly id: "id";
    readonly itemId: "itemId";
    readonly url: "url";
    readonly filename: "filename";
    readonly mimetype: "mimetype";
    readonly size: "size";
    readonly order: "order";
    readonly createdAt: "createdAt";
};
export type TransactionItemPhotoScalarFieldEnum = (typeof TransactionItemPhotoScalarFieldEnum)[keyof typeof TransactionItemPhotoScalarFieldEnum];
export declare const ItemTypeScalarFieldEnum: {
    readonly id: "id";
    readonly code: "code";
    readonly name: "name";
    readonly desc: "desc";
    readonly status: "status";
    readonly createdAt: "createdAt";
    readonly modifiedAt: "modifiedAt";
};
export type ItemTypeScalarFieldEnum = (typeof ItemTypeScalarFieldEnum)[keyof typeof ItemTypeScalarFieldEnum];
export declare const PricingHeaderScalarFieldEnum: {
    readonly id: "id";
    readonly itemTypeId: "itemTypeId";
    readonly code: "code";
    readonly name: "name";
    readonly weight: "weight";
    readonly unit: "unit";
    readonly description: "description";
    readonly status: "status";
    readonly effectiveDate: "effectiveDate";
    readonly createdAt: "createdAt";
    readonly modifiedAt: "modifiedAt";
};
export type PricingHeaderScalarFieldEnum = (typeof PricingHeaderScalarFieldEnum)[keyof typeof PricingHeaderScalarFieldEnum];
export declare const PricingDetailScalarFieldEnum: {
    readonly id: "id";
    readonly headerId: "headerId";
    readonly itemTypeId: "itemTypeId";
    readonly pricePerUnit: "pricePerUnit";
    readonly weight: "weight";
    readonly unit: "unit";
    readonly status: "status";
    readonly beginEffective: "beginEffective";
    readonly endEffective: "endEffective";
    readonly createdAt: "createdAt";
    readonly modifiedAt: "modifiedAt";
    readonly createdBy: "createdBy";
    readonly modifiedBy: "modifiedBy";
};
export type PricingDetailScalarFieldEnum = (typeof PricingDetailScalarFieldEnum)[keyof typeof PricingDetailScalarFieldEnum];
export declare const TransactionItemDocScalarFieldEnum: {
    readonly id: "id";
    readonly transactionItemId: "transactionItemId";
    readonly type: "type";
    readonly url: "url";
    readonly filename: "filename";
    readonly mimetype: "mimetype";
    readonly size: "size";
    readonly order: "order";
    readonly createdAt: "createdAt";
};
export type TransactionItemDocScalarFieldEnum = (typeof TransactionItemDocScalarFieldEnum)[keyof typeof TransactionItemDocScalarFieldEnum];
export declare const TransactionDocScalarFieldEnum: {
    readonly id: "id";
    readonly transactionId: "transactionId";
    readonly type: "type";
    readonly url: "url";
    readonly filename: "filename";
    readonly mimetype: "mimetype";
    readonly size: "size";
    readonly order: "order";
    readonly createdAt: "createdAt";
};
export type TransactionDocScalarFieldEnum = (typeof TransactionDocScalarFieldEnum)[keyof typeof TransactionDocScalarFieldEnum];
export declare const ApprovalScalarFieldEnum: {
    readonly id: "id";
    readonly transactionId: "transactionId";
    readonly role: "role";
    readonly approvedBy: "approvedBy";
    readonly approvedAt: "approvedAt";
    readonly notes: "notes";
};
export type ApprovalScalarFieldEnum = (typeof ApprovalScalarFieldEnum)[keyof typeof ApprovalScalarFieldEnum];
export declare const PaymentScalarFieldEnum: {
    readonly id: "id";
    readonly transactionId: "transactionId";
    readonly transferBy: "transferBy";
    readonly transferDate: "transferDate";
    readonly proofUrl: "proofUrl";
    readonly filename: "filename";
    readonly mimetype: "mimetype";
    readonly size: "size";
    readonly createdAt: "createdAt";
};
export type PaymentScalarFieldEnum = (typeof PaymentScalarFieldEnum)[keyof typeof PaymentScalarFieldEnum];
export declare const TransactionSnapshotScalarFieldEnum: {
    readonly id: "id";
    readonly transactionId: "transactionId";
    readonly totalNetWeight: "totalNetWeight";
    readonly totalAmount: "totalAmount";
    readonly snapshotData: "snapshotData";
    readonly createdAt: "createdAt";
};
export type TransactionSnapshotScalarFieldEnum = (typeof TransactionSnapshotScalarFieldEnum)[keyof typeof TransactionSnapshotScalarFieldEnum];
export declare const NoteScalarFieldEnum: {
    readonly id: "id";
    readonly entityType: "entityType";
    readonly entityId: "entityId";
    readonly type: "type";
    readonly content: "content";
    readonly createdBy: "createdBy";
    readonly createdAt: "createdAt";
};
export type NoteScalarFieldEnum = (typeof NoteScalarFieldEnum)[keyof typeof NoteScalarFieldEnum];
export declare const TxnRunumScalarFieldEnum: {
    readonly id: "id";
    readonly runumId: "runumId";
    readonly reset: "reset";
    readonly nid: "nid";
    readonly createdAt: "createdAt";
    readonly modifiedAt: "modifiedAt";
};
export type TxnRunumScalarFieldEnum = (typeof TxnRunumScalarFieldEnum)[keyof typeof TxnRunumScalarFieldEnum];
export declare const AuditLogScalarFieldEnum: {
    readonly id: "id";
    readonly entityType: "entityType";
    readonly entityId: "entityId";
    readonly headerEntityType: "headerEntityType";
    readonly headerEntityId: "headerEntityId";
    readonly fieldName: "fieldName";
    readonly oldValue: "oldValue";
    readonly newValue: "newValue";
    readonly changedBy: "changedBy";
    readonly changedAt: "changedAt";
};
export type AuditLogScalarFieldEnum = (typeof AuditLogScalarFieldEnum)[keyof typeof AuditLogScalarFieldEnum];
export declare const SortOrder: {
    readonly asc: "asc";
    readonly desc: "desc";
};
export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder];
export declare const JsonNullValueInput: {
    readonly JsonNull: runtime.JsonNullClass;
};
export type JsonNullValueInput = (typeof JsonNullValueInput)[keyof typeof JsonNullValueInput];
export declare const QueryMode: {
    readonly default: "default";
    readonly insensitive: "insensitive";
};
export type QueryMode = (typeof QueryMode)[keyof typeof QueryMode];
export declare const NullsOrder: {
    readonly first: "first";
    readonly last: "last";
};
export type NullsOrder = (typeof NullsOrder)[keyof typeof NullsOrder];
export declare const JsonNullValueFilter: {
    readonly DbNull: runtime.DbNullClass;
    readonly JsonNull: runtime.JsonNullClass;
    readonly AnyNull: runtime.AnyNullClass;
};
export type JsonNullValueFilter = (typeof JsonNullValueFilter)[keyof typeof JsonNullValueFilter];
export type StringFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'String'>;
export type ListStringFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'String[]'>;
export type DateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime'>;
export type ListDateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime[]'>;
export type BooleanFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Boolean'>;
export type EnumSettingStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'SettingStatus'>;
export type ListEnumSettingStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'SettingStatus[]'>;
export type EnumTransactionStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'TransactionStatus'>;
export type ListEnumTransactionStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'TransactionStatus[]'>;
export type DecimalFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Decimal'>;
export type ListDecimalFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Decimal[]'>;
export type IntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Int'>;
export type ListIntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Int[]'>;
export type EnumTransactionDocTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'TransactionDocType'>;
export type ListEnumTransactionDocTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'TransactionDocType[]'>;
export type EnumApprovalRoleFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'ApprovalRole'>;
export type ListEnumApprovalRoleFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'ApprovalRole[]'>;
export type JsonFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Json'>;
export type EnumQueryModeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'QueryMode'>;
export type EnumNoteEntityTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'NoteEntityType'>;
export type ListEnumNoteEntityTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'NoteEntityType[]'>;
export type EnumNoteTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'NoteType'>;
export type ListEnumNoteTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'NoteType[]'>;
export type FloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float'>;
export type ListFloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float[]'>;
export type BatchPayload = {
    count: number;
};
export declare const defineExtension: runtime.Types.Extensions.ExtendsHook<"define", TypeMapCb, runtime.Types.Extensions.DefaultArgs>;
export type DefaultPrismaClient = PrismaClient;
export type ErrorFormat = 'pretty' | 'colorless' | 'minimal';
export type PrismaClientOptions = ({
    adapter: runtime.SqlDriverAdapterFactory;
    accelerateUrl?: never;
} | {
    accelerateUrl: string;
    adapter?: never;
}) & {
    errorFormat?: ErrorFormat;
    log?: (LogLevel | LogDefinition)[];
    transactionOptions?: {
        maxWait?: number;
        timeout?: number;
        isolationLevel?: TransactionIsolationLevel;
    };
    omit?: GlobalOmitConfig;
    comments?: runtime.SqlCommenterPlugin[];
};
export type GlobalOmitConfig = {
    user?: Prisma.UserOmit;
    role?: Prisma.RoleOmit;
    branch?: Prisma.BranchOmit;
    userBranch?: Prisma.UserBranchOmit;
    headerSetting?: Prisma.HeaderSettingOmit;
    detailSetting?: Prisma.DetailSettingOmit;
    bank?: Prisma.BankOmit;
    customer?: Prisma.CustomerOmit;
    transaction?: Prisma.TransactionOmit;
    transactionItem?: Prisma.TransactionItemOmit;
    tempPhoto?: Prisma.TempPhotoOmit;
    transactionItemPhoto?: Prisma.TransactionItemPhotoOmit;
    itemType?: Prisma.ItemTypeOmit;
    pricingHeader?: Prisma.PricingHeaderOmit;
    pricingDetail?: Prisma.PricingDetailOmit;
    transactionItemDoc?: Prisma.TransactionItemDocOmit;
    transactionDoc?: Prisma.TransactionDocOmit;
    approval?: Prisma.ApprovalOmit;
    payment?: Prisma.PaymentOmit;
    transactionSnapshot?: Prisma.TransactionSnapshotOmit;
    note?: Prisma.NoteOmit;
    txnRunum?: Prisma.TxnRunumOmit;
    auditLog?: Prisma.AuditLogOmit;
};
export type LogLevel = 'info' | 'query' | 'warn' | 'error';
export type LogDefinition = {
    level: LogLevel;
    emit: 'stdout' | 'event';
};
export type CheckIsLogLevel<T> = T extends LogLevel ? T : never;
export type GetLogType<T> = CheckIsLogLevel<T extends LogDefinition ? T['level'] : T>;
export type GetEvents<T extends any[]> = T extends Array<LogLevel | LogDefinition> ? GetLogType<T[number]> : never;
export type QueryEvent = {
    timestamp: Date;
    query: string;
    params: string;
    duration: number;
    target: string;
};
export type LogEvent = {
    timestamp: Date;
    message: string;
    target: string;
};
export type PrismaAction = 'findUnique' | 'findUniqueOrThrow' | 'findMany' | 'findFirst' | 'findFirstOrThrow' | 'create' | 'createMany' | 'createManyAndReturn' | 'update' | 'updateMany' | 'updateManyAndReturn' | 'upsert' | 'delete' | 'deleteMany' | 'executeRaw' | 'queryRaw' | 'aggregate' | 'count' | 'runCommandRaw' | 'findRaw' | 'groupBy';
export type TransactionClient = Omit<DefaultPrismaClient, runtime.ITXClientDenyList>;
