import type { ApiClient } from "@promobase/sdk-runtime"; import { Cursor } from "@promobase/sdk-runtime"; import { metaPagination } from "../../pagination.ts"; export interface AdsValueAdjustmentRuleCollectionFields { id: string; is_default_setting: boolean; last_attach_time: string; name: string; product_type: string; status: string; } export interface AdsValueAdjustmentRuleCollectionUpdateParams { is_default_setting?: boolean; name?: string; rules?: Record[]; [key: string]: unknown; } export function adsValueAdjustmentRuleCollectionNode(client: ApiClient, id: string) { return { __path: id, __brand: undefined as unknown as AdsValueAdjustmentRuleCollectionFields, get: (opts: { fields: F; params?: Record }) => client.get>(`${id}`, opts), update: (params: AdsValueAdjustmentRuleCollectionUpdateParams) => client.post(`${id}`, params as Record), createDeleteRuleSet: (params: Record) => client.post(`${id}/delete_rule_set`, params as Record), rules: )[]>(opts: { fields: F; params?: Record }) => new Cursor, F[number]>>(client, `${id}/rules`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), }; }