import { Filter } from '@loopback/repository';
import { BillingCustomer } from '../models/billing-customer.model';
import { CustomerDto } from '../models/dto/customer-dto.model';
import { BillingCustomerService } from '../services/billing-customer.service';
export declare class BillingCustomerController {
    private readonly billingCustomerService;
    /**
     * This TypeScript constructor injects the BillingCustomerService dependency using the @inject
     * decorator.
     * @param {BillingCustomerService} billingCustomerService - The `billingCustomerService` parameter is
     * an instance of the `BillingCustomerService` class that is being injected into the constructor
     * using dependency injection. This allows the class to have access to the functionality provided by
     * the `BillingCustomerService` class within its methods.
     */
    constructor(billingCustomerService: BillingCustomerService);
    create(customerDto: Omit<CustomerDto, 'id'>, tenantId: string): Promise<CustomerDto>;
    getCustomer(filter?: Filter<BillingCustomer>): Promise<{
        customerDetails: CustomerDto;
        info: BillingCustomer;
    }>;
    updateById(tenantId: string, customerDto: Partial<CustomerDto>): Promise<void>;
    deleteById(tenantId: string): Promise<void>;
}
