import { TBaseFilter, TDeleteManyInput, TPagedList, TPagedParams, TProductVariant, TProductVariantInput } from '@cromwell/core'; import { SelectQueryBuilder } from 'typeorm'; import { ProductVariant } from '../models/entities/product-variant.entity'; import { Product } from '../models/entities/product.entity'; import { BaseRepository } from './base.repository'; export declare class ProductVariantRepository extends BaseRepository { private productRepo; constructor(); getProductVariants(params?: TPagedParams): Promise>; getProductVariant(id: number): Promise; handleProductVariantInput(productVariant: ProductVariant, input: TProductVariantInput, action: 'update' | 'create', product?: Product | null): Promise; createProductVariant(createProductVariant: TProductVariantInput, id?: number | null, product?: Product): Promise; updateProductVariant(id: number, updateProductVariant: TProductVariantInput, product?: Product): Promise; deleteProductVariant(id: number): Promise; applyProductVariantFilter(qb: SelectQueryBuilder, filterParams?: TBaseFilter): void; getFilteredProductVariants(pagedParams?: TPagedParams, filterParams?: TBaseFilter): Promise>; deleteManyFilteredProductVariants(input: TDeleteManyInput, filterParams?: TBaseFilter): Promise; handleVariantsInputForProduct(product: Product, variants: TProductVariantInput[]): Promise; } //# sourceMappingURL=product-variant.repository.d.ts.map