import type { ApiClient } from "@promobase/sdk-runtime"; import { Cursor } from "@promobase/sdk-runtime"; import { metaPagination } from "../../pagination.ts"; import type { ALMAdAccountInfoFields } from "./alm-ad-account-info.ts"; import type { AdAccountFields } from "./ad-account.ts"; import type { AdCustomDerivedMetricsFields } from "./ad-custom-derived-metrics.ts"; import type { AdNetworkAnalyticsAsyncQueryResultFields } from "./ad-network-analytics-async-query-result.ts"; import type { AdNetworkAnalyticsSyncQueryResultFields } from "./ad-network-analytics-sync-query-result.ts"; import type { AdPlacementFields } from "./ad-placement.ts"; import type { AdStudyFields } from "./ad-study.ts"; import type { AdVideoFields } from "./ad-video.ts"; import type { AdsDatasetFields } from "./ads-dataset.ts"; import type { AdsPixelFields } from "./ads-pixel.ts"; import type { AdsReportBuilderMMMReportFields } from "./ads-report-builder-mmm-report.ts"; import type { AdsReportBuilderMMMReportSchedulerFields } from "./ads-report-builder-mmm-report-scheduler.ts"; import type { ApplicationFields } from "./application.ts"; import type { BusinessAdAccountRequestFields } from "./business-ad-account-request.ts"; import type { BusinessApplicationRequestFields } from "./business-application-request.ts"; import type { BusinessAssetGroupFields } from "./business-asset-group.ts"; import type { BusinessAssetSharingAgreementFields } from "./business-asset-sharing-agreement.ts"; import type { BusinessCreativeFolderFields } from "./business-creative-folder.ts"; import type { BusinessImageFields } from "./business-image.ts"; import type { BusinessManagedPartnerEligibilityFields } from "./business-managed-partner-eligibility.ts"; import type { BusinessPageRequestFields } from "./business-page-request.ts"; import type { BusinessPartnerPremiumOptionsFields } from "./business-partner-premium-options.ts"; import type { BusinessProjectFields } from "./business-project.ts"; import type { BusinessRoleRequestFields } from "./business-role-request.ts"; import type { BusinessUserFields } from "./business-user.ts"; import type { CPASAdvertiserPartnershipRecommendationFields } from "./cpas-advertiser-partnership-recommendation.ts"; import type { CPASBusinessSetupConfigFields } from "./cpas-business-setup-config.ts"; import type { CPASCollaborationRequestFields } from "./cpas-collaboration-request.ts"; import type { CPASMerchantConfigFields } from "./cpas-merchant-config.ts"; import type { CommerceMerchantSettingsFields } from "./commerce-merchant-settings.ts"; import type { CreditCardFields } from "./credit-card.ts"; import type { CustomConversionFields } from "./custom-conversion.ts"; import type { EventSourceGroupFields } from "./event-source-group.ts"; import type { ExtendedCreditFields } from "./extended-credit.ts"; import type { ExtendedCreditApplicationFields } from "./extended-credit-application.ts"; import type { FundingSourceDetailsCouponFields } from "./funding-source-details-coupon.ts"; import type { IGUserFields } from "./ig-user.ts"; import type { InstagramBusinessAssetFields } from "./instagram-business-asset.ts"; import type { ManagedPartnerBusinessFields } from "./managed-partner-business.ts"; import type { MarketingMessagesOnboardingStatusFields } from "./marketing-messages-onboarding-status.ts"; import type { OffsiteSignalContainerBusinessObjectFields } from "./offsite-signal-container-business-object.ts"; import type { OmegaCustomerTrxFields } from "./omega-customer-trx.ts"; import type { OpenBridgeConfigurationFields } from "./open-bridge-configuration.ts"; import type { PageFields } from "./page.ts"; import type { PartnerAccountLinkingFields } from "./partner-account-linking.ts"; import type { PermissionFields } from "./permission.ts"; import type { ProductCatalogFields } from "./product-catalog.ts"; import type { ProfilePictureSourceFields } from "./profile-picture-source.ts"; import type { ResellerGuidanceFields } from "./reseller-guidance.ts"; import type { StatusFields } from "./status.ts"; import type { SystemUserFields } from "./system-user.ts"; import type { ThirdPartyMeasurementReportDatasetFields } from "./third-party-measurement-report-dataset.ts"; import type { WhatsAppBusinessAccountFields } from "./whats-app-business-account.ts"; import type { WhatsAppBusinessPartnerClientVerificationSubmissionFields } from "./whats-app-business-partner-client-verification-submission.ts"; import type { WhatsAppBusinessPreVerifiedPhoneNumberFields } from "./whats-app-business-pre-verified-phone-number.ts"; import type { BusinessTwoFactorType, BusinessVerificationStatus, BusinessVertical, BusinessWhatsappBusinessManagerMessagingLimit } from "../enums.ts"; export interface BusinessFields { block_offline_analytics: boolean; collaborative_ads_managed_partner_business_info: ManagedPartnerBusinessFields; collaborative_ads_managed_partner_eligibility: BusinessManagedPartnerEligibilityFields; collaborative_ads_partner_premium_options: BusinessPartnerPremiumOptionsFields; created_by: Record; created_time: string; extended_updated_time: string; id: string; is_hidden: boolean; link: string; marketing_messages_onboarding_status: MarketingMessagesOnboardingStatusFields; name: string; primary_page: PageFields; profile_picture_uri: string; timezone_id: number; two_factor_type: string; updated_by: Record; updated_time: string; user_access_expire_time: string; verification_status: BusinessVerificationStatus; vertical: string; vertical_id: number; whatsapp_business_manager_messaging_limit: BusinessWhatsappBusinessManagerMessagingLimit; } export interface BusinessCreateAccessTokenParams { app_id: string; fbe_external_business_id?: string; scope: PermissionFields[]; system_user_name?: string; [key: string]: unknown; } export interface BusinessListAdAccountInfosParams { ad_account_id?: string; parent_advertiser_id?: string; user_id?: string; [key: string]: unknown; } export interface BusinessDeleteAdAccountsParams { adaccount_id: string; [key: string]: unknown; } export interface BusinessListAdCustomDerivedMetricsParams { adhoc_custom_metrics?: string[]; scope?: string; [key: string]: unknown; } export interface BusinessCreateAdReviewRequestsParams { ad_account_ids?: string[]; [key: string]: unknown; } export interface BusinessCreateAdStudiesParams { cells: Record[]; client_business?: string; confidence_level?: number; cooldown_start_time?: number; description?: string; end_time: number; name: string; objectives?: Record[]; observation_end_time?: number; start_time: number; type?: string; viewers?: number[]; [key: string]: unknown; } export interface BusinessCreateAdaccountParams { ad_account_created_from_bm_flag?: boolean; currency: string; end_advertiser: Record; funding_id?: string; invoice?: boolean; invoice_group_id?: string; invoicing_emails?: string[]; io?: boolean; media_agency: string; name: string; partner: string; po_number?: string; timezone_id: number; [key: string]: unknown; } export interface BusinessCreateAddPhoneNumbersParams { phone_number: string; [key: string]: unknown; } export interface BusinessCreateAdnetworkApplicationsParams { name: string; [key: string]: unknown; } export interface BusinessListAdnetworkanalyticsParams { aggregation_period?: string; breakdowns?: string[]; filters?: Record[]; limit?: number; metrics: string[]; ordering_column?: string; ordering_type?: string; should_include_until?: boolean; since?: string; until?: string; [key: string]: unknown; } export interface BusinessCreateAdnetworkanalyticsParams { aggregation_period?: string; breakdowns?: string[]; filters?: Record[]; limit?: number; metrics: string[]; ordering_column?: string; ordering_type?: string; since?: string; until?: string; [key: string]: unknown; } export interface BusinessListAdnetworkanalyticsResultsParams { query_ids?: string[]; [key: string]: unknown; } export interface BusinessListAdsDatasetParams { id_filter?: string; name_filter?: string; sort_by?: string; [key: string]: unknown; } export interface BusinessCreateAdsDatasetParams { ad_account_id?: string; app_id?: string; is_crm?: boolean; name: string; [key: string]: unknown; } export interface BusinessListAdsReportingMmmReportsParams { filtering?: Record[]; [key: string]: unknown; } export interface BusinessListAdspixelsParams { id_filter?: string; name_filter?: string; sort_by?: string; [key: string]: unknown; } export interface BusinessCreateAdspixelsParams { is_crm?: boolean; name: string; [key: string]: unknown; } export interface BusinessDeleteAgenciesParams { business: string; [key: string]: unknown; } export interface BusinessCreateBlockListDraftsParams { publisher_urls_file: File | Blob | ReadableStream; [key: string]: unknown; } export interface BusinessCreateBmReviewRequestsParams { business_manager_ids: string[]; [key: string]: unknown; } export interface BusinessListBusinessInvoicesParams { end_date?: string; invoice_id?: string; issue_end_date?: string; issue_start_date?: string; root_id?: number; start_date?: string; type?: string; [key: string]: unknown; } export interface BusinessCreateBusinessUsersParams { email: string; invited_user_type?: string[]; role?: string; tasks?: string[]; [key: string]: unknown; } export interface BusinessCreateClaimCustomConversionsParams { custom_conversion_id: string; [key: string]: unknown; } export interface BusinessListClientAdAccountsParams { search_query?: string; [key: string]: unknown; } export interface BusinessCreateClientAppsParams { app_id: Record; [key: string]: unknown; } export interface BusinessCreateClientPagesParams { page_id: number; permitted_tasks?: string[]; [key: string]: unknown; } export interface BusinessDeleteClientsParams { business: string; [key: string]: unknown; } export interface BusinessListCollaborativeAdsCollaborationRequestsParams { status?: string; [key: string]: unknown; } export interface BusinessCreateCpasBusinessSetupConfigParams { accepted_collab_ads_tos?: boolean; ad_accounts?: string[]; business_capabilities_status?: Record; capabilities_compliance_status?: Record; [key: string]: unknown; } export interface BusinessCreateCreativeFoldersParams { description?: string; name: string; parent_folder_id?: string; [key: string]: unknown; } export interface BusinessCreateCustomconversionsParams { action_source_type?: string; advanced_rule?: string; custom_event_type: string; default_conversion_value?: number; description?: string; event_source_id?: string; name: string; rule?: string; [key: string]: unknown; } export interface BusinessCreateEventSourceGroupsParams { event_sources: string[]; name: string; [key: string]: unknown; } export interface BusinessListExtendedcreditapplicationsParams { only_show_pending?: boolean; [key: string]: unknown; } export interface BusinessListExtendedcreditsParams { order_by_is_owned_credential?: boolean; [key: string]: unknown; } export interface BusinessCreateImagesParams { ad_placements_validation_only?: boolean; bytes?: string; creative_folder_id: string; name?: string; validation_ad_placements?: string[]; [key: string]: unknown; } export interface BusinessListInitiatedAudienceSharingRequestsParams { recipient_id?: string; request_status?: string; [key: string]: unknown; } export interface BusinessDeleteInstagramAccountsParams { instagram_account: string; [key: string]: unknown; } export interface BusinessDeleteManagedBusinessesParams { existing_client_business_id: string; [key: string]: unknown; } export interface BusinessCreateManagedBusinessesParams { child_business_external_id?: string; existing_client_business_id?: string; name?: string; sales_rep_email?: string; survey_business_type?: string; survey_num_assets?: number; survey_num_people?: number; timezone_id?: string; vertical?: string; [key: string]: unknown; } export interface BusinessListManagedPartnerAdsFundingSourceDetailsParams { year_quarter?: string; [key: string]: unknown; } export interface BusinessCreateManagedPartnerBusinessSetupParams { active_ad_account_id?: string; active_page_id?: number; partner_facebook_page_url?: string; partner_registration_countries?: string[]; seller_email_address?: string; seller_external_website_url?: string; template?: Record[]; [key: string]: unknown; } export interface BusinessDeleteManagedPartnerBusinessesParams { child_business_external_id?: string; child_business_id?: string; [key: string]: unknown; } export interface BusinessCreateManagedPartnerBusinessesParams { ad_account_currency?: string; catalog_id: string; child_business_external_id?: string; credit_limit?: number; line_of_credit_id?: string; name: string; no_ad_account?: boolean; page_name?: string; page_profile_image_url?: string; partition_type?: string; partner_facebook_page_url?: string; partner_registration_countries?: string[]; sales_rep_email?: string; seller_external_website_url: string; seller_targeting_countries: string[]; skip_partner_page_creation?: boolean; survey_business_type?: string; survey_num_assets?: number; survey_num_people?: number; timezone_id?: string; vertical: string; [key: string]: unknown; } export interface BusinessCreateOnboardPartnersToMmLiteParams { solution_id?: string; [key: string]: unknown; } export interface BusinessCreateOpenbridgeConfigurationsParams { active?: boolean; blocked_event_types?: string[]; blocked_websites?: string[]; capi_publishing_state?: string; cloud_provider?: string; cloud_region?: string; destination_id?: string; endpoint?: string; event_enrichment_advertiser_state?: string; event_enrichment_meta_state?: string; event_enrichment_state?: string; fallback_domain?: string; host_business_id?: number; instance_id?: string; instance_version?: string; is_sgw_instance?: boolean; is_sgw_pixel_from_meta_pixel?: boolean; partner_name?: string; pixel_id: number; sgw_account_id?: string; sgw_instance_url?: string; sgw_pixel_id?: number; [key: string]: unknown; } export interface BusinessListOwnedAdAccountsParams { include_shared_ad_accounts?: boolean; search_query?: string; [key: string]: unknown; } export interface BusinessCreateOwnedAdAccountsParams { adaccount_id: string; [key: string]: unknown; } export interface BusinessCreateOwnedAppsParams { app_id: Record; [key: string]: unknown; } export interface BusinessDeleteOwnedBusinessesParams { client_id: string; [key: string]: unknown; } export interface BusinessListOwnedBusinessesParams { child_business_external_id?: string; client_user_id?: number; [key: string]: unknown; } export interface BusinessCreateOwnedBusinessesParams { child_business_external_id?: string; name: string; page_permitted_tasks?: string[]; sales_rep_email?: string; shared_page_id?: string; should_generate_name?: boolean; survey_business_type?: string; survey_num_assets?: number; survey_num_people?: number; timezone_id?: string; vertical: string; [key: string]: unknown; } export interface BusinessCreateOwnedPagesParams { code?: string; entry_point?: string; page_id: number; [key: string]: unknown; } export interface BusinessCreateOwnedProductCatalogsParams { additional_vertical_option?: string; business_metadata?: Record; catalog_segment_filter?: Record; catalog_segment_product_set_id?: string; da_display_settings?: Record; destination_catalog_settings?: Record; flight_catalog_settings?: Record; name: string; parent_catalog_id?: string; partner_integration?: Record; store_catalog_settings?: Record; vertical?: string; [key: string]: unknown; } export interface BusinessDeletePagesParams { page_id: number; [key: string]: unknown; } export interface BusinessCreatePartnerPremiumOptionsParams { catalog_segment_id?: string; enable_basket_insight: boolean; enable_extended_audience_retargeting: boolean; partner_business_id: string; retailer_custom_audience_config: Record; vendor_id?: string; [key: string]: unknown; } export interface BusinessListPendingUsersParams { email?: string; [key: string]: unknown; } export interface BusinessListPictureParams { height?: number; redirect?: boolean; type?: string; width?: number; [key: string]: unknown; } export interface BusinessListPreverifiedNumbersParams { code_verification_status?: string; phone_number?: string; [key: string]: unknown; } export interface BusinessListReceivedAudienceSharingRequestsParams { initiator_id?: string; request_status?: string; [key: string]: unknown; } export interface BusinessListSelfCertifiedWhatsappBusinessSubmissionsParams { end_business_id?: string; [key: string]: unknown; } export interface BusinessCreateSelfCertifyWhatsappBusinessParams { average_monthly_revenue_spend_with_partner?: Record; business_documents: File | Blob | ReadableStream[]; business_vertical?: string; end_business_address?: Record; end_business_id: string; end_business_legal_name?: string; end_business_trade_names?: string[]; end_business_website?: string; num_billing_cycles_with_partner?: number; [key: string]: unknown; } export interface BusinessCreateSetupManagedPartnerAdaccountsParams { credit_line_id: string; marketplace_business_id: string; subvertical_v2: string; vendor_id: string; vertical_v2: string; [key: string]: unknown; } export interface BusinessDeleteSharePreverifiedNumbersParams { partner_business_id: string; preverified_id: string; [key: string]: unknown; } export interface BusinessCreateSharePreverifiedNumbersParams { partner_business_id: string; preverified_id: string; [key: string]: unknown; } export interface BusinessCreateSystemUserAccessTokensParams { asset?: number[]; fetch_only?: boolean; scope?: PermissionFields[]; set_token_expires_in_60_days?: boolean; system_user_id?: number; [key: string]: unknown; } export interface BusinessCreateSystemUsersParams { name: string; role?: string; system_user_id?: number; [key: string]: unknown; } export interface BusinessCreateVideosParams { ad_placements_validation_only?: boolean; application_id?: string; asked_fun_fact_prompt_id?: number; audio_story_wave_animation_handle?: string; chunk_session_id?: string; composer_entry_picker?: string; composer_entry_point?: string; composer_entry_time?: number; composer_session_events_log?: string; composer_session_id?: string; composer_source_surface?: string; composer_type?: string; container_type?: string; content_category?: string; creative_folder_id: string; creative_tools?: string; description?: string; edit_description_spec?: Record; embeddable?: boolean; end_offset?: number; fbuploader_video_file_chunk?: string; file_size?: number; file_url?: string; fisheye_video_cropped?: boolean; formatting?: string; fov?: number; front_z_rotation?: number; fun_fact_prompt_id?: string; fun_fact_toastee_id?: number; guide?: number[][]; guide_enabled?: boolean; initial_heading?: number; initial_pitch?: number; instant_game_entry_point_data?: string; is_boost_intended?: boolean; is_group_linking_post?: boolean; is_partnership_ad?: boolean; is_voice_clip?: boolean; location_source_id?: string; og_action_type_id?: string; og_icon_id?: string; og_object_id?: string; og_phrase?: string; og_suggestion_mechanism?: string; original_fov?: number; original_projection_type?: string; partnership_ad_ad_code?: string; publish_event_id?: number; referenced_sticker_id?: string; replace_video_id?: string; slideshow_spec?: Record; source?: string; source_instagram_media_id?: string; spherical?: boolean; start_offset?: number; swap_mode?: string; text_format_metadata?: string; thumb?: File | Blob | ReadableStream; time_since_original_post?: number; title?: string; transcode_setting_properties?: string; unpublished_content_type?: string; upload_phase?: string; upload_session_id?: string; upload_setting_properties?: string; validation_ad_placements?: string[]; video_file_chunk?: string; video_id_original?: string; video_start_time_ms?: number; waterfall_id?: string; [key: string]: unknown; } export interface BusinessUpdateParams { entry_point?: string; name?: string; primary_page?: string; timezone_id?: number; two_factor_type?: BusinessTwoFactorType; vertical?: BusinessVertical; [key: string]: unknown; } export function businessNode(client: ApiClient, id: string) { return { __path: id, __brand: undefined as unknown as BusinessFields, get: (opts: { fields: F; params?: Record }) => client.get>(`${id}`, opts), update: (params: BusinessUpdateParams) => client.post(`${id}`, params as Record), createAccessToken: (params: BusinessCreateAccessTokenParams) => client.post(`${id}/access_token`, params as Record), adAccountInfos: (opts: { fields: F; params?: BusinessListAdAccountInfosParams }) => new Cursor>(client, `${id}/ad_account_infos`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), deleteAdAccounts: (params: BusinessDeleteAdAccountsParams) => client.delete(`${id}/ad_accounts`, params as Record ?? {}), adCustomDerivedMetrics: (opts: { fields: F; params?: BusinessListAdCustomDerivedMetricsParams }) => new Cursor>(client, `${id}/ad_custom_derived_metrics`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), createAdReviewRequest: (params: BusinessCreateAdReviewRequestsParams) => client.post>(`${id}/ad_review_requests`, params as Record), adStudies: { __path: `${id}/ad_studies`, __brand: undefined as unknown as AdStudyFields, list: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/ad_studies`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), create: (params: BusinessCreateAdStudiesParams) => client.post(`${id}/ad_studies`, params as Record), }, createAdaccount: (params: BusinessCreateAdaccountParams) => client.post(`${id}/adaccount`, params as Record), createAddPhoneNumber: (params: BusinessCreateAddPhoneNumbersParams) => client.post(`${id}/add_phone_numbers`, params as Record), createAdnetworkApplication: (params: BusinessCreateAdnetworkApplicationsParams) => client.post(`${id}/adnetwork_applications`, params as Record), adnetworkanalytics: { __path: `${id}/adnetworkanalytics`, __brand: undefined as unknown as AdNetworkAnalyticsSyncQueryResultFields, list: (opts: { fields: F; params?: BusinessListAdnetworkanalyticsParams }) => new Cursor>(client, `${id}/adnetworkanalytics`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), create: (params: BusinessCreateAdnetworkanalyticsParams) => client.post(`${id}/adnetworkanalytics`, params as Record), }, adnetworkanalyticsResults: (opts: { fields: F; params?: BusinessListAdnetworkanalyticsResultsParams }) => new Cursor>(client, `${id}/adnetworkanalytics_results`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), adsDataset: { __path: `${id}/ads_dataset`, __brand: undefined as unknown as AdsDatasetFields, list: (opts: { fields: F; params?: BusinessListAdsDatasetParams }) => new Cursor>(client, `${id}/ads_dataset`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), create: (params: BusinessCreateAdsDatasetParams) => client.post(`${id}/ads_dataset`, params as Record), }, adsReportingMmmReports: (opts: { fields: F; params?: BusinessListAdsReportingMmmReportsParams }) => new Cursor>(client, `${id}/ads_reporting_mmm_reports`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), adsReportingMmmSchedulers: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/ads_reporting_mmm_schedulers`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), adspixels: { __path: `${id}/adspixels`, __brand: undefined as unknown as AdsPixelFields, list: (opts: { fields: F; params?: BusinessListAdspixelsParams }) => new Cursor>(client, `${id}/adspixels`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), create: (params: BusinessCreateAdspixelsParams) => client.post(`${id}/adspixels`, params as Record), }, agencies: { __path: `${id}/agencies`, __brand: undefined as unknown as BusinessFields, list: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/agencies`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), delete: (params: BusinessDeleteAgenciesParams) => client.delete(`${id}/agencies`, params as Record ?? {}), }, anPlacements: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/an_placements`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), createBlockListDraft: (params: BusinessCreateBlockListDraftsParams) => client.post(`${id}/block_list_drafts`, params as Record), createBmReviewRequest: (params: BusinessCreateBmReviewRequestsParams) => client.post>(`${id}/bm_review_requests`, params as Record), businessAssetGroups: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/business_asset_groups`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), businessInvoices: (opts: { fields: F; params?: BusinessListBusinessInvoicesParams }) => new Cursor>(client, `${id}/business_invoices`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), businessUsers: { __path: `${id}/business_users`, __brand: undefined as unknown as BusinessUserFields, list: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/business_users`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), create: (params: BusinessCreateBusinessUsersParams) => client.post(`${id}/business_users`, params as Record), }, businessprojects: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/businessprojects`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), createClaimCustomConversion: (params: BusinessCreateClaimCustomConversionsParams) => client.post(`${id}/claim_custom_conversions`, params as Record), clientAdAccounts: (opts: { fields: F; params?: BusinessListClientAdAccountsParams }) => new Cursor>(client, `${id}/client_ad_accounts`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), clientApps: { __path: `${id}/client_apps`, __brand: undefined as unknown as ApplicationFields, list: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/client_apps`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), create: (params: BusinessCreateClientAppsParams) => client.post(`${id}/client_apps`, params as Record), }, clientInstagramAssets: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/client_instagram_assets`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), clientOffsiteSignalContainerBusinessObjects: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/client_offsite_signal_container_business_objects`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), clientPages: { __path: `${id}/client_pages`, __brand: undefined as unknown as PageFields, list: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/client_pages`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), create: (params: BusinessCreateClientPagesParams) => client.post(`${id}/client_pages`, params as Record), }, clientPixels: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/client_pixels`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), clientProductCatalogs: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/client_product_catalogs`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), clientWhatsappBusinessAccounts: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/client_whatsapp_business_accounts`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), clients: { __path: `${id}/clients`, __brand: undefined as unknown as BusinessFields, list: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/clients`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), delete: (params: BusinessDeleteClientsParams) => client.delete(`${id}/clients`, params as Record ?? {}), }, collaborativeAdsCollaborationRequests: (opts: { fields: F; params?: BusinessListCollaborativeAdsCollaborationRequestsParams }) => new Cursor>(client, `${id}/collaborative_ads_collaboration_requests`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), collaborativeAdsSuggestedPartners: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/collaborative_ads_suggested_partners`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), commerceMerchantSettings: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/commerce_merchant_settings`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), cpasBusinessSetupConfig: { __path: `${id}/cpas_business_setup_config`, __brand: undefined as unknown as CPASBusinessSetupConfigFields, list: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/cpas_business_setup_config`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), create: (params: BusinessCreateCpasBusinessSetupConfigParams) => client.post(`${id}/cpas_business_setup_config`, params as Record), }, cpasMerchantConfig: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/cpas_merchant_config`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), createCreativeFolder: (params: BusinessCreateCreativeFoldersParams) => client.post(`${id}/creative_folders`, params as Record), creditcards: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/creditcards`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), createCustomconversion: (params: BusinessCreateCustomconversionsParams) => client.post(`${id}/customconversions`, params as Record), eventSourceGroups: { __path: `${id}/event_source_groups`, __brand: undefined as unknown as EventSourceGroupFields, list: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/event_source_groups`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), create: (params: BusinessCreateEventSourceGroupsParams) => client.post(`${id}/event_source_groups`, params as Record), }, extendedcreditapplications: (opts: { fields: F; params?: BusinessListExtendedcreditapplicationsParams }) => new Cursor>(client, `${id}/extendedcreditapplications`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), extendedcredits: (opts: { fields: F; params?: BusinessListExtendedcreditsParams }) => new Cursor>(client, `${id}/extendedcredits`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), createImage: (params: BusinessCreateImagesParams) => client.post(`${id}/images`, params as Record), initiatedAudienceSharingRequests: (opts: { fields: F; params?: BusinessListInitiatedAudienceSharingRequestsParams }) => new Cursor>(client, `${id}/initiated_audience_sharing_requests`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), instagramAccounts: { __path: `${id}/instagram_accounts`, __brand: undefined as unknown as IGUserFields, list: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/instagram_accounts`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), delete: (params: BusinessDeleteInstagramAccountsParams) => client.delete(`${id}/instagram_accounts`, params as Record ?? {}), }, instagramBusinessAccounts: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/instagram_business_accounts`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), managedBusinesses: { __path: `${id}/managed_businesses`, __brand: undefined as unknown as BusinessFields, create: (params: BusinessCreateManagedBusinessesParams) => client.post(`${id}/managed_businesses`, params as Record), delete: (params: BusinessDeleteManagedBusinessesParams) => client.delete(`${id}/managed_businesses`, params as Record ?? {}), }, managedPartnerAdsFundingSourceDetails: (opts: { fields: F; params?: BusinessListManagedPartnerAdsFundingSourceDetailsParams }) => new Cursor>(client, `${id}/managed_partner_ads_funding_source_details`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), createManagedPartnerBusinessSetup: (params: BusinessCreateManagedPartnerBusinessSetupParams) => client.post(`${id}/managed_partner_business_setup`, params as Record), managedPartnerBusinesses: { __path: `${id}/managed_partner_businesses`, __brand: undefined as unknown as ManagedPartnerBusinessFields, create: (params: BusinessCreateManagedPartnerBusinessesParams) => client.post(`${id}/managed_partner_businesses`, params as Record), delete: (params: BusinessDeleteManagedPartnerBusinessesParams) => client.delete(`${id}/managed_partner_businesses`, params as Record ?? {}), }, createOnboardPartnersToMmLite: (params: BusinessCreateOnboardPartnersToMmLiteParams) => client.post>(`${id}/onboard_partners_to_mm_lite`, params as Record), openbridgeConfigurations: { __path: `${id}/openbridge_configurations`, __brand: undefined as unknown as OpenBridgeConfigurationFields, list: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/openbridge_configurations`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), create: (params: BusinessCreateOpenbridgeConfigurationsParams) => client.post(`${id}/openbridge_configurations`, params as Record), }, ownedAdAccounts: { __path: `${id}/owned_ad_accounts`, __brand: undefined as unknown as AdAccountFields, list: (opts: { fields: F; params?: BusinessListOwnedAdAccountsParams }) => new Cursor>(client, `${id}/owned_ad_accounts`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), create: (params: BusinessCreateOwnedAdAccountsParams) => client.post(`${id}/owned_ad_accounts`, params as Record), }, ownedApps: { __path: `${id}/owned_apps`, __brand: undefined as unknown as ApplicationFields, list: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/owned_apps`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), create: (params: BusinessCreateOwnedAppsParams) => client.post(`${id}/owned_apps`, params as Record), }, ownedBusinesses: { __path: `${id}/owned_businesses`, __brand: undefined as unknown as BusinessFields, list: (opts: { fields: F; params?: BusinessListOwnedBusinessesParams }) => new Cursor>(client, `${id}/owned_businesses`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), create: (params: BusinessCreateOwnedBusinessesParams) => client.post(`${id}/owned_businesses`, params as Record), delete: (params: BusinessDeleteOwnedBusinessesParams) => client.delete(`${id}/owned_businesses`, params as Record ?? {}), }, ownedInstagramAccounts: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/owned_instagram_accounts`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), ownedInstagramAssets: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/owned_instagram_assets`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), ownedOffsiteSignalContainerBusinessObjects: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/owned_offsite_signal_container_business_objects`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), ownedPages: { __path: `${id}/owned_pages`, __brand: undefined as unknown as PageFields, list: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/owned_pages`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), create: (params: BusinessCreateOwnedPagesParams) => client.post(`${id}/owned_pages`, params as Record), }, ownedPixels: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/owned_pixels`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), ownedProductCatalogs: { __path: `${id}/owned_product_catalogs`, __brand: undefined as unknown as ProductCatalogFields, list: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/owned_product_catalogs`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), create: (params: BusinessCreateOwnedProductCatalogsParams) => client.post(`${id}/owned_product_catalogs`, params as Record), }, ownedWhatsappBusinessAccounts: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/owned_whatsapp_business_accounts`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), deletePages: (params: BusinessDeletePagesParams) => client.delete(`${id}/pages`, params as Record ?? {}), partnerAccountLinking: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/partner_account_linking`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), createPartnerPremiumOption: (params: BusinessCreatePartnerPremiumOptionsParams) => client.post>(`${id}/partner_premium_options`, params as Record), passbackAttributionMetadataConfigs: )[]>(opts: { fields: F; params?: Record }) => new Cursor, F[number]>>(client, `${id}/passback_attribution_metadata_configs`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), pendingClientAdAccounts: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/pending_client_ad_accounts`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), pendingClientApps: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/pending_client_apps`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), pendingClientPages: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/pending_client_pages`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), pendingOwnedAdAccounts: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/pending_owned_ad_accounts`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), pendingOwnedPages: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/pending_owned_pages`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), pendingSharedOffsiteSignalContainerBusinessObjects: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/pending_shared_offsite_signal_container_business_objects`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), pendingUsers: (opts: { fields: F; params?: BusinessListPendingUsersParams }) => new Cursor>(client, `${id}/pending_users`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), picture: (opts: { fields: F; params?: BusinessListPictureParams }) => new Cursor>(client, `${id}/picture`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), createPixelTo: (params: Record) => client.post>(`${id}/pixel_tos`, params as Record), preverifiedNumbers: (opts: { fields: F; params?: BusinessListPreverifiedNumbersParams }) => new Cursor>(client, `${id}/preverified_numbers`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), receivedAudienceSharingRequests: (opts: { fields: F; params?: BusinessListReceivedAudienceSharingRequestsParams }) => new Cursor>(client, `${id}/received_audience_sharing_requests`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), resellerGuidances: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/reseller_guidances`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), selfCertifiedWhatsappBusinessSubmissions: (opts: { fields: F; params?: BusinessListSelfCertifiedWhatsappBusinessSubmissionsParams }) => new Cursor>(client, `${id}/self_certified_whatsapp_business_submissions`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), createSelfCertifyWhatsappBusiness: (params: BusinessCreateSelfCertifyWhatsappBusinessParams) => client.post(`${id}/self_certify_whatsapp_business`, params as Record), createSetupManagedPartnerAdaccount: (params: BusinessCreateSetupManagedPartnerAdaccountsParams) => client.post(`${id}/setup_managed_partner_adaccounts`, params as Record), sharePreverifiedNumbers: { __path: `${id}/share_preverified_numbers`, __brand: undefined as unknown as BusinessFields, create: (params: BusinessCreateSharePreverifiedNumbersParams) => client.post(`${id}/share_preverified_numbers`, params as Record), delete: (params: BusinessDeleteSharePreverifiedNumbersParams) => client.delete(`${id}/share_preverified_numbers`, params as Record ?? {}), }, createSystemUserAccessToken: (params: BusinessCreateSystemUserAccessTokensParams) => client.post(`${id}/system_user_access_tokens`, params as Record), systemUsers: { __path: `${id}/system_users`, __brand: undefined as unknown as SystemUserFields, list: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/system_users`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), create: (params: BusinessCreateSystemUsersParams) => client.post(`${id}/system_users`, params as Record), }, thirdPartyMeasurementReportDataset: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/third_party_measurement_report_dataset`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), createVideo: (params: BusinessCreateVideosParams) => client.post(`${id}/videos`, params as Record), }; }