import { type EntityCustomersRefreshParams } from '../schemas';
import type { P21ApisClient } from '../client';
type ExecuteRequest = P21ApisClient['executeRequest'];
/**
 * Creates the entityCustomers resource methods
 * OpenAPI Path: /entity-customers → entityCustomers.*
 * @description Entity customers data refresh and synchronization following OpenAPI path mirroring pattern
 */
export declare function createEntityCustomersResource(executeRequest: ExecuteRequest): {
    /**
     * Entity customers refresh operations - OpenAPI Path: /entity-customers/refresh
     */
    refresh: {
        /**
         * Trigger entity customers data refresh for synchronization
         * @description Initiates a data refresh operation for entity customers to synchronize with the P21 ERP system. Returns status of the refresh operation for monitoring and verification.
         *
         * @fullPath api.p21Apis.entityCustomers.refresh.get
         * @service p21-apis
         * @domain entity-data-management
         * @dataMethod entityCustomersData.refresh.get
         * @discoverable true
         * @searchTerms ["entity customers", "data refresh", "synchronization", "customer sync", "entity sync"]
         * @relatedEndpoints ["api.p21Apis.entityContacts.refresh.get", "api.p21Apis.healthCheck.get", "api.customers.customer.list"]
         * @commonPatterns ["Refresh customer data", "Synchronize entity customers", "Trigger data sync", "Update customer information"]
         * @workflow ["data-synchronization", "entity-refresh", "customer-management", "erp-sync"]
         * @prerequisites ["Valid site ID", "Data refresh permissions", "Entity access rights"]
         * @nextSteps ["api.customers.customer.list for customer details", "api.p21Core.company.list for company customers"]
         * @businessRules ["Site-scoped refresh operations", "Asynchronous data synchronization", "Background processing for large datasets"]
         * @functionalArea "entity-data-management"
         * @performance "Asynchronous operation, returns immediately with status"
         */
        get: (params?: EntityCustomersRefreshParams) => Promise<{
            params: Record<string, unknown> | unknown[];
            options: Record<string, unknown> | unknown[];
            status: number;
            message: string;
            count: number;
            total: number;
            totalResults: number;
            data?: unknown;
        }>;
    };
};
/**
 * Creates the entityCustomersData resource methods (data-only versions)
 */
export declare function createEntityCustomersDataResource(entityCustomers: ReturnType<typeof createEntityCustomersResource>): {
    refresh: {
        /**
         * Get only entity customers refresh data without response metadata
         * @param params Site ID and refresh parameters
         * @returns Promise<EntityRefreshData> Direct refresh result object
         */
        get: (params?: EntityCustomersRefreshParams) => Promise<unknown>;
    };
};
export type EntityCustomersResource = ReturnType<typeof createEntityCustomersResource>;
export type EntityCustomersDataResource = ReturnType<typeof createEntityCustomersDataResource>;
export {};
//# sourceMappingURL=entity-customers.d.ts.map