import { BusinessCentralBaseAction } from '../business-central-base.action.js';
import { ActionParam, ActionResultSimple, RunActionParams } from '@memberjunction/actions-base';
/**
 * Interface for a Sales Invoice from Business Central
 */
export interface BCSalesInvoice {
    id: string;
    number: string;
    invoiceDate: Date;
    dueDate: Date;
    customerNumber: string;
    customerName: string;
    customerId: string;
    status: string;
    totalAmountExcludingTax: number;
    totalTaxAmount: number;
    totalAmountIncludingTax: number;
    remainingAmount: number;
    currencyCode: string;
    paymentTermsId?: string;
    shipmentMethodId?: string;
    billToName: string;
    billToCustomerId: string;
    shipToName?: string;
    shipToContact?: string;
    sellToAddressLine1?: string;
    sellToAddressLine2?: string;
    sellToCity?: string;
    sellToState?: string;
    sellToCountry?: string;
    sellToPostCode?: string;
    externalDocumentNumber?: string;
    lastModifiedDateTime: Date;
    lines?: BCSalesInvoiceLine[];
}
export interface BCSalesInvoiceLine {
    id: string;
    lineNumber: number;
    lineType: string;
    itemId?: string;
    accountId?: string;
    description: string;
    quantity: number;
    unitPrice: number;
    discountAmount: number;
    discountPercent: number;
    netAmount: number;
    taxCode?: string;
    amountExcludingTax: number;
    taxPercent: number;
    totalTaxAmount: number;
    amountIncludingTax: number;
}
/**
 * Action to retrieve sales invoices from Microsoft Dynamics 365 Business Central
 */
export declare class GetBusinessCentralSalesInvoicesAction extends BusinessCentralBaseAction {
    /**
     * Description of the action
     */
    get Description(): string;
    /**
     * Main execution method
     */
    protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
    /**
     * Map Business Central sales invoice to standard format
     */
    private mapBCSalesInvoice;
    /**
     * Map invoice lines
     */
    private mapInvoiceLines;
    /**
     * Calculate invoice summary statistics
     */
    private calculateInvoiceSummary;
    /**
     * Define the parameters for this action
     */
    get Params(): ActionParam[];
}
//# sourceMappingURL=get-sales-invoices.action.d.ts.map