UNPKG

balena-sdk

Version:
36 lines (35 loc) 1.47 kB
import type { PineOptionsStrict, PineSelectableProps, PineTypedResult } from '..'; export interface ChunkSizeOptions { numericId: number; stringId: number; } export declare function batchResourceOperationFactory<T extends { id: number; uuid: string; }>({ getAll, NotFoundError, AmbiguousResourceError, chunkSize: chunkSizeParam, }: { getAll: (options?: PineOptionsStrict<T>) => Promise<T[]>; NotFoundError: new (id: string | number) => Error; AmbiguousResourceError: new (id: string | number) => Error; chunkSize?: number | Partial<ChunkSizeOptions>; }): { <TOpts extends PineOptionsStrict<T>>(options: { uuidOrIdOrArray: number | number[] | string | string[]; parameterName?: string; options?: TOpts; groupByNavigationPoperty?: undefined; fn: (items: Array<{ id: number; uuid: string; } & (TOpts extends PineOptionsStrict<T> ? PineTypedResult<T, TOpts> : object)>) => Promise<void>; }): Promise<void>; <TOpts extends PineOptionsStrict<T>>(options: { uuidOrIdOrArray: number | number[] | string | string[]; parameterName?: string; options?: TOpts; groupByNavigationPoperty: PineSelectableProps<T>; fn: (items: Array<{ id: number; uuid: string; } & (TOpts extends PineOptionsStrict<T> ? PineTypedResult<T, TOpts> : object)>, ownerId: number) => Promise<void>; }): Promise<void>; };