import { LowLevelApi } from './LowLevelApi'; import { PitcherEvent, ApiOptions } from '../interfaces'; import * as modules from '@sdk/api/modules'; /** * Creates a high-level API instance and caches it. Reterns a new instance only if new options are provided. */ export declare function createHighLevelApi(options?: ApiOptions): { /** * Subscribe to a given event type by its key. * * @param {string} type - The event type to subscribe to. * @param {(payload: PitcherEvent) => void} callback - The callback function to handle the event. * @returns A Promise resolving to a cleanup function to unsubscribe from the event. * @example * * @example * const unsubscribeFromSectionListUpdate = usePitcherApi().on('entered_fullscreen', (event: object) => { * // handle event * }) * // later * unsubscribeFromSectionListUpdate() */ on: (type: string, callback: (payload: PitcherEvent) => void) => void; /** * Unsubscribe from a given event type by its key and the attached callback reference. * @param {string} type - The event type to unsubscribe from. * @param {(payload: PitcherEvent) => void} callback - The callback function reference to remove. * * @example * const callback = (event: object) => { * // handle event * } * usePitcherApi().on('entered_fullscreen', callback) * // later * usePitcherApi().off('entered_fullscreen', callback) */ off: (type: string, callback: (payload: PitcherEvent) => void) => void; /** * Make the entire CatalogIQ fullscreen. * * @example * usePitcherApi().enterFullscreen() */ enterFullscreen: () => Promise; /** * Exit fullscreen mode. * * @example * usePitcherApi().exitFullscreen() */ exitFullscreen: () => Promise; /** * Return is CatalogIQ in fullscreen. * * @example * usePitcherApi().isFullscreen() */ isFullscreen: () => Promise; /** * Log out the current user. * * @example * usePitcherApi().logout() */ logout: () => Promise; /** * Quit the current instance and go to the instance selection screen. * * @example * usePitcherApi().quitInstance() */ quitInstance: () => Promise; /** * Get the request types. * * @returns {Promise} */ getRequestTypes: () => Promise; /** * Broadcast an event to CatalogIQ. * @param {PitcherEvent} event - The event to broadcast. * * @example * usePitcherApi() * .broadcast({ * type: "canvas_updated", * body: { context: { myContextProperty: 'test' } }, * }) * .then(function (result) { * useUi().toast({ * message: "Canvas Populated.", * type: "info", * }) * }) */ broadcast: (event: PitcherEvent) => Promise; /** * Broadcast an event to webviews only (iOS only). * @param {PitcherEvent} event - The event to broadcast. * * @example * usePitcherApi() * .broadcastToWebviews({ * type: "canvas_updated", * body: { context: { myContextProperty: 'test' } }, * }) * .then(function (result) { * useUi().toast({ * message: "Canvas Populated.", * type: "info", * }) * }) */ broadcastToWebviews: (event: PitcherEvent) => Promise; /** * Subscribe to updates. * * @returns {Promise} */ subscribe: () => Promise; /** * Unsubscribe from updates. * * @returns {Promise} */ unsubscribe: () => Promise; open(payload?: import('../payload.types').OpenRequestPayload): Promise; openExternalUrl(payload: import('../payload.types').OpenExternalUrlRequestPayload): Promise; getEnv(): Promise; updateMyUser(payload: { language?: import('../../main.lib').LanguageEnum | undefined; }): Promise; isOffline(): Promise; getLanguages(): Promise; getEvents(payload: Partial): Promise>; createEvent(payload: import('../../main.lib').EventRequest): Promise; updateEvent(payload: import('../../main.lib').PatchedEventRequest): Promise; deleteEvent(payload: Partial): Promise; getCanvases(payload: import('../../main.lib').GetCanvasesParams & { filters?: Record; fields?: string; }): Promise>; createCanvas(payload: Omit): Promise; deleteCanvas(payload: { id: import('../../main.lib').CanvasRetrieve["id"]; }): Promise; updateCanvas(payload: import('../../main.lib').PatchedCanvasUpdateRequest & { id: import('../../main.lib').CanvasRetrieve["id"]; instance_id?: import('../../main.lib').Instance["id"]; fields?: string; }): Promise; updateCanvasIndicators(payload: { indicators: Record; id: import('../../main.lib').CanvasRetrieve["id"]; instance_id?: import('../../main.lib').Instance["id"]; }): Promise; getCanvas(payload: { id: import('../../main.lib').CanvasRetrieve["id"]; fields?: string; }): Promise; shareCanvas(payload: { id: import('../../main.lib').CanvasRetrieve["id"]; }): Promise; getCanvasRecommendedFiles(payload: { canvas_id: import('../../main.lib').CanvasRetrieve["id"]; match?: ("tags" | "metadata")[]; }): Promise; getCanvasTheme(payload: { canvas_id: import('../../main.lib').CanvasRetrieve["id"]; }): Promise; unassignCanvasTheme(payload: { canvas_id: import('../../main.lib').CanvasRetrieve["id"]; }): Promise; getFiles(payload: import('../payload.types').ListFilesPayload & { filters?: Record; fields?: string; }): Promise; getRecentFiles(payload?: import('../payload.types').GetRecentFilesPayload): Promise; downloadFile(payload: { file_id: import('../../main.lib').File["id"]; }): Promise; getAppConfig(payload?: { app_name?: string; }): Promise>; getFile(payload: { id?: import('../../main.lib').FileRetrieve["id"]; file_id?: import('../../main.lib').FileRetrieve["id"]; }): Promise; getFileRevisionData(payload: { file_id: import('../../main.lib').FileRetrieve["id"]; revision_id: import('../../main.lib').FileRevision["id"]; }): Promise; updateFile(payload: import('../../main.lib').FileUpdateRequest & { id: import('../../main.lib').File["id"]; }): Promise; deleteFile(payload: { file_id: import('../../main.lib').File["id"]; }): Promise; createFile(payload: Omit): Promise; selectDeviceFile(): Promise; deleteLocalFile(payload: { url: string; }): Promise; getFileRevisions(payload: { id?: import('../../main.lib').FileRetrieve["id"]; file_id?: import('../../main.lib').FileRetrieve["id"]; }): Promise; search(payload: { query: string; includeExpired?: boolean; }): Promise; getUsers(payload?: import('../../main.lib').GetUsersParams): Promise>; refreshServiceToken(payload?: import('../../main.lib').RefreshServiceTokenRequest): Promise; refreshAccessToken(): any; fetchDocumentInfo(payload: { fileId: import('../../main.lib').File["id"]; }): Promise<{ pageCount: number; [key: string]: unknown; }>; renderPageAsImage(payload: { fileId: import('../../main.lib').File["id"]; documentId?: import('../../main.lib').File["id"]; pageIndex: number; params: { width: number; } | { height: number; }; }): Promise; toast(payload: { type: string; message: string; }): Promise; query(payload: import('../payload.types').QueryPayload): Promise; crmQuery(payload: import('../payload.types').CRMQueryPayload): Promise; getFolders(payload: import('../payload.types').FolderListRequest): Promise; getFolder(payload?: { id: import('../../main.lib').FolderRetrieve["id"]; }): Promise; createFolder(payload: Omit): Promise; updateFolder(payload: import('../../main.lib').FolderUpdateRequest & { id: import('../../main.lib').Folder["id"]; }): Promise; deleteFolder(payload: { folder_id: import('../../main.lib').FolderRetrieve["id"]; }): Promise; moveFolderItems(payload: { target_folder_id: import('../../main.lib').Folder["id"]; items: { id: import('../../main.lib').File["id"] | import('../../main.lib').Folder["id"]; type: "folder" | "file"; }[]; }): Promise; getCoreFolders(payload: { instance_id: string; entity: import('../../main.lib').CoreFolderEntityType; parent_id?: string | null; }): Promise; patchCoreFolder(id: string, payload: Partial): Promise; getFavorites(payload?: import('../../main.lib').GetFavoritesParams): Promise; createFavorite(payload: import('../../main.lib').FavoriteCreateRequest): Promise; deleteFavorite(payload: { favorite_id: import('../../main.lib').Favorite["id"]; }): Promise; notify(payload: import('../payload.types').NotificationPayload): Promise; track(payload: { event_name: string; payload: any; }): Promise; getInstanceMetadataTemplates(payload?: import('../payload.types').GetInstanceMetadataTemplatesPayload): Promise; triggerNonFilesSync(): Promise; submitUserFeedback(payload: import('../payload.types').SubmitUserFeedbackPayload): Promise; close(): Promise; openWebViewAlwaysOnTop(payload: import('../payload.types').OpenWebViewAlwaysOnTop): Promise; showSyncbox(payload: import('../payload.types').ShowSyncboxRequestPayload): Promise; share(payload: import('../payload.types').SharePayload): Promise; showPeerSession(payload: import('../payload.types').ShowPeerSessionRequestPayload): Promise; getThemes(payload: Partial): Promise; assignCanvasTheme(payload: { canvas_id: import('../../main.lib').CanvasRetrieve["id"]; theme_id: import('../../main.lib').CanvasThemeRetrieve["id"]; }): Promise<{ canvas_id: import('../../main.lib').CanvasRetrieve["id"]; theme_id: import('../../main.lib').CanvasThemeRetrieve["id"]; }>; API: LowLevelApi; };