@exmg/livery
Version:
Ex Machina Group Livery Web SDK.
58 lines (57 loc) • 1.73 kB
TypeScript
import { EmitterEvents } from '../EventEmitter';
import { Logger } from '../Logger';
import { PropertyEmitter } from '../PropertyEmitter';
interface PresentationModeEvents extends EmitterEvents {
activeChange: {
active: boolean;
};
}
export declare abstract class PresentationMode extends PropertyEmitter<PresentationMode, PresentationModeEvents> {
/**
* True if element supports this presentation mode.
*/
static isSupported: (element: Element) => boolean;
/**
* Element to toggle presentation mode on.
*/
element: Element;
/**
* Logger instance for this class.
*/
log: Logger;
/**
* True if element is in this presentation mode.
* Emits: activeChange.
*/
get active(): boolean;
private _active;
constructor(element: Element);
dispose(): void;
/**
* Toggle this presentation mode on element.
*/
toggle(): Promise<void>;
/**
* Update the active property value and emit an activeChange event.
* Concrete classes should call this when the value of isActive() becomes available
* and subsequently after it has changed.
*/
protected updateActive(): void;
/**
* Exit element from this presentation mode.
*
* @returns Promise that resolves when the transition from presentation mode is complete
*/
abstract exit(): Promise<void>;
/**
* Request this presentation mode on element.
*
* @returns Promise that resolves when the transition to presentation mode is complete
*/
abstract request(): Promise<void>;
/**
* True if element is in this presentation mode.
*/
protected abstract isActive(): boolean;
}
export {};