import type { Db } from "../types.js"; export declare class VendorService { private db; constructor(db: Db); create(orgId: string, data: { name: string; slug?: string; email?: string; description?: string; commissionRateBps?: number; metadata?: Record; }): Promise<{ email: string | null; name: string; id: string; createdAt: Date; updatedAt: Date; status: string; metadata: Record | null; description: string | null; slug: string | null; organizationId: string; bankAccount: { accountHolder?: string; bankName?: string; routingNumber?: string; accountNumber?: string; iban?: string; swift?: string; } | null; logoUrl: string | null; taxId: string | null; bannerUrl: string | null; contactPhone: string | null; businessAddress: { line1?: string; line2?: string; city?: string; state?: string; postalCode?: string; country?: string; } | null; verificationStatus: string; rejectionReason: string | null; approvedCategories: string[] | null; tier: string; performanceScore: number; suspensionReason: string | null; suspendedAt: Date | null; commissionRateBps: number; payoutSchedule: string; payoutMinimumCents: number; holdbackDays: number; storeConnectionProvider: string | null; storeConnectionUrl: string | null; storeAccessToken: string | null; storeConsumerSecret: string | null; storeWebhookSecret: string | null; lastSyncAt: Date | null; syncStatus: string | null; } | undefined>; getById(id: string): Promise<{ id: string; organizationId: string; name: string; slug: string | null; email: string | null; description: string | null; logoUrl: string | null; bannerUrl: string | null; contactPhone: string | null; businessAddress: { line1?: string; line2?: string; city?: string; state?: string; postalCode?: string; country?: string; } | null; bankAccount: { accountHolder?: string; bankName?: string; routingNumber?: string; accountNumber?: string; iban?: string; swift?: string; } | null; taxId: string | null; status: string; verificationStatus: string; rejectionReason: string | null; approvedCategories: string[] | null; tier: string; performanceScore: number; suspensionReason: string | null; suspendedAt: Date | null; commissionRateBps: number; payoutSchedule: string; payoutMinimumCents: number; holdbackDays: number; metadata: Record | null; storeConnectionProvider: string | null; storeConnectionUrl: string | null; storeAccessToken: string | null; storeConsumerSecret: string | null; storeWebhookSecret: string | null; lastSyncAt: Date | null; syncStatus: string | null; createdAt: Date; updatedAt: Date; } | null>; getBySlug(slug: string): Promise<{ id: string; organizationId: string; name: string; slug: string | null; email: string | null; description: string | null; logoUrl: string | null; bannerUrl: string | null; contactPhone: string | null; businessAddress: { line1?: string; line2?: string; city?: string; state?: string; postalCode?: string; country?: string; } | null; bankAccount: { accountHolder?: string; bankName?: string; routingNumber?: string; accountNumber?: string; iban?: string; swift?: string; } | null; taxId: string | null; status: string; verificationStatus: string; rejectionReason: string | null; approvedCategories: string[] | null; tier: string; performanceScore: number; suspensionReason: string | null; suspendedAt: Date | null; commissionRateBps: number; payoutSchedule: string; payoutMinimumCents: number; holdbackDays: number; metadata: Record | null; storeConnectionProvider: string | null; storeConnectionUrl: string | null; storeAccessToken: string | null; storeConsumerSecret: string | null; storeWebhookSecret: string | null; lastSyncAt: Date | null; syncStatus: string | null; createdAt: Date; updatedAt: Date; } | null>; list(filters?: { status?: string; tier?: string; search?: string; }): Promise<{ id: string; organizationId: string; name: string; slug: string | null; email: string | null; description: string | null; logoUrl: string | null; bannerUrl: string | null; contactPhone: string | null; businessAddress: { line1?: string; line2?: string; city?: string; state?: string; postalCode?: string; country?: string; } | null; bankAccount: { accountHolder?: string; bankName?: string; routingNumber?: string; accountNumber?: string; iban?: string; swift?: string; } | null; taxId: string | null; status: string; verificationStatus: string; rejectionReason: string | null; approvedCategories: string[] | null; tier: string; performanceScore: number; suspensionReason: string | null; suspendedAt: Date | null; commissionRateBps: number; payoutSchedule: string; payoutMinimumCents: number; holdbackDays: number; metadata: Record | null; storeConnectionProvider: string | null; storeConnectionUrl: string | null; storeAccessToken: string | null; storeConsumerSecret: string | null; storeWebhookSecret: string | null; lastSyncAt: Date | null; syncStatus: string | null; createdAt: Date; updatedAt: Date; }[]>; update(id: string, data: Partial<{ name: string; slug: string; email: string; description: string; logoUrl: string; bannerUrl: string; contactPhone: string; businessAddress: Record; bankAccount: Record; taxId: string; commissionRateBps: number; payoutSchedule: string; payoutMinimumCents: number; holdbackDays: number; metadata: Record; approvedCategories: string[] | null; tier: string; }>): Promise<{ id: string; organizationId: string; name: string; slug: string | null; email: string | null; description: string | null; logoUrl: string | null; bannerUrl: string | null; contactPhone: string | null; businessAddress: { line1?: string; line2?: string; city?: string; state?: string; postalCode?: string; country?: string; } | null; bankAccount: { accountHolder?: string; bankName?: string; routingNumber?: string; accountNumber?: string; iban?: string; swift?: string; } | null; taxId: string | null; status: string; verificationStatus: string; rejectionReason: string | null; approvedCategories: string[] | null; tier: string; performanceScore: number; suspensionReason: string | null; suspendedAt: Date | null; commissionRateBps: number; payoutSchedule: string; payoutMinimumCents: number; holdbackDays: number; metadata: Record | null; storeConnectionProvider: string | null; storeConnectionUrl: string | null; storeAccessToken: string | null; storeConsumerSecret: string | null; storeWebhookSecret: string | null; lastSyncAt: Date | null; syncStatus: string | null; createdAt: Date; updatedAt: Date; } | null>; approve(id: string): Promise<{ id: string; organizationId: string; name: string; slug: string | null; email: string | null; description: string | null; logoUrl: string | null; bannerUrl: string | null; contactPhone: string | null; businessAddress: { line1?: string; line2?: string; city?: string; state?: string; postalCode?: string; country?: string; } | null; bankAccount: { accountHolder?: string; bankName?: string; routingNumber?: string; accountNumber?: string; iban?: string; swift?: string; } | null; taxId: string | null; status: string; verificationStatus: string; rejectionReason: string | null; approvedCategories: string[] | null; tier: string; performanceScore: number; suspensionReason: string | null; suspendedAt: Date | null; commissionRateBps: number; payoutSchedule: string; payoutMinimumCents: number; holdbackDays: number; metadata: Record | null; storeConnectionProvider: string | null; storeConnectionUrl: string | null; storeAccessToken: string | null; storeConsumerSecret: string | null; storeWebhookSecret: string | null; lastSyncAt: Date | null; syncStatus: string | null; createdAt: Date; updatedAt: Date; } | null>; reject(id: string, reason: string): Promise<{ id: string; organizationId: string; name: string; slug: string | null; email: string | null; description: string | null; logoUrl: string | null; bannerUrl: string | null; contactPhone: string | null; businessAddress: { line1?: string; line2?: string; city?: string; state?: string; postalCode?: string; country?: string; } | null; bankAccount: { accountHolder?: string; bankName?: string; routingNumber?: string; accountNumber?: string; iban?: string; swift?: string; } | null; taxId: string | null; status: string; verificationStatus: string; rejectionReason: string | null; approvedCategories: string[] | null; tier: string; performanceScore: number; suspensionReason: string | null; suspendedAt: Date | null; commissionRateBps: number; payoutSchedule: string; payoutMinimumCents: number; holdbackDays: number; metadata: Record | null; storeConnectionProvider: string | null; storeConnectionUrl: string | null; storeAccessToken: string | null; storeConsumerSecret: string | null; storeWebhookSecret: string | null; lastSyncAt: Date | null; syncStatus: string | null; createdAt: Date; updatedAt: Date; } | null>; suspend(id: string, reason: string): Promise<{ id: string; organizationId: string; name: string; slug: string | null; email: string | null; description: string | null; logoUrl: string | null; bannerUrl: string | null; contactPhone: string | null; businessAddress: { line1?: string; line2?: string; city?: string; state?: string; postalCode?: string; country?: string; } | null; bankAccount: { accountHolder?: string; bankName?: string; routingNumber?: string; accountNumber?: string; iban?: string; swift?: string; } | null; taxId: string | null; status: string; verificationStatus: string; rejectionReason: string | null; approvedCategories: string[] | null; tier: string; performanceScore: number; suspensionReason: string | null; suspendedAt: Date | null; commissionRateBps: number; payoutSchedule: string; payoutMinimumCents: number; holdbackDays: number; metadata: Record | null; storeConnectionProvider: string | null; storeConnectionUrl: string | null; storeAccessToken: string | null; storeConsumerSecret: string | null; storeWebhookSecret: string | null; lastSyncAt: Date | null; syncStatus: string | null; createdAt: Date; updatedAt: Date; } | null>; reinstate(id: string): Promise<{ id: string; organizationId: string; name: string; slug: string | null; email: string | null; description: string | null; logoUrl: string | null; bannerUrl: string | null; contactPhone: string | null; businessAddress: { line1?: string; line2?: string; city?: string; state?: string; postalCode?: string; country?: string; } | null; bankAccount: { accountHolder?: string; bankName?: string; routingNumber?: string; accountNumber?: string; iban?: string; swift?: string; } | null; taxId: string | null; status: string; verificationStatus: string; rejectionReason: string | null; approvedCategories: string[] | null; tier: string; performanceScore: number; suspensionReason: string | null; suspendedAt: Date | null; commissionRateBps: number; payoutSchedule: string; payoutMinimumCents: number; holdbackDays: number; metadata: Record | null; storeConnectionProvider: string | null; storeConnectionUrl: string | null; storeAccessToken: string | null; storeConsumerSecret: string | null; storeWebhookSecret: string | null; lastSyncAt: Date | null; syncStatus: string | null; createdAt: Date; updatedAt: Date; } | null>; uploadDocument(vendorId: string, data: { type: string; fileUrl: string; }): Promise<{ id: string; type: string; status: string; vendorId: string; uploadedAt: Date; fileUrl: string; reviewerNotes: string | null; reviewedAt: Date | null; } | undefined>; listDocuments(vendorId: string): Promise<{ id: string; vendorId: string; type: string; fileUrl: string; status: string; reviewerNotes: string | null; uploadedAt: Date; reviewedAt: Date | null; }[]>; approveDocument(docId: string, notes?: string): Promise<{ id: string; vendorId: string; type: string; fileUrl: string; status: string; reviewerNotes: string | null; uploadedAt: Date; reviewedAt: Date | null; } | null>; rejectDocument(docId: string, notes?: string): Promise<{ id: string; vendorId: string; type: string; fileUrl: string; status: string; reviewerNotes: string | null; uploadedAt: Date; reviewedAt: Date | null; } | null>; } //# sourceMappingURL=vendor.d.ts.map