import { BusinessCentralBaseAction } from '../business-central-base.action';
import { ActionParam, ActionResultSimple, RunActionParams } from '@memberjunction/actions-base';
/**
 * Interface for a Customer from Business Central
 */
export interface BCCustomer {
    id: string;
    number: string;
    displayName: string;
    type: string;
    email: string;
    phoneNumber: string;
    address: BCAddress;
    city: string;
    state: string;
    country: string;
    postalCode: string;
    currencyCode: string;
    paymentTermsId?: string;
    paymentMethodId?: string;
    taxLiable: boolean;
    taxAreaId?: string;
    blocked: string;
    balance: number;
    overdueAmount: number;
    totalSalesExcludingTax: number;
    lastModifiedDateTime: Date;
}
export interface BCAddress {
    street?: string;
    city?: string;
    state?: string;
    countryLetterCode?: string;
    postalCode?: string;
}
/**
 * Action to retrieve customers from Microsoft Dynamics 365 Business Central
 */
export declare class GetBusinessCentralCustomersAction extends BusinessCentralBaseAction {
    /**
     * Description of the action
     */
    get Description(): string;
    /**
     * Main execution method
     */
    protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
    /**
     * Map sort field name
     */
    private mapSortField;
    /**
     * Map Business Central customer to standard format
     */
    private mapBCCustomer;
    /**
     * Map address object
     */
    private mapAddress;
    /**
     * Calculate customer summary statistics
     */
    private calculateCustomerSummary;
    /**
     * Define the parameters for this action
     */
    get Params(): ActionParam[];
}
//# sourceMappingURL=get-customers.action.d.ts.map