import { Prisma as PrismaExtension } from '@prisma/client/extension'; import type { BaseStorageAdapter } from './adapters/BaseStorageAdapter.js'; import type { UrlSigner } from './UrlSigner.js'; type FilterOutDollarPrefixed = T extends `$${string}` ? never : T extends symbol ? never : T; export type ModelNamesFor = FilterOutDollarPrefixed; type PrismaModelFields> = keyof PrismaExtension.Result; export type UploadConfigForModel> = { fields: PrismaModelFields | PrismaModelFields[]; }; export type UploadsConfig = ModelNamesFor> = { [K in MNames]?: UploadConfigForModel; }; type WithSignedUrlArgs = { expiresIn?: number; }; export declare const createUploadsExtension: = ModelNamesFor>(config: UploadsConfig, storageAdapter: BaseStorageAdapter, urlSigner?: UrlSigner) => (client: any) => import("@prisma/client/extension").PrismaClientExtends; compute: (modelData: Record) => (this: T) => Promise; }; withSignedUrl: { needs: Record; compute: (modelData: Record) => (this: T, signArgs?: WithSignedUrlArgs) => T; }; }; }, {}, {}, {}> & import("@prisma/client/runtime/client").DefaultArgs>; export {}; //# sourceMappingURL=prismaExtension.d.ts.map