import { type InvoiceData } from '../../data/invoices/data';
import type Invoice from '../../data/invoices/Invoice';
import type Page from '../../data/page/Page';
import type TransformingNetworkClient from '../../communication/TransformingNetworkClient';
import type Callback from '../../types/Callback';
import Binder from '../Binder';
import { type IterateParameters, type PageParameters } from './parameters';
export default class InvoicesBinder extends Binder<InvoiceData, Invoice> {
    protected readonly networkClient: TransformingNetworkClient;
    constructor(networkClient: TransformingNetworkClient);
    /**
     * Retrieve a single invoice by its ID.
     *
     * @since 4.6.0
     * @see https://docs.mollie.com/reference/get-invoice
     */
    get(id: string): Promise<Invoice>;
    get(id: string, callback: Callback<Invoice>): void;
    /**
     * Retrieve all invoices on the organization, ordered from newest to oldest.
     *
     * The results are paginated.
     *
     * @since 4.6.0
     * @see https://docs.mollie.com/reference/list-invoices
     */
    page(parameters?: PageParameters): Promise<Page<Invoice>>;
    page(parameters: PageParameters, callback: Callback<Page<Invoice>>): void;
    /**
     * Retrieve all invoices on the organization, ordered from newest to oldest.
     *
     * The results are paginated.
     *
     * @since 4.6.0
     * @see https://docs.mollie.com/reference/list-invoices
     */
    iterate(parameters?: IterateParameters): import("../../plumbing/iteration/HelpfulIterator").default<Invoice>;
}
