import ApplicationClient from './ApplicationClient'; import ChargebeeClient from './ChargebeeClient'; import DeviceClient from './DeviceClient'; import FileUploadClient from './FileUploadClient'; import PlaylistClient from './PlaylistClient'; import PresentationClient from './PresentationClient'; import ThemeClient from './ThemeClient'; import UserClient from './UserClient'; import FolderClient from './FolderClient'; import DomainClient from './DomainClient'; import ResourceClient from './ResourceClient'; import PlaybackReportClient from './PlaybackReportClient'; import FontClient from './FontClient'; import AdminClient from './AdminClient'; import CatalogClient from './CatalogClient'; import StripeClient from './StripeClient'; export type ApiClientFetcher = (input: RequestInfo, init?: RequestInit | undefined) => Promise; export interface ApiClientOptions { /** The base url for the api client. */ baseUrl: string; /** The (optional) access token to use when making requests. */ accessToken?: string; /** The (optional) access token getter. */ getAccessToken?: (opts: RequestOptions) => Promise; /** Set to true to use the Authorization: Bearer scheme */ isBearerToken?: boolean; /** A function to handle the underlying fetch request */ fetcher: ApiClientFetcher; } export type MethodTypes = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; export interface RequestOptions { method: MethodTypes; url: string; body?: RequestBody; responseType?: 'blob' | 'arraybuffer' | 'json' | 'text'; } export default class ApiClient implements FolderClient, ApplicationClient, ChargebeeClient, DeviceClient, FileUploadClient, FontClient, PresentationClient, PlaylistClient, ThemeClient, UserClient, DomainClient, ResourceClient, PlaybackReportClient, AdminClient, CatalogClient, StripeClient { getDevicesFolder: (this: ApiClient, query?: string | undefined) => Promise; getV5DevicesFolder: (this: ApiClient, query?: string | undefined) => Promise; getLibraryFolder: (this: ApiClient) => Promise; getFolder: (this: ApiClient, folderId: string) => Promise; createFolder: (this: ApiClient, folder: import(".").CreateFolder) => Promise; updateFolder: (this: ApiClient, folderId: string, folder: Partial) => Promise; deleteFolder: (this: ApiClient, folderId: string) => Promise; moveFolderToFolder: (this: ApiClient, folderId: string, parentFolderId: string | null) => Promise; copyFolder: (this: ApiClient, folderId: string, params?: { name?: string | undefined; targetFolderId?: string | undefined; copyOutOfTreeUnowned?: boolean | undefined; }) => Promise; getV4DevicesFolder: (this: ApiClient, query?: string | undefined) => Promise; getV4LibraryFolder: (this: ApiClient, params?: import(".").V4LibraryQueryParams | undefined) => Promise; getV4LibraryLiteFolder: (this: ApiClient, params?: import(".").V4LibraryQueryParams | undefined) => Promise; getDevices: (this: ApiClient, filter?: { ids: string[]; } | undefined) => Promise; getV4ReportingDevices: (this: ApiClient, query?: string | undefined) => Promise; getV5Devices: (this: ApiClient, query?: string | undefined) => Promise; getDevice: (this: ApiClient, id: string) => Promise; publishDevice: (this: ApiClient, id: string) => Promise; registerDevice: (this: ApiClient, { activationCode, name, timezone, locationId }: import(".").RegisterDevice) => Promise; updateDevice: (this: ApiClient, id: string, params: import(".").Device) => Promise; updateV5Device: (this: ApiClient, id: string, params: import(".").V5Device) => Promise; restartDevice: (this: ApiClient, id: string) => Promise; rebootDevice: (this: ApiClient, id: string) => Promise; getSYBSoundZone: (this: ApiClient, id: string) => Promise; generateSYBPairingCode: (this: ApiClient, id: string) => Promise; moveDeviceToFolder: (this: ApiClient, deviceId: string, folderId: string) => Promise; getAffectedDevices: (this: ApiClient, body: { presentationIds?: string[] | undefined; playlistIds?: string[] | undefined; folderIds?: string[] | undefined; }) => Promise; unregisterDevice: (this: ApiClient, deviceId: string) => Promise; getRecentDeviceErrors: (this: ApiClient) => Promise; batchDeviceSettings: (this: ApiClient, params: import(".").BatchDeviceSettingsRequest) => Promise; getBatchDeviceStatus: (this: ApiClient) => Promise; getV5Device: (this: ApiClient) => Promise; deviceHeartbeat: (this: ApiClient, body?: import(".").DeviceHeartbeatRequest) => Promise; getDevicePublishedContent: (this: ApiClient) => Promise; getDeviceAdContent: (this: ApiClient) => Promise; devicePubnubAuth: (this: ApiClient, sessionId: string) => Promise; enableMultiTimezone: (this: ApiClient, isDomainUser?: boolean) => Promise; createDeviceCharge: (this: ApiClient, params: import(".").CreateDeviceChargeRequest) => Promise; updateDeviceCharge: (this: ApiClient, chargeId: string, params: import(".").UpdateDeviceChargeRequest) => Promise; enableDeviceService: (this: ApiClient, id: string, service: string) => Promise; disableDeviceService: (this: ApiClient, id: string, service: string) => Promise; getDeviceAISettings: (this: ApiClient, id: string) => Promise; setDeviceAISettings: (this: ApiClient, id: string, settings: import(".").JSONObject) => Promise; setDeviceAILicenseKey: (this: ApiClient, id: string, license_key: string) => Promise; startDeviceAIVideo: (this: ApiClient, id: string) => Promise; stopDeviceAIVideo: (this: ApiClient, id: string) => Promise; getDevicePerchviewSettings: (this: ApiClient, id: string) => Promise; getOwnPerchviewSettings: (this: ApiClient) => Promise; setDevicePerchviewSettings: (this: ApiClient, id: string, settings: import(".").PostPerchviewSettingsRequest) => Promise; updateDevicePerchviewSettings: (this: ApiClient, id: string, settings: import(".").PatchPerchviewSettingsRequest) => Promise; getDeviceV2PerchviewSettings: (this: ApiClient, id: string) => Promise; setDeviceV2PerchviewSettings: (this: ApiClient, id: string, settings: import(".").PostV2PerchviewSettingsRequest) => Promise; updateDeviceV2PerchviewSettings: (this: ApiClient, id: string, settings: import(".").PatchV2PerchviewSettingsRequest) => Promise; getDeviceTerminalStatus: (this: ApiClient) => Promise; getDeviceTerminal: (this: ApiClient, deviceId: string) => Promise; deleteDeviceTerminal: (this: ApiClient, deviceId: string) => Promise; getProfile: (this: ApiClient) => Promise; updateProfile: (this: ApiClient & UserClient, profile: import(".").Profile) => Promise; masquerade: (this: ApiClient, email: string) => Promise; unsubscribe: (this: ApiClient, userId: string, email?: string) => Promise; getUserStatus: (this: ApiClient & UserClient, email: string) => Promise; setRemoteAssistance: (this: ApiClient & UserClient, grantLevel: string | null, expiresAt: string | null) => Promise; remoteAssist: (this: ApiClient, email: string) => Promise; changeEmail: (this: ApiClient & UserClient, email: string, password: string) => Promise; getOnboardingStatus: (this: ApiClient, query?: string | undefined) => Promise; updateOnboardingStatus: (this: ApiClient, name: string) => Promise; getProfileDeviceLicenses: (this: ApiClient) => Promise; getBillingAccounts: (this: ApiClient) => Promise; createBillingPortalSession: (this: ApiClient, accountId: string) => Promise; getPresentations: (this: ApiClient, filter?: { ids: string[]; } | undefined) => Promise; deletePresentation: (this: ApiClient, id: string) => Promise; updatePresentation: (this: ApiClient, id: string, params: import(".").UpdatePresentation) => Promise<[import(".").Presentation, import(".").NewFileUploads]>; createPresentation: (this: ApiClient, params: import(".").CreatePresentation) => Promise<[import(".").Presentation, import(".").NewFileUploads]>; movePresentationToFolder: (this: ApiClient, presentationId: string, folderId: string | null) => Promise; copyPresentation: (this: ApiClient, presentationId: string, params?: { name?: string | undefined; targetFolderId?: string | undefined; copyOutOfTreeUnowned?: boolean | undefined; }) => Promise; getPresentationsList: (this: ApiClient, query?: string | undefined) => Promise; getPlaylists: (this: ApiClient, filter?: { ids: string[]; } | undefined) => Promise; createPlaylist: (this: ApiClient, playlist: import(".").CreatePlaylist) => Promise; updatePlaylist: (this: ApiClient, playlistId: string, playlist: import(".").UpdatePlaylist) => Promise; deletePlaylist: (this: ApiClient, playlistId: string) => Promise; movePlaylistToFolder: (this: ApiClient, playlistId: string, folderId: string | null) => Promise; getPlaylistPlaybackContent: (this: ApiClient, playlistId: string) => Promise; copyPlaylist: (this: ApiClient, playlistId: string, params?: { name?: string | undefined; targetFolderId?: string | undefined; copyOutOfTreeUnowned?: boolean | undefined; }) => Promise; uploadFile: (this: ApiClient, fileUploadId: string, uploadUrl: string, file: File) => Promise; getFonts: (this: ApiClient) => Promise; createFont: (this: ApiClient, data: import("./types/Font").CreateFontUploaderRequest) => Promise<[import("./types/Font").Font, import(".").NewFileUploads]>; getApplications: (this: ApiClient) => Promise; createApplication: (this: ApiClient, params: Partial) => Promise; createApplicationVersion: (this: ApiClient, applicationId: string, params: import(".").CreateApplicationVersion) => Promise; updateApplication: (this: ApiClient, id: string, params: import(".").UpdateApplication) => Promise; getApplicationVersions: (this: ApiClient, applicationId: string) => Promise; getMarketPlaceApplications: (this: ApiClient) => Promise; sendMarketPlaceInquiry: (this: ApiClient, params: import(".").SendMarketPlaceInquiryRequest) => Promise; getProductList: (this: ApiClient, params: import(".").GetProductListRequest) => Promise; getEXLicenses: (this: ApiClient) => Promise; purchaseProduct: (this: ApiClient, data: import(".").PurchaseProductRequest) => Promise; generateApplicationVersionToken: (this: ApiClient, applicationVersionId: string) => Promise; getThemes: (this: ApiClient) => Promise; updateTheme: (this: ApiClient, id: string, params: Partial) => Promise<(import(".").NewFileUploads | import(".").Theme | null)[]>; createTheme: (this: ApiClient, params: Partial) => Promise<(import(".").NewFileUploads | import(".").Theme | null)[]>; deleteTheme: (this: ApiClient, id: string) => Promise; getDomain: (this: ApiClient) => Promise; updateDomain: (this: ApiClient, domain: import(".").Domain) => Promise; inviteToDomain: (this: ApiClient, email: string) => Promise; setProfileDomainRole: (this: ApiClient, profileId: string, domainRole: import(".").DomainRole) => Promise; getDomainUsers: (this: ApiClient) => Promise; getPendingDomainUsers: (this: ApiClient) => Promise; validateEmail: (this: ApiClient, data: import(".").InviteDomainRequest) => Promise; inviteDomainUser: (this: ApiClient, data: import(".").InviteDomainUser) => Promise; resendDomainInvite: (this: ApiClient, data: { inviteId: string; }) => Promise; cancelDomainInvite: (this: ApiClient, data: { inviteId: string; }) => Promise; acceptDomainInvite: (this: ApiClient) => Promise; updateDomainUser: (this: ApiClient, profileId: string, data: import(".").UpdateDomainUser) => Promise; updateDomainInvite: (this: ApiClient, inviteId: string, data: import(".").UpdateDomainInvite) => Promise; createResourceACL: (this: ApiClient, acl: import(".").CreateResourceACL) => Promise; deleteResourceACL: (this: ApiClient, aclId: string) => Promise; listResourceACLs: (this: ApiClient, resourceId: string) => Promise; createResourceACLV5: (this: ApiClient, reqBody: import(".").CreateResourceACLV5) => Promise; updateResourceACLV5: (this: ApiClient, reqBody: import(".").CreateResourceACLV5) => Promise; deleteResourceACLV5: (this: ApiClient, resourceId: string, reqBody: import(".").GrantIdentifiers) => Promise; getPlaybackReports: (this: ApiClient) => Promise; generatePlaybackReport: (this: ApiClient, body: { deviceIds: string[]; name: string; start: string; end: string; rowsPerPage: number; }) => Promise; generateChargebeePortal: (this: ApiClient) => Promise; chargeInvoice: (this: ApiClient, data: import(".").ChargeInvoiceRequest) => Promise; getInvoices: (this: ApiClient, params?: import(".").GetInvoicesQueryParams | undefined) => Promise; downloadInvoices: (this: ApiClient, data: import(".").DownloadInvoiceRequest) => Promise; toggleInvoiceEmail: (this: ApiClient, params: import(".").ToggleInvoicesRequest) => Promise; getOutstandingBalance: (this: ApiClient) => Promise; getAddress: (this: ApiClient) => Promise; getCountries: (this: ApiClient) => Promise; updateAddress: (this: ApiClient, data: import(".").UpdateAccountAddressRequest) => Promise; captureContext: (this: ApiClient) => Promise; getPaymentMethods: (this: ApiClient) => Promise; addPaymentMethod: (this: ApiClient, data: import(".").AddPaymentMethodRequest) => Promise; getProfileDevices: (this: ApiClient, params: import(".").GetProfileDevicesRequest) => Promise; getProfilesByRecentDevices: (this: ApiClient, params: import(".").GetProfilesByRecentDevicesRequest) => Promise; disableDevice: (this: ApiClient, params: import(".").AdminDeviceRequest) => Promise; enableDevice: (this: ApiClient, params: import(".").AdminDeviceRequest) => Promise; getDeviceByMacAddress: (this: ApiClient, params: import(".").GetDeviceByMacAddressRequest) => Promise; updateAdminDevice: (this: ApiClient, deviceId: string, params: import(".").UpdateAdminDeviceRequest) => Promise; getAnalytics: (this: ApiClient, query: import(".").AnalyticsQueryParams) => Promise; getContentEngagement: (this: ApiClient, query: import(".").AnalyticsQueryParams) => Promise; getTrafficAwareness: (this: ApiClient, query: import(".").AnalyticsQueryParams) => Promise; getProductEngagementExport: (this: ApiClient, query: import(".").AnalyticsQueryParams) => Promise; getContentEngagementClickExport: (this: ApiClient, query: import(".").AnalyticsQueryParams) => Promise; getTrafficAwarenessExport: (this: ApiClient, query: import(".").AnalyticsQueryParams) => Promise; getContentEngagementExport: (this: ApiClient, query: import(".").AnalyticsQueryParams) => Promise; getAnalyticsLocations: (this: ApiClient) => Promise; getContentDetail: (this: ApiClient, query: import(".").ContentDetailQueryParams) => Promise; getCatalogs: (this: ApiClient, params?: import(".").GetQuery) => Promise>; createCatalog: (this: ApiClient, params: import(".").CreateCatalog) => Promise; updateCatalog: (this: ApiClient, id: string, params: import(".").UpdateCatalog) => Promise; deleteCatalog: (this: ApiClient, id: string) => Promise; getProducts: (this: ApiClient, catalogId: string, params?: import(".").GetProductsQuery) => Promise>; getCatalogLocations: (this: ApiClient, catalogId: string, params?: import(".").GetQuery) => Promise>; getConnections: (this: ApiClient, params?: import(".").GetQuery) => Promise>; createConnection: (this: ApiClient, params: import(".").CreateConnectionClient) => Promise; updateConnection: (this: ApiClient, id: string, params: import(".").UpdateConnection) => Promise; deleteConnection: (this: ApiClient, id: string) => Promise; getConnectors: (this: ApiClient, params?: import(".").GetQuery) => Promise>; getLocations: (this: ApiClient, query?: string | undefined) => Promise; createLocation: (this: ApiClient, params: import(".").CreateLocationRequest) => Promise; editLocation: (this: ApiClient, locationId: string, params: import(".").CreateLocationRequest) => Promise; deleleteLocation: (this: ApiClient, locationId: string) => Promise; getPendingLocations: (this: ApiClient) => Promise; inviteUserToLocation: (this: ApiClient, locationId: string, params: Partial) => Promise; removeUserFromLocation: (this: ApiClient, locationId: string, params: Partial) => Promise; moveDevicesToAnotherLocation: (this: ApiClient, locationId: string, params: import(".").MoveDevicesToAnotherLocation) => Promise; getLibrary: (this: ApiClient, query?: string | undefined) => Promise; createCustomerPortalSession: (this: ApiClient) => Promise; createStripeCheckout: (this: ApiClient, data: import(".").CreateStripeCheckoutParams) => Promise; getStripeCheckout: (this: ApiClient, params?: import(".").GetStripeCheckoutQuery) => Promise; getStripeProducts: (this: ApiClient, params?: import(".").GetStripeProductsQuery) => Promise; protected baseUrl: string; protected accessToken?: string; protected getAccessToken?: (opts: RequestOptions) => Promise; protected isBearerToken: boolean; protected fetcher: ApiClientFetcher; constructor(opts: ApiClientOptions); setAccessToken(accessToken: string): void; requestProtected(opts: RequestOptions): Promise; requestPublic(opts: RequestOptions): Promise; }