import { IApplication } from './types/api.interfaces';
import { IWebexAppsMeeting, IWebexAppsMeetingState } from './types/meeting.interfaces';
/**
* Webex Embedded Apps meeting instance.
*
* @example
*
This can be accessed as follows,
* ```javascript
* const app = new webex.Application();
* await app.onReady();
* const meeting = app.meeting;
* const meetingInfo = meeting.states;
* ```
* `meetingInfo` properties are documented at {@link IWebexAppsMeetingState}
* @public
*/
declare class WebexAppsMeeting implements IWebexAppsMeeting {
/**
* @internal
*/
sdk: IApplication;
/**
* Holds meeting information obtained from {@link IContext.getMeeting | app.context.getMeeting()}
* @public
*/
states: IWebexAppsMeetingState;
/**
* @internal
*/
constructor(sdk: IApplication);
/**
* @internal
*/
initialize(): Promise;
/**
* @internal
*/
updateStates(newStates: IWebexAppsMeetingState, eventName?: string): void;
/**
* @internal
*/
getMeeting(): Promise;
/**
* @internal
*/
setPresentationUrl(url: string, title: string, shareOptimizationMode: number, includeAudio: boolean): Promise;
/**
* @internal
*/
clearPresentationUrl(): Promise;
/**
* Fired when meeting information has changed for the current meeting.
*
* @event
* @remarks Available since 1.1.0
* @example
* ```javascript
* app.onReady().then(() => {
* app.listen()
* .then(() => {
* app.on("meeting:infoChanged", (meeting) => {
* console.log("Meeting information changed. New meeting info:", meeting);
* })
* })
* .catch((reason) => {
* console.error("listen: fail reason=" + webex.Application.ErrorCodes[reason]);
* });
* });
* ```
*/
readonly 'meeting:infoChanged': IWebexAppsMeetingState;
/**
* Fired when the role for the current participant changes.
*
*
* @event
* @remarks Available since 1.1.0
* @example
* ```javascript
* app.onReady().then(() => {
* app.listen()
* .then(() => {
* app.on("meeting:roleChanged", (assignedRoles) => {
* console.log("Meeting role changed for user. New roles:", assignedRoles);
* })
* })
* .catch((reason) => {
* console.error("listen: fail reason=" + webex.Application.ErrorCodes[reason]);
* });
* });
* ```
* `assignedRoles` object is an array of strings that indicate the new role(s) assigned to the current user. Possible values are
*
* - PARTICIPANT
*
* - GUEST
*
* - HOST
*
* - COHOST
*
* - PANELIST
*
* - PRESENTER
*
*/
readonly 'meeting:roleChanged': string[];
}
export { IWebexAppsMeetingState, WebexAppsMeeting };
export default WebexAppsMeeting;
//# sourceMappingURL=meeting.d.ts.map