import { mongodb } from '@unchainedshop/mongodb'; import type { PaymentProvider, PaymentProviderType } from '../db/PaymentProvidersCollection.ts'; export interface PaymentInterface { _id: string; label: string; version: string; } export interface PaymentProviderQuery { paymentProviderIds?: string[]; type?: PaymentProviderType; includeDeleted?: boolean; queryString?: string; } export declare const buildFindSelector: ({ includeDeleted, queryString, paymentProviderIds, type, }?: PaymentProviderQuery) => mongodb.Filter; export declare const configurePaymentProvidersModule: (PaymentProviders: mongodb.Collection) => { count: (query?: PaymentProviderQuery) => Promise; findProvider: ({ paymentProviderId, ...query }: mongodb.Filter & { paymentProviderId: string; }, options?: mongodb.FindOptions) => Promise; findProviders: (query?: PaymentProviderQuery, options?: mongodb.FindOptions) => Promise; allProviders: import("@unchainedshop/utils/lib/memoize-with-ttl.js").MemoizedWithTTL<[], mongodb.WithId[]>; providerExists: ({ paymentProviderId }: { paymentProviderId: string; }) => Promise; create: (doc: Omit & Pick, "_id" | "created">) => Promise; update: (_id: string, doc: PaymentProvider) => Promise | null>; delete: (_id: string) => Promise | null>; }; export type PaymentProvidersModule = ReturnType;