import { InvoiceDto } from '../models';
import { IService } from 'loopback4-billing';
import { InvoiceRepository, BillingCustomerRepository } from '../repositories';
import { TransactionDto } from '../models/dto/transaction-dto.model';
export declare class BillingInvoiceService {
    private readonly billingCustomerRepository;
    private readonly invoiceRepository;
    private readonly billingProvider;
    constructor(billingCustomerRepository: BillingCustomerRepository, invoiceRepository: InvoiceRepository, billingProvider: IService);
    createInvoice(invoiceDto: Omit<InvoiceDto, 'id' | 'status'>): Promise<InvoiceDto>;
    getInvoice(invoiceId: string): Promise<InvoiceDto>;
    applyPayment(invoiceId: string, transactionDto: TransactionDto): Promise<void>;
    deleteInvoice(invoiceId: string): Promise<void>;
}
