import { Axios } from 'axios';
import { BadRequest, Response } from '../interface';
import { CreateInvoice, InvoiceCreatedResponse, InvoiceQueryParams, InvoiceTotalResponse, ListInvoicesResponse, UpdateInvoice, ViewInvoiceResponse } from './interface';
export declare class Invoice {
    private http;
    constructor(http: Axios);
    create(data: CreateInvoice): Promise<InvoiceCreatedResponse | BadRequest>;
    list(queryParams?: InvoiceQueryParams): Promise<ListInvoicesResponse | BadRequest>;
    view(id: string): Promise<ViewInvoiceResponse | BadRequest>;
    verify(code: string): Promise<ViewInvoiceResponse | BadRequest>;
    sendNotification(code: string): Promise<Response | BadRequest>;
    total(): Promise<InvoiceTotalResponse | BadRequest>;
    finalize(code: string): Promise<ViewInvoiceResponse | BadRequest>;
    update(id: string, data: UpdateInvoice): Promise<ViewInvoiceResponse | BadRequest>;
    archive(code: string): Promise<Response | BadRequest>;
}
