import { BaseClient } from '../../client/base-client.js';
import { BulkStatusChangeResponse, DBWCheckMetaValidationRequest, DBWCheckMetaValidationResponse, DBWDeleteMetaBulkRequest, DBWDeleteMetaBulkResponse, DBWSetMetaBulkResponse, DBWSetSgtinBulkRequest, GetDBWClientInfoResponse, ModelsBox, ModelsDraftAddItemsErrorResponse, ModelsDraftAdditemsRequest, ModelsDraftDeleteItemsErrorResponse, ModelsDraftDeleteitemsRequest, ModelsDraftCreateResponse, ModelsGood, ModelsGoodInSupply, ModelsItemDiscrepancyResponse, ModelsListDraftItemsResponse, ModelsListDraftsResponse, ModelsOptionsResultModel, ModelsSuppliesFiltersRequest, ModelsSupply, ModelsSupplyDetails, ModelsTransitTariff, ModelsWarehousesResultItems } from '../../types/orders-fbw.types.js';
export declare class OrdersFbwModule {
private client;
constructor(client: BaseClient);
/**
* Опции приёмки
*
* Метод возвращает информацию о том, какие склады и типы упаковки доступны для поставки. Список складов определяется по баркоду и количеству товара.
Лимит запросов на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 6 запросов | 10 секунд | 6 запросов |
*
* @param data - Request body data
* @param [options] - Query parameters
* @returns Успешно
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {ValidationError} When request data is invalid (400/422)
* @throws {NetworkError} When network request fails or times out
* @example
const result = await sdk.ordersFBW.createAcceptanceOption([{ barcode: '1234567891234', quantity: 10 }]);
console.log(result);
*/
createAcceptanceOption(data: ModelsGood[], options?: {
warehouseID?: string;
}): Promise;
/**
* Список складов
*
* Метод возвращает список складов WB. Лимит запросов на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 6 запросов | 10 секунд | 6 запросов |
*
* @returns Успешно
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {ValidationError} When request data is invalid (400/422)
* @throws {NetworkError} When network request fails or times out
* @example
const result = await sdk.ordersFBW.warehouses();
console.log(result);
*/
warehouses(): Promise;
/**
* Транзитные направления
*
* Метод возвращает информацию о доступных транзитных направлениях. Лимит запросов на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 6 запросов | 10 секунд | 10 запросов |
*
* @returns Успешно
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {ValidationError} When request data is invalid (400/422)
* @throws {NetworkError} When network request fails or times out
* @example
const result = await sdk.ordersFBW.transitTariffs();
console.log(result);
*/
transitTariffs(): Promise;
/**
* Список поставок
*
* Метод возвращает список поставок, по умолчанию — последние 1000 поставок. Лимит запросов на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 30 запросов | 2 секунды | 10 запросов |
*
* @param data - Request body data
* @param [options] - Query parameters
* @returns Успешно
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {ValidationError} When request data is invalid (400/422)
* @throws {NetworkError} When network request fails or times out
* @example
const result = await sdk.ordersFBW.listSupplies({});
console.log(result);
*/
listSupplies(data: ModelsSuppliesFiltersRequest, options?: {
limit?: number;
offset?: number;
}): Promise;
/**
* Детали поставки
*
* Метод возвращает детали поставки по ID. Лимит запросов на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 30 запросов | 2 секунды | 10 запросов |
*
* @param ID - ID поставки или заказа
* @param [options] - Query parameters
* @returns Успешно
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {ValidationError} When request data is invalid (400/422)
* @throws {NetworkError} When network request fails or times out
* @example
const result = await sdk.ordersFBW.getSupply(12345);
console.log(result);
*/
getSupply(ID: number, options?: {
isPreorderID?: boolean;
}): Promise;
/**
* Товары поставки
*
* Метод возвращает информацию о товарах в поставке. Лимит запросов на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 30 запросов | 2 секунды | 10 запросов |
*
* @param ID - ID поставки или заказа
* @param [options] - Query parameters
* @returns Успешно
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {ValidationError} When request data is invalid (400/422)
* @throws {NetworkError} When network request fails or times out
* @example
const result = await sdk.ordersFBW.getSuppliesGood(12345);
console.log(result);
*/
getSuppliesGood(ID: number, options?: {
limit?: number;
offset?: number;
isPreorderID?: boolean;
}): Promise;
/**
* Упаковка поставки
*
* Метод возвращает информацию об упаковке поставки. Лимит запросов на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 30 запросов | 2 секунды | 10 запросов |
*
* @param ID - ID поставки
* @returns Успешно
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {ValidationError} When request data is invalid (400/422)
* @throws {NetworkError} When network request fails or times out
* @example
const result = await sdk.ordersFBW.getSuppliesPackage(12345);
console.log(result);
*/
getSuppliesPackage(ID: number): Promise;
/**
* Расхождения при приёмке поставки
*
* Возвращает информацию о расхождениях между заявленным и фактическим
* количеством товара в поставке — по данным скан-приёмки на складе WB,
* вместе со ссылкой на видео расхождений.
*
* **Доступен только для поставок, принятых не более одного года назад** —
* для более старых поставок метод вернёт 404.
*
* Типы расхождений:
* - Расхождение вверх:
* 1. Излишек товара с заявленным артикулом —
* `"discrepancyType": "surplus"` + `"discrepancyLabel": "surplus"`
* 2. Излишек товара с артикулом, не совпадающим с заявленным, —
* `"discrepancyType": "surplus"` + `"discrepancyLabel": "re-sorting"`
* - Расхождение вниз:
* 1. Недостача товара —
* `"discrepancyType": "shortage"` + `"discrepancyLabel": "shortage"`
* 2. Часть артикулов не совпадает с заявленными —
* `"discrepancyType": "shortage"` + `"discrepancyLabel": "re-sorting"`
*
* Каждая упаковка содержит `videoUnavailable` (видео доступно при `false`)
* и `items[]` с построчным расхождением и результатами сканирования
* (`skuScans[]`, может быть `null`).
*
* Rate limit: **1 запрос в минуту** (интервал 1 минута, всплеск 1) —
* не запрашивайте методом пачки поставок подряд.
*
* @param supplyId - ID поставки
* @returns Успешно — массив упаковок с расхождениями
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {ValidationError} When request data is invalid (400)
* @throws {WBAPIError} 404 — поставка не найдена, без расхождений или принята более года назад
* @throws {NetworkError} When network request fails or times out
* @since task-188
* @see {@link https://dev.wildberries.ru/docs/openapi/orders-fbw#tag/suppliesInformation/operation/getV1SuppliesSupplyIdDiscrepanciesQuantity}
* @example
* ```typescript
* const discrepancies = await sdk.ordersFBW.getSupplyDiscrepancies(12345);
* for (const pkg of discrepancies) {
* console.log(`Поставка ${pkg.packageCode}: видео ${pkg.videoUnavailable ? 'недоступно' : pkg.videoUrl}`);
* for (const item of pkg.items) {
* console.log(` ${item.declaredSku}: заявлено ${item.declaredAmount}, факт ${item.actualAmount} (${item.discrepancyType})`);
* }
* }
* ```
*/
getSupplyDiscrepancies(supplyId: number): Promise;
/**
* Создать черновик поставки
*
* Метод создаёт **пустой** черновик поставки — без тела запроса.
* Товары добавляются отдельно через `addDraftItems()`.
*
* Токены: **Personal**, **Service** (категория Supplies).
*
* Rate limit: 30 запросов в минуту (интервал 2 секунды, всплеск 10).
*
* @returns Идентификатор созданного черновика (`draftId`, UUID)
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {NetworkError} When network request fails or times out
* @since task-193
* @see {@link https://dev.wildberries.ru/docs/openapi/orders-fbw#tag/supplyDrafts/operation/postV1Drafts}
* @example
* ```typescript
* const { draftId } = await sdk.ordersFBW.createDraft();
* console.log(`Создан черновик: ${draftId}`);
* ```
*/
createDraft(): Promise;
/**
* Список черновиков поставок
*
* Метод возвращает список черновиков поставок с постраничной навигацией
* и сортировкой. По умолчанию — последние 1000 черновиков, отсортированные
* по дате создания по убыванию.
*
* Токены: **Personal**, **Service** (категория Supplies).
*
* Rate limit: 30 запросов в минуту (интервал 2 секунды, всплеск 10).
*
* @param [options] - Параметры запроса:
* - `limit` — количество черновиков в ответе (0–1000, по умолчанию 1000)
* - `offset` — сколько элементов пропустить (по умолчанию 0)
* - `sort` — поле сортировки: `createDt` (по умолчанию) или `updateDt`
* - `order` — порядок: `desc` (по умолчанию) или `asc`
* @returns Общее количество черновиков и их список
* @throws {ValidationError} When query parameters are invalid (400)
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {NetworkError} When network request fails or times out
* @since task-193
* @see {@link https://dev.wildberries.ru/docs/openapi/orders-fbw#tag/supplyDrafts/operation/getV1Drafts}
* @example
* ```typescript
* const { total, drafts } = await sdk.ordersFBW.listDrafts({ limit: 100, sort: 'updateDt' });
* console.log(`Черновиков: ${total}`);
* for (const draft of drafts) {
* console.log(`${draft.draftId}: ${draft.skuQuantity} SKU, обновлён ${draft.updatedAt}`);
* }
* ```
*/
listDrafts(options?: {
limit?: number;
offset?: number;
sort?: 'createDt' | 'updateDt';
order?: 'asc' | 'desc';
}): Promise;
/**
* Удалить черновик поставки
*
* Метод удаляет черновик поставки по идентификатору.
* Успешный ответ — **204 No Content** (без тела).
*
* Токены: **Personal**, **Service** (категория Supplies).
*
* Rate limit: 30 запросов в минуту (интервал 2 секунды, всплеск 10).
*
* @param draftId - Идентификатор черновика (UUID)
* @throws {ValidationError} When draftId format is invalid (400)
* @throws {WBAPIError} 404 — черновик не найден
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {NetworkError} When network request fails or times out
* @since task-193
* @see {@link https://dev.wildberries.ru/docs/openapi/orders-fbw#tag/supplyDrafts/operation/deleteV1DraftsDraftId}
* @example
* ```typescript
* await sdk.ordersFBW.deleteDraft('b5aed067-69d4-47b8-a5d0-591c615288f9');
* console.log('Черновик удалён');
* ```
*/
deleteDraft(draftId: string): Promise;
/**
* Товары в черновике поставки
*
* Метод возвращает список товаров, добавленных в черновик поставки,
* с карточкой товара (бренд, предмет, размер, изображение и т.д.).
*
* Токены: **Personal**, **Service** (категория Supplies).
*
* Rate limit: 30 запросов в минуту (интервал 2 секунды, всплеск 10).
*
* @param draftId - Идентификатор черновика (UUID)
* @returns Количество SKU/товаров и список товаров
* @throws {ValidationError} When draftId format is invalid (400)
* @throws {WBAPIError} 404 — черновик не найден
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {NetworkError} When network request fails or times out
* @since task-193
* @see {@link https://dev.wildberries.ru/docs/openapi/orders-fbw#tag/supplyDrafts/operation/getV1DraftsDraftIdItems}
* @example
* ```typescript
* const { skuQuantity, items } = await sdk.ordersFBW.getDraftItems(draftId);
* console.log(`SKU в черновике: ${skuQuantity}`);
* for (const item of items) {
* console.log(`${item.vendorCode} (${item.sku}): ${item.quantity} шт`);
* }
* ```
*/
getDraftItems(draftId: string): Promise;
/**
* Добавить товары в черновик поставки
*
* Метод добавляет товары в черновик поставки (до 1000 позиций за запрос).
*
* **Атомарность:** операция выполняется по принципу «всё или ничего»:
* - если все SKU успешно прошли валидацию — все товары добавляются
* в черновик, ответ содержит `{"results": []}`;
* - если хотя бы один SKU не прошёл валидацию — **ни один** товар
* не добавляется, ответ содержит список невалидных SKU с описанием ошибки.
*
* Токены: **Personal**, **Service** (категория Supplies).
*
* Rate limit: 30 запросов в минуту (интервал 2 секунды, всплеск 10).
*
* @param draftId - Идентификатор черновика (UUID)
* @param data - Список товаров `{ quantity, sku }` (1–1000 позиций)
* @returns `results` — список невалидных SKU; пустой массив означает,
* что все товары добавлены
* @throws {ValidationError} When items array is empty or exceeds 1000 items
* @throws {ValidationError} When draftId format or items array is invalid (400)
* @throws {WBAPIError} 404 — черновик не найден
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {NetworkError} When network request fails or times out
* @since task-193
* @see {@link https://dev.wildberries.ru/docs/openapi/orders-fbw#tag/supplyDrafts/operation/postV1DraftsDraftIdItems}
* @example
* ```typescript
* const { results } = await sdk.ordersFBW.addDraftItems(draftId, {
* items: [
* { quantity: 10, sku: '2000000512907' },
* { quantity: 5, sku: '2039395667350' },
* ],
* });
* if (results.length > 0) {
* // Ничего не добавлено — исправьте SKU и повторите запрос целиком
* for (const { sku, error } of results) {
* console.error(`${sku}: ${error.title} — ${error.detail}`);
* }
* }
* ```
*/
addDraftItems(draftId: string, data: ModelsDraftAdditemsRequest): Promise;
/**
* Удалить товары из черновика поставки
*
* Метод удаляет товары из черновика поставки по списку SKU.
*
* **Валидация SKU не выполняется:** при передаче несуществующего SKU
* ошибка не возвращается — он молча игнорируется, а корректные SKU
* удаляются из черновика.
*
* Токены: **Personal**, **Service** (категория Supplies).
*
* Rate limit: 30 запросов в минуту (интервал 2 секунды, всплеск 10).
*
* @param draftId - Идентификатор черновика (UUID)
* @param data - Список SKU для удаления (минимум 1)
* @returns `results` — результат операции
* @throws {ValidationError} When skus array is empty
* @throws {ValidationError} When request parameters are invalid (400)
* @throws {WBAPIError} 404 — черновик не найден
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {NetworkError} When network request fails or times out
* @since task-193
* @see {@link https://dev.wildberries.ru/docs/openapi/orders-fbw#tag/supplyDrafts/operation/deleteV1DraftsDraftIdItems}
* @example
* ```typescript
* await sdk.ordersFBW.deleteDraftItems(draftId, { skus: ['2000000512907'] });
* ```
*/
deleteDraftItems(draftId: string, data: ModelsDraftDeleteitemsRequest): Promise;
/**
* Получение информации о покупателе для заказов DBW
*
* Возвращает данные покупателя (имя, телефон, код) по ID заказов модели DBW.
*
* **Важно:** Этот метод использует домен `marketplace-api.wildberries.ru`,
* а не `supplies-api.wildberries.ru` как остальные методы FBW.
*
* Rate limit: 300 requests per minute, 200ms interval, burst 20.
* Один запрос с кодом 409 считается за 10 запросов.
*
* @param orderIds - Array of assembly order IDs (no documented max limit)
* @returns Buyer information for each order
* @throws {ValidationError} When orderIds array is empty
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {NetworkError} When network request fails or times out
* @since 3.4.0
* @see {@link https://dev.wildberries.ru/docs/openapi/orders-dbw#tag/Sborochnye-zadaniya-DBW}
* @example
* ```typescript
* const result = await sdk.ordersFBW.getClientInfo([987654321, 123456789]);
* for (const order of result.orders ?? []) {
* console.log(`Order ${order.orderID}: ${order.firstName}, phone: +${order.phoneCode}${order.phone}`);
* }
* ```
*/
getClientInfo(orderIds: number[]): Promise;
/**
* Удалить идентификаторы маркировки у нескольких заказов DBW (массовая операция).
*
* Bulk-delete marking metadata (IMEI/UIN/GTIN/SGTIN/customsDeclaration) from up to
* N DBW orders in a single request. Mirrors the DBS `deleteMetaBulk` method.
*
* Rate limit: 150 requests/min, 400ms interval, burst 20.
* (Default mirrors DBS sibling — WB has not yet published explicit DBW limits.
* Will be updated via task-15.5 once WB publishes 07-orders-fbw.yaml.)
*
* @param request - Orders array and metadata key to delete
* @returns Per-order deletion results
* @throws {ValidationError} When orders array is empty
* @throws {ValidationError} When request body is malformed
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {NetworkError} When network request fails or times out
* @since 3.11.0
* @see {@link https://dev.wildberries.ru/openapi/orders-dbw}
* @example
* ```typescript
* const result = await sdk.ordersFBW.deleteMetaBulk({ orders: [123456], key: 'imei' });
* for (const order of result.orders) {
* console.log(`Order ${order.orderId}: ${order.success ? 'deleted' : order.error}`);
* }
* ```
*/
deleteMetaBulk(request: DBWDeleteMetaBulkRequest): Promise;
/**
* Задать SGTIN-коды для нескольких заказов DBW (массовая операция).
*
* Bulk-assign SGTIN (Serial Global Trade Item Number) codes to up to N DBW orders
* in a single request. Mirrors the DBS `setSgtinBulk` method.
*
* Rate limit: 500 requests/min, 120ms interval, burst 20.
* (Default mirrors DBS sibling — WB has not yet published explicit DBW limits.
* Will be updated via task-15.5 once WB publishes 07-orders-fbw.yaml.)
*
* @param request - Per-order SGTIN assignments
* @returns Per-order set results; `errors[]` present when some orders fail
* @throws {ValidationError} When orders array is empty
* @throws {ValidationError} When request body is malformed
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {NetworkError} When network request fails or times out
* @since 3.11.0
* @see {@link https://dev.wildberries.ru/openapi/orders-dbw}
* @example
* ```typescript
* const result = await sdk.ordersFBW.setSgtinBulk({
* orders: [{ orderId: 123456, sgtins: ['1234567890123456'] }],
* });
* if (result.errors?.length) {
* console.log('Some orders failed:', result.errors);
* }
* ```
*/
setSgtinBulk(request: DBWSetSgtinBulkRequest): Promise;
/**
* Передать несколько заказов DBW в доставку (массовая операция).
*
* Mark up to 1000 DBW orders as "delivered" (handed to carrier) in a single request.
* Mirrors the DBS `deliverBulk` method. WB disables the legacy single-order DBW
* deliver endpoint on 2026-06-05 — use this method instead.
*
* **Important:** Orders requiring IMEI/SGTIN must have metadata attached before calling
* this method. If metadata is missing, WB returns 409 `MetaValidationFail`.
*
* **B2C marking (Честный Знак):** WB validates B2C marking for DBW from 2026-06-15.
* Invalid marking → HTTP 409 `MetaValidationFail` with diagnostic `metaDetails[]`.
* Pre-flight via `checkMetaValidation()` to avoid the guess-and-retry loop.
*
* Rate limit: 300 requests/min, 200ms interval, burst 20.
* (Default mirrors DBS sibling — WB has not yet published explicit DBW limits.
* Will be updated via task-15.5 once WB publishes 07-orders-fbw.yaml.)
*
* @param orderIds - Array of order IDs to mark as delivered (1–1000 items)
* @returns Per-order delivery status results. When WB returns application-level 409
* MetaValidationFail, it surfaces in `result.results[].errors[]` with `code === 409`
* and `detail === 'MetaValidationFail'`; check `result.results[].errors[].metaDetails[]`
* per-order before retrying. (since 3.11.0 — WB API 2026-05-06)
* @throws {ValidationError} When orderIds is empty or exceeds 1000 items
* @throws {WBAPIError} 409 — ImeiIsNotFilled: mandatory IMEI not attached to order
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {NetworkError} When network request fails or times out
* @since 3.11.0
* @see {@link https://dev.wildberries.ru/openapi/orders-dbw}
* @example
* ```typescript
* // Mark multiple DBW orders as handed to carrier
* const result = await sdk.ordersFBW.deliverBulk([123456, 234567, 345678]);
*
* for (const order of result.results ?? []) {
* if (order.isError) {
* console.log(`Order ${order.orderId} failed:`, order.errors);
* } else {
* console.log(`Order ${order.orderId} marked as delivered`);
* }
* }
* ```
*/
deliverBulk(orderIds: number[]): Promise;
/**
* Проверить идентификаторы маркировки DBW-заказов перед передачей в доставку (предварительная валидация).
*
* Pre-flight metadata validator for DBW orders. Returns the same `metaDetails[]` shape
* that WB returns inside the 409 `MetaValidationFail` body of `deliverBulk()`, but as a
* 200 OK response — without consuming a deliver-bulk quota attempt.
*
* **This method does NOT change order state.** It is a read-only pre-flight check.
* Use it before `deliverBulk()` to identify orders with invalid marking metadata
* (SGTIN/IMEI/UIN/etc.) so they can be fixed in advance, avoiding the guess-and-retry
* loop of: call `deliverBulk()` → catch 409 → read `metaDetails[]` → fix → retry.
*
* Rate limit: 300 requests/min, 200ms interval, burst 20.
* (Default mirrors `deliverBulk` DBW — WB has not yet published explicit limits.
* Will be updated via task-15.5 once WB publishes 07-orders-fbw.yaml.)
*
* @param request - Request containing array of DBW order IDs to validate (1–1000 items)
* @returns Per-order metadata validation results in `metaDetails[]`
* @throws {ValidationError} When `orders` array is empty
* @throws {ValidationError} When `orders` array exceeds 1000 items
* @throws {ValidationError} When request body is malformed (4xx propagation)
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {NetworkError} When network request fails or times out
* @since 3.11.0
* @see {@link https://dev.wildberries.ru/openapi/orders-dbw}
* @example
* ```typescript
* // Pre-flight pattern: validate → fix → deliver
* const validation = await sdk.ordersFBW.checkMetaValidation({
* orders: [123456, 234567, 345678],
* });
*
* const invalidOrders = validation.metaDetails.filter(d => d.status === 'invalid');
* if (invalidOrders.length > 0) {
* console.log('Orders with invalid metadata:', invalidOrders);
* // Fix metadata for invalid orders first (narrow orderId: number | undefined → number):
* const fixable = invalidOrders.filter(
* (o): o is typeof o & { orderId: number } => o.orderId !== undefined
* );
* await sdk.ordersFBW.setSgtinBulk({
* orders: fixable.map(o => ({ orderId: o.orderId, sgtins: ['correct-sgtin'] })),
* });
* }
*
* // Now safe to deliver — no 409 MetaValidationFail expected
* const result = await sdk.ordersFBW.deliverBulk([123456, 234567, 345678]);
* ```
*/
checkMetaValidation(request: DBWCheckMetaValidationRequest): Promise;
}
//# sourceMappingURL=index.d.ts.map