import { Count, Filter, Where } from '@loopback/repository';
import { InvoiceRepository } from '../repositories';
import { Invoice } from '../models';
import { InvoiceHelperService } from '../services';
export declare class InvoiceController {
    invoiceRepository: InvoiceRepository;
    private readonly invoiceService;
    constructor(invoiceRepository: InvoiceRepository, invoiceService: InvoiceHelperService);
    create(invoice: Omit<Invoice, 'id'>): Promise<Invoice>;
    downloadInvoice(id: string): Promise<void>;
    count(where?: Where<Invoice>): Promise<Count>;
    find(filter?: Filter<Invoice>): Promise<Invoice[]>;
    updateAll(invoice: Invoice, where?: Where<Invoice>): Promise<Count>;
    findById(id: string, filter?: Filter<Invoice>): Promise<Invoice>;
    updateById(id: string, invoice: Invoice): Promise<void>;
    replaceById(id: string, invoice: Invoice): Promise<void>;
    deleteById(id: string): Promise<void>;
}
