type ProcessingResult = {
    status: 'ok' | 'error';
    error?: Error;
};
/**
 * Executes an async iterator function over an array with a concurrency limit,
 * collecting success/error status for each item.
 *
 * Logs any errors using the optional logger and returns both per-item results
 * and aggregated counts of successes and failures.
 *
 * @template T - Type of the input array items.
 * @param array - The array of items to process.
 * @param poolLimit - Maximum number of concurrent promises.
 * @param iteratorFn - Async function applied to each item. Errors are caught and reported.
 * @param logger - Optional logger with an `error` method for reporting failed items.
 * @returns Object containing:
 *   - `result`: array of `{ status: 'ok' }` or `{ status: 'error', error }`
 *   - `count`: total `{ ok, failed }` summary.
 */
export declare function promiseMapLimitWithStatus<T>(array: T[], poolLimit: number, iteratorFn: (item: T) => Promise<unknown>, logger?: {
    error: (message: string, error?: Error) => void;
}): Promise<{
    result: ProcessingResult[];
    count: {
        ok: number;
        failed: number;
    };
}>;
export {};
//# sourceMappingURL=promise-map-limit-with-status.d.ts.map