import { type PaymentSettingsOptions } from '../payment-settings.ts'; import type { ModuleInput } from '@unchainedshop/mongodb'; export declare const configurePaymentModule: ({ db, options: paymentOptions, }: ModuleInput) => Promise<{ paymentProviders: { count: (query?: import("./configurePaymentProvidersModule.ts").PaymentProviderQuery) => Promise; findProvider: ({ paymentProviderId, ...query }: import("mongodb").Filter & { paymentProviderId: string; }, options?: import("mongodb").FindOptions) => Promise; findProviders: (query?: import("./configurePaymentProvidersModule.ts").PaymentProviderQuery, options?: import("mongodb").FindOptions) => Promise; allProviders: import("@unchainedshop/utils/lib/memoize-with-ttl.js").MemoizedWithTTL<[], import("mongodb").WithId[]>; providerExists: ({ paymentProviderId }: { paymentProviderId: string; }) => Promise; create: (doc: Omit & Pick, "_id" | "created">) => Promise; update: (_id: string, doc: import("../db/PaymentProvidersCollection.ts").PaymentProvider) => Promise | null>; delete: (_id: string) => Promise | null>; }; paymentCredentials: { markPreferred: ({ userId, paymentCredentialsId, }: { userId: string; paymentCredentialsId: string; }) => Promise | null>; count(query: import("mongodb").Filter): Promise; credentialsExists: ({ paymentCredentialsId, }: { paymentCredentialsId: string; }) => Promise; findPaymentCredential: ({ paymentCredentialsId, userId, paymentProviderId, isPreferred, }: { paymentCredentialsId?: string; userId?: string; paymentProviderId?: string; isPreferred?: boolean; }, options?: import("mongodb").FindOptions) => Promise; findPaymentCredentials: (query: import("mongodb").Filter, options?: import("mongodb").FindOptions) => Promise; upsertCredentials: ({ userId, paymentProviderId, _id, token, ...meta }: Partial & { userId: import("../db/PaymentCredentialsCollection.ts").PaymentCredentials["userId"]; paymentProviderId: import("../db/PaymentCredentialsCollection.ts").PaymentCredentials["paymentProviderId"]; _id?: import("../db/PaymentCredentialsCollection.ts").PaymentCredentials["_id"]; token?: import("../db/PaymentCredentialsCollection.ts").PaymentCredentials["token"]; } & Record) => Promise; removeCredentials: (paymentCredentialsId: string) => Promise | null>; deleteUserPaymentCredentials: (userId: string) => Promise; }; }>; export type PaymentModule = Awaited>;