import type { ApiClient } from "@promobase/sdk-runtime"; export type BatchHandle = { readonly __handleId: number; readonly __phantom: T; }; export type BatchTarget = { readonly __path: string; readonly __brand: T; }; interface BatchRequest { method: string; relative_url: string; body?: string; } export declare class BatchBuilder { private requests; private nextId; get(target: BatchTarget, opts: { fields: F; params?: Record; }): BatchHandle>; getEdge(target: BatchTarget, opts: { fields: F; params?: Record; }): BatchHandle[]>; post(target: BatchTarget, params: Record): BatchHandle; delete(target: BatchTarget): BatchHandle; /** @internal */ getRequests(): BatchRequest[]; } export type ResolveBatchHandles = { [K in keyof T]: T[K] extends BatchHandle ? R : never; }; export declare function executeBatch>>(client: ApiClient, apiVersion: string, builder: BatchBuilder, handles: T): Promise>; export {}; //# sourceMappingURL=batch.d.ts.map