import { OnApplicationBootstrap } from '@nestjs/common'; import { ID } from '@vendure/common/lib/shared-types'; import { RequestContext } from '../../../api/common/request-context'; import { Asset } from '../../../entity/asset/asset.entity'; import { Product } from '../../../entity/product/product.entity'; import { ProductVariant } from '../../../entity/product-variant/product-variant.entity'; import { JobQueueService } from '../../../job-queue/job-queue.service'; import { UpdateIndexQueueJobData } from '../types'; import { IndexerController } from './indexer.controller'; /** * This service is responsible for messaging the {@link IndexerController} with search index updates. */ export declare class SearchIndexService implements OnApplicationBootstrap { private jobService; private indexerController; private updateIndexQueue; constructor(jobService: JobQueueService, indexerController: IndexerController); onApplicationBootstrap(): Promise; reindex(ctx: RequestContext): Promise>; updateProduct(ctx: RequestContext, product: Product): Promise>; updateVariants(ctx: RequestContext, variants: ProductVariant[]): Promise>; deleteProduct(ctx: RequestContext, product: Product): Promise>; deleteVariant(ctx: RequestContext, variants: ProductVariant[]): Promise>; updateVariantsById(ctx: RequestContext, ids: ID[]): Promise>; updateAsset(ctx: RequestContext, asset: Asset): Promise>; deleteAsset(ctx: RequestContext, asset: Asset): Promise>; assignProductToChannel(ctx: RequestContext, productId: ID, channelId: ID): Promise>; removeProductFromChannel(ctx: RequestContext, productId: ID, channelId: ID): Promise>; assignVariantToChannel(ctx: RequestContext, productVariantId: ID, channelId: ID): Promise>; removeVariantFromChannel(ctx: RequestContext, productVariantId: ID, channelId: ID): Promise>; private jobWithProgress; }