import { CreateTaxRateInput, DeletionResponse, UpdateTaxRateInput } from '@subit/common/lib/generated-types'; import { ID, PaginatedList } from '@subit/common/lib/shared-types'; import { RequestContext } from '../../api/common/request-context'; import { RequestContextCacheService } from '../../cache'; import { ListQueryOptions } from '../../common/types/common-types'; import { TaxCategory } from '../../entity/tax-category/tax-category.entity'; import { TaxRate } from '../../entity/tax-rate/tax-rate.entity'; import { Zone } from '../../entity/zone/zone.entity'; import { EventBus } from '../../event-bus/event-bus'; import { ListQueryBuilder } from '../helpers/list-query-builder/list-query-builder'; import { TransactionalConnection } from '../transaction/transactional-connection'; export declare class TaxRateService { private connection; private eventBus; private listQueryBuilder; private cacheService; private readonly defaultTaxRate; constructor(connection: TransactionalConnection, eventBus: EventBus, listQueryBuilder: ListQueryBuilder, cacheService: RequestContextCacheService); findAll(ctx: RequestContext, options?: ListQueryOptions): Promise>; findOne(ctx: RequestContext, taxRateId: ID): Promise; create(ctx: RequestContext, input: CreateTaxRateInput): Promise; update(ctx: RequestContext, input: UpdateTaxRateInput): Promise; delete(ctx: RequestContext, id: ID): Promise; getApplicableTaxRate(ctx: RequestContext, zone: Zone, taxCategory: TaxCategory): Promise; getActiveTaxRates(ctx: RequestContext): Promise; updateActiveTaxRates(ctx: RequestContext): Promise; private findActiveTaxRates; }