import type * as OpenFin from '../../OpenFin'; import { EmitterBase } from '../base'; import { Transport } from '../../transport/transport'; type FrameEvents = OpenFin.FrameEvent; /** * @classdesc * An iframe represents an embedded HTML page within a parent HTML page. Because this embedded page * has its own DOM and global JS context (which may or may not be linked to that of the parent depending * on if it is considered out of the root domain or not), it represents a unique endpoint as an OpenFin * connection. Iframes may be generated dynamically, or be present on initial page load and each non-CORS * iframe has the OpenFin API injected by default. It is possible to opt into cross-origin iframes having * the API by setting api.iframe.crossOriginInjection to true in a window's options. To block all iframes * from getting the API injected you can set api.frame.sameOriginInjection * to false (see Window~options). * * To be able to directly address this context for eventing and messaging purposes, it needs a * unique uuid name pairing. For OpenFin applications and windows this is provided via a configuration * object in the form of a manifest URL or options object, but there is no configuration object for iframes. * Just as a call to window.open outside of our Window API returns a new window with a random GUID assigned * for the name, each iframe that has the API injected will be assigned a GUID as its name, the UUID will be * the same as the parent window's. * * The fin.Frame namespace represents a way to interact with `iframes` and facilitates the discovery of current context * (iframe or main window) as well as the ability to listen for frame-specific events. * @class * @alias Frame * @hideconstructor */ export declare class _Frame extends EmitterBase { identity: OpenFin.Identity; constructor(wire: Transport, identity: OpenFin.Identity); /** * Adds the listener function to the end of the listeners array for the specified event type. * @param { string | symbol } eventType - The type of the event. * @param { Function } listener - Called whenever an event of the specified type occurs. * @param { SubOptions } [options] - Option to support event timestamps. * @return {Promise.} * @function addListener * @memberof Frame * @instance * @tutorial Frame.EventEmitter */ /** * Adds a listener to the end of the listeners array for the specified event. * @param { string | symbol } eventType - The type of the event. * @param { Function } listener - Called whenever an event of the specified type occurs. * @param { SubOptions } [options] - Option to support event timestamps. * @return {Promise.} * @function on * @memberof Frame * @instance * @tutorial Frame.EventEmitter */ /** * Adds a one time listener for the event. The listener is invoked only the first time the event is fired, after which it is removed. * @param { string | symbol } eventType - The type of the event. * @param { Function } listener - The callback function. * @param { SubOptions } [options] - Option to support event timestamps. * @return {Promise.} * @function once * @memberof Frame * @instance * @tutorial Frame.EventEmitter */ /** * Adds a listener to the beginning of the listeners array for the specified event. * @param { string | symbol } eventType - The type of the event. * @param { Function } listener - The callback function. * @param { SubOptions } [options] - Option to support event timestamps. * @return {Promise.} * @function prependListener * @memberof Frame * @instance * @tutorial Frame.EventEmitter */ /** * Adds a one time listener for the event. The listener is invoked only the first time the event is fired, after which it is removed. * The listener is added to the beginning of the listeners array. * @param { string | symbol } eventType - The type of the event. * @param { Function } listener - The callback function. * @param { SubOptions } [options] - Option to support event timestamps. * @return {Promise.} * @function prependOnceListener * @memberof Frame * @instance * @tutorial Frame.EventEmitter */ /** * Remove a listener from the listener array for the specified event. * Caution: Calling this method changes the array indices in the listener array behind the listener. * @param { string | symbol } eventType - The type of the event. * @param { Function } listener - The callback function. * @param { SubOptions } [options] - Option to support event timestamps. * @return {Promise.} * @function removeListener * @memberof Frame * @instance * @tutorial Frame.EventEmitter */ /** * Removes all listeners, or those of the specified event. * @param { string | symbol } [eventType] - The type of the event. * @return {Promise.} * @function removeAllListeners * @memberof Frame * @instance * @tutorial Frame.EventEmitter */ /** * Returns a frame info object for the represented frame * @return {Promise.} * @tutorial Frame.getInfo */ getInfo(): Promise; /** * Returns a frame info object representing the window that the referenced iframe is * currently embedded in * @return {Promise.} * @tutorial Frame.getParentWindow */ getParentWindow(): Promise; } export {};