import { Filter } from '@loopback/repository';
import { CustomerDto } from '../models';
import { BillingCustomer } from '../models/billing-customer.model';
import { InvoiceRepository, BillingCustomerRepository } from '../repositories';
import { IService } from 'loopback4-billing';
export declare class BillingCustomerService {
    private readonly billingCustomerRepo;
    private readonly invoiceRepo;
    private readonly billingProvider;
    constructor(billingCustomerRepo: BillingCustomerRepository, invoiceRepo: InvoiceRepository, billingProvider: IService);
    createCustomer(customerDto: Omit<CustomerDto, 'id'>, tenantId: string): Promise<CustomerDto>;
    private mapToCustomerDto;
    getCustomer(filter?: Filter<BillingCustomer>): Promise<{
        customerDetails: CustomerDto;
        info: BillingCustomer;
    }>;
    updateCustomerByTenantId(tenantId: string, customerDto: Partial<CustomerDto>): Promise<void>;
    deleteCustomerByTenantId(tenantId: string): Promise<void>;
}
