import type { ApiClient } from "@promobase/sdk-runtime"; import { Cursor } from "@promobase/sdk-runtime"; import { metaPagination } from "../../pagination.ts"; import type { IGMediaFields } from "./ig-media.ts"; export interface ShadowIGHashtagFields { id: string; name: string; } export interface ShadowIGHashtagListRecentMediaParams { user_id: string; [key: string]: unknown; } export interface ShadowIGHashtagListTopMediaParams { user_id: string; [key: string]: unknown; } export function shadowIGHashtagNode(client: ApiClient, id: string) { return { __path: id, __brand: undefined as unknown as ShadowIGHashtagFields, get: (opts: { fields: F; params?: Record }) => client.get>(`${id}`, opts), recentMedia: (opts: { fields: F; params?: ShadowIGHashtagListRecentMediaParams }) => new Cursor>(client, `${id}/recent_media`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), topMedia: (opts: { fields: F; params?: ShadowIGHashtagListTopMediaParams }) => new Cursor>(client, `${id}/top_media`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), }; }