import { CreateCustomerGroupInput, CustomerGroupListOptions, CustomerListOptions, DeletionResponse, MutationAddCustomersToGroupArgs, MutationRemoveCustomersFromGroupArgs, UpdateCustomerGroupInput } from '@subit/common/lib/generated-types'; import { ID, PaginatedList } from '@subit/common/lib/shared-types'; import { RequestContext } from '../../api/common/request-context'; import { CustomerGroup } from '../../entity/customer-group/customer-group.entity'; import { Customer } from '../../entity/customer/customer.entity'; import { EventBus } from '../../event-bus/event-bus'; import { ListQueryBuilder } from '../helpers/list-query-builder/list-query-builder'; import { TransactionalConnection } from '../transaction/transactional-connection'; import { HistoryService } from './history.service'; export declare class CustomerGroupService { private connection; private listQueryBuilder; private historyService; private eventBus; constructor(connection: TransactionalConnection, listQueryBuilder: ListQueryBuilder, historyService: HistoryService, eventBus: EventBus); findAll(ctx: RequestContext, options?: CustomerGroupListOptions): Promise>; findOne(ctx: RequestContext, customerGroupId: ID): Promise; getGroupCustomers(ctx: RequestContext, customerGroupId: ID, options?: CustomerListOptions): Promise>; create(ctx: RequestContext, input: CreateCustomerGroupInput): Promise; update(ctx: RequestContext, input: UpdateCustomerGroupInput): Promise; delete(ctx: RequestContext, id: ID): Promise; addCustomersToGroup(ctx: RequestContext, input: MutationAddCustomersToGroupArgs): Promise; removeCustomersFromGroup(ctx: RequestContext, input: MutationRemoveCustomersFromGroupArgs): Promise; private getCustomersFromIds; }