import { TenantConnectionService } from '@/modules/tenant/tenant-connection.service';
import { Customer } from './entities/customer.entity';
import { CreateCustomerDto } from './dto/create-customer.dto';
import { UpdateCustomerDto } from './dto/update-customer.dto';
import { BaseTenantService } from '@/common/base/service/base-crud.service';
import { Request } from 'express';
import { FindOneOptions } from 'typeorm';
export declare class CustomersService extends BaseTenantService<Customer> {
    protected readonly tenantConnectionService: TenantConnectionService;
    protected entity: typeof Customer;
    constructor(tenantConnectionService: TenantConnectionService);
    findOneCustomer(options: FindOneOptions<Customer>): Promise<Customer | null>;
    createCustomer(dto: CreateCustomerDto, userId: number): Promise<Customer>;
    updateCustomer(id: number, dto: UpdateCustomerDto): Promise<Customer>;
    removeCustomer(id: number): Promise<{
        deleted: boolean;
    }>;
    bulkDelete(ids: (number | string)[]): Promise<{
        success: boolean;
        deletedCount: number;
        ids: (string | number)[];
    }>;
    searchCustomers(page: number, perPage: number, filters: Record<string, any>, req: Request): Promise<import("../../common/interfaces/pagination-result.interface").PaginationResult<Customer>>;
}
