import { WebexAppsMeeting } from '../meeting'; import { IWebexAppsApplication } from './application.interfaces'; import { IWebexAppsUser, IWebexAppsUserState } from './user.interfaces'; import { IWebexAppsSpace, IWebexAppsSpaceState } from './space.interfaces'; import { IWebexAppsSidebar } from './sidebar.interfaces'; import { IWebexAppsMeetingState } from './meeting.interfaces'; import { ILog } from '../helpers/types/log.interfaces'; export interface IRequest { resolve: (data: any) => void; } export interface IResponse { requestId?: string; type: string; code: number; request: string; data: any; } export interface IDevices { name: string; id: string; } export interface IAudioDevices { input: IDevices[]; output: IDevices[]; } /** * Type definition of {@link Application.context | app.context} * @public */ export interface IContext { /** * The method that returns information about the user. The information obtained will be based on PII restrictions * @internal * * @removed This API is removed. See the example below for the recommended alternative * @example * * This example is for the current scenario on how to obtain readOnly user information * ```javascript * const app = new window.webex.Application(); * await app.onReady(); * const user = app.application.states.user; * ``` * The `user` object would contain properties as mentioned in {@link IWebexAppsUserState} */ getUser(): Promise; /** * The method that returns meeting information when the app is loaded during a meeting * @example * ```javascript * const app = new window.webex.Application(); * await app.onReady(); * const meeting = await app.context.getMeeting(); * ``` * The `meeting` object would contain the properties as mentioned in {@link IWebexAppsMeetingState} */ getMeeting(): Promise; /** * The method that returns information about the space when the app is loaded inside a space * @example * ```javascript * const app = new window.webex.Application(); * await app.onReady(); * const space = await app.context.getSpace(); * ``` * The `space` object would contain the properties as mentioned in {@link IWebexAppsSpaceState} */ getSpace(): Promise; /** * The method that returns information about the sidebar properties when the app is loaded from the sidebar * * The getSidebar API can reject with one of the following Error Codes, * * 0 = SUCCESS, 1 = GENERIC_ERROR, 6 = NOT_SUPPORTED * @example * ```javascript * const app = new window.webex.Application(); * await app.onReady(); * const sidebar = await app.context.getSidebar(); * ``` * The `sidebar` object contians badge and other properties. * * Please visit {@link IWebexAppsSidebar} to know the sidebar's capabilities */ getSidebar(): Promise; } export type StringNull = string | null; export interface IApplication { application: IWebexAppsApplication; context: IContext; isLegacyAndroidMC: boolean; isUCF: boolean; meeting: WebexAppsMeeting; space: IWebexAppsSpace; user: IWebexAppsUser; log: ILog; readonly deviceType: StringNull; readonly displayContext: StringNull; readonly isPrivateDataAvailable: boolean | null; readonly capabilities: any | null; readonly isShared: boolean | null; readonly theme: StringNull; readonly language: StringNull; readonly sdkVersion: StringNull; readonly about: StringNull; readonly embeddedSdkVersion: StringNull; jsRequestCallback: (response: IResponse) => void; setShareUrl: (internalUrl: string, externalUrl: string, title: string, optional: object) => Promise | Promise; clearShareUrl: () => Promise | Promise; isSdkSupported: (version: string) => boolean; initiateSystemBrowserOAuth: (authenticateUrl: string) => Promise | Promise; on: (eventName: string, callback: (eventObj: object) => void) => number; off: (eventName: string, callback: () => void) => number; listen: () => Promise; stopListening: () => void; onReady: () => Promise; openUrlInSystemBrowser: (url: string) => Promise | Promise; getApplicationDiagnostics: () => any; isReady: () => boolean; isSDKConstructed: () => boolean; isSDKInitialized: () => boolean; } //# sourceMappingURL=api.interfaces.d.ts.map