import { CustomerDisplayImage, MENU_VERSION, BusinessCustomAttribute } from './business.interface'; import { AdminUpdateBusiness, Business, Restaurant, UpdateBusinessProfile } from './business.model'; import { ReturnModelType } from '@typegoose/typegoose'; import { CouchdbStaticService } from '~backend/couchdb/couchdb-static/couchdb-static.service'; import { FlagsmithService } from '~backend/flagsmith/flagsmith.service'; export declare class BusinessService { readonly businessModel: ReturnModelType; readonly restaurantModel: ReturnModelType; private readonly couchdbStaticService; private readonly flagsmithService; private readonly logger; constructor(businessModel: ReturnModelType, restaurantModel: ReturnModelType, couchdbStaticService: CouchdbStaticService, flagsmithService: FlagsmithService); all(): Promise; pagination(payload: { skip: number; limit: number; sortBy: string; descending: boolean; query: any; }): any; getAgentBusiness(agentId: string): Promise; getOwnerBusiness(ownerId: string): Promise; find(id: string): Promise; findByExactName(name: string): Promise; updateMenuVersion(id: string, { menuVersion }: { menuVersion: MENU_VERSION; }): Promise; setNewSubscriptionRules(businessId: string): Promise; create(payload: Business): Promise; adminUpdate(id: string, payload: AdminUpdateBusiness): Promise; changeOwner(id: string, newOwnerId: string): Promise; updateProfile(id: string, payload: UpdateBusinessProfile): Promise; validateUrl(id: string, url?: string): Promise; delete(id: string): Promise; private publishCustomerDisplayImages; updateCustomerDisplayImages(id: string, images: CustomerDisplayImage[], publishRestaurants?: string[]): Promise; updateAttributes(id: string, attributeSettings: BusinessCustomAttribute[]): Promise; }