import { ProductTaxRate, ProductTypeTaxRate, ShippingTaxRate, TaxRate } from "../models"; import { TaxRateRepository } from "../repositories/tax-rate"; import ProductService from "../services/product"; import ProductTypeService from "../services/product-type"; import ShippingOptionService from "../services/shipping-option"; import { FindConfig } from "../types/common"; import { CreateTaxRateInput, FilterableTaxRateProps, TaxRateListByConfig, UpdateTaxRateInput } from "../types/tax-rate"; import { TransactionBaseService } from "../interfaces"; declare class TaxRateService extends TransactionBaseService { protected readonly productService_: ProductService; protected readonly productTypeService_: ProductTypeService; protected readonly shippingOptionService_: ShippingOptionService; protected readonly taxRateRepository_: typeof TaxRateRepository; constructor({ productService, productTypeService, shippingOptionService, taxRateRepository, }: { productService: any; productTypeService: any; shippingOptionService: any; taxRateRepository: any; }); list(selector: FilterableTaxRateProps, config?: FindConfig): Promise; listAndCount(selector: FilterableTaxRateProps, config?: FindConfig): Promise<[TaxRate[], number]>; retrieve(taxRateId: string, config?: FindConfig): Promise; create(data: CreateTaxRateInput): Promise; update(id: string, data: UpdateTaxRateInput): Promise; delete(id: string | string[]): Promise; removeFromProduct(id: string, productIds: string | string[]): Promise; removeFromProductType(id: string, typeIds: string | string[]): Promise; removeFromShippingOption(id: string, optionIds: string | string[]): Promise; addToProduct(id: string, productIds: string | string[], replace?: boolean): Promise; addToProductType(id: string, productTypeIds: string | string[], replace?: boolean): Promise; addToShippingOption(id: string, optionIds: string | string[], replace?: boolean): Promise; listByProduct(productId: string, config: TaxRateListByConfig): Promise; listByShippingOption(shippingOptionId: string): Promise; } export default TaxRateService;