declare namespace starling.utils {
	/**
	 *  A utility class with methods related to the current platform and runtime. 
	 */
	export class SystemUtil {
		/**
		 *  Initializes the <code>ACTIVATE/DEACTIVATE</code> event handlers on the native
		 *         * application. This method is automatically called by the Starling constructor. 
		 */
		static initialize(): void;
		/**
		 *  Executes the given function with its arguments the next time the application is active.
		 *         * (If it <em>is</em> active already, the call will be executed right away.) 
		 */
		static executeWhenApplicationIsActive(call: Function, args?: Array<any>): void;
		/**
		 *  Indicates if the application is currently active. On Desktop, this means that it has
		 *         * the focus; on mobile, that it is in the foreground. In the Flash Plugin, always
		 *         * returns true. 
		 */
		static get isApplicationActive(): boolean;
		/**
		 *  Indicates if the code is executed in an Adobe AIR runtime (true)
		 *         * or Flash plugin/projector (false). 
		 */
		static get isAIR(): boolean;
		/**
		 *  Returns the Flash Player/AIR version string. The format of the version number is:
		 *         *  <em>majorVersion,minorVersion,buildNumber,internalBuildNumber</em>. 
		 */
		static get version(): string;
		/**
		 *  Returns the three-letter platform string of the current system. These are
		 *         * the most common platforms: <code>WIN, MAC, LNX, IOS, AND, QNX</code>. Except for the
		 *         * last one, which indicates "Blackberry", all should be self-explanatory. 
		 */
		static get platform(): string;
		static set platform(value: string)
		/**
		 *  Returns the value of the 'initialWindow.depthAndStencil' node of the application
		 *         * descriptor, if this in an AIR app; otherwise always <code>true</code>. 
		 */
		static get supportsDepthAndStencil(): boolean;
		/**
		 *  Indicates if Context3D supports video textures. At the time of this writing,
		 *         * video textures are only supported on Windows, OS X and iOS, and only in AIR
		 *         * applications (not the Flash Player). 
		 */
		static get supportsVideoTexture(): boolean;
		/**
		 *  Updates the list of embedded fonts. To be called when a font is loaded at runtime. 
		 */
		static updateEmbeddedFonts(): void;
		/**
		 *  Figures out if an embedded font with the specified style is available.
		 *         *  The fonts are enumerated only once; if you load a font at runtime, be sure to call
		 *         *  'updateEmbeddedFonts' before calling this method.
		 *         *
		 *         *  @param fontName  the name of the font
		 *         *  @param bold      indicates if the font has a bold style
		 *         *  @param italic    indicates if the font has an italic style
		 *         *  @param fontType  the type of the font (one of the constants defined in the FontType class)
		 *         
		 */
		static isEmbeddedFont(fontName: string, bold?: boolean, italic?: boolean, fontType?: string): boolean;
		/**
		 *  Indicates if the code is executed on an iOS device, based on the <code>platform</code>
		 *         *  string. 
		 */
		static get isIOS(): boolean;
		/**
		 *  Indicates if the code is executed on an Android device, based on the
		 *         *  <code>platform</code> string. 
		 */
		static get isAndroid(): boolean;
		/**
		 *  Indicates if the code is executed on a Macintosh, based on the <code>platform</code>
		 *         *  string. 
		 */
		static get isMac(): boolean;
		/**
		 *  Indicates if the code is executed on Windows, based on the <code>platform</code>
		 *         *  string. 
		 */
		static get isWindows(): boolean;
		/**
		 *  Indicates if the code is executed on a Desktop computer with Windows, macOS or Linux
		 *         *  operating system. If the method returns 'false', it's probably a mobile device
		 *         *  or a Smart TV. 
		 */
		static get isDesktop(): boolean;
	}
}
export default starling.utils.SystemUtil;