import { LowLevelApi } from './LowLevelApi'; import { PitcherEvent, ApiOptions } from '../interfaces'; import * as modules from './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; aiGetCapabilities(): Promise; aiComplete(payload: import('../payload.types').AICompletePayload): Promise; piaSearchAnswer(payload: import('../payload.types').PiaSearchAnswerPayload): Promise; appsDbGetEntries(payload: import('../payload.types').AppsDbGetEntriesPayload): Promise; appsDbUpsertEntry(payload: import('../payload.types').AppsDbUpsertEntryPayload): Promise; appsDbDeleteEntry(payload: import('../payload.types').AppsDbDeleteEntryPayload): Promise; appsDbPsql(payload: import('../payload.types').AppsDbPsqlPayload): 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; 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; lazy_sections? /** * Subscribe to updates. * * @returns {Promise} */: boolean; }): Promise; getSectionsByIds(payload: { canvas_id: import('../../main.lib').CanvasRetrieve["id"]; section_ids: string[]; exclude_drafts?: boolean; include_expired_files?: boolean; include_pending_files?: boolean; }): Promise<{ sections: import('../../main.lib').CanvasSection[]; }>; 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; 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; crmQueryAdaptive(payload: import('../payload.types').CRMQueryPayload): Promise; crmSmartQuery(payload: import('../payload.types').CRMQueryPayload): Promise>; crmSmartObjectMetadata(payload: import('../payload.types').CRMSmartObjectMetadataPayload): Promise; crmSmartUpsertObjects(payload: import('../payload.types').UpsertCRMObjectsPayload): Promise; crmSmartObjectValidationRules(payload: import('../payload.types').CRMSmartObjectValidationRulesPayload): Promise; crmSmartObjectLayout(payload: import('../payload.types').CRMSmartObjectLayoutPayload): Promise; crmSmartDeleteObjects(payload: import('../payload.types').CRMSmartDeleteObjectsPayload): Promise; crmCreate(payload: import('../payload.types').CRMCreatePayload): Promise; crmUpsert(payload: import('../payload.types').CRMUpsertPayload): Promise; crmDescribe(payload: import('../payload.types').CRMDescribePayload): Promise; crmLayout(payload: import('../payload.types').CRMLayoutPayload): 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; 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; };