package openfl.events {
/**
 * 	This event is dispatched when permission status changes for certain
 * 	operations.
 * 
 * 	_OpenFL target support:_ Not currently supported, except when targeting AIR.
 * 
 * @externs
 */
public class PermissionEvent extends openfl.events.Event {
	/**
	 * 		Creates an PermissionEvent object that contains information about the name of the permission and its status.
	 * 
	 * 		@param type       The type of the event. Event listeners can access this
	 * 						  information through the inherited `type`
	 * 						  property. There is only one type of Permission event:
	 * 						  `PermissionEvent.PERMISSION_STATUS`.
	 * 		@param bubbles    Determines whether the Event object participates in the
	 * 						  bubbling stage of the event flow. Event listeners can
	 * 						  access this information through the inherited
	 * 						  `bubbles` property.
	 * 		@param cancelable Determines whether the Event object can be canceled.
	 * 						  Event listeners can access this information through the
	 * 						  inherited `cancelable` property.
	 * 		@param status     Permission status. Event listeners can access this
	 * 						  information through the `status` property.
	 * 	
	 */
	public function PermissionEvent(type:String, bubbles:Boolean = undefined, cancelable:Boolean = undefined, status:String = undefined) {
		super(undefined, undefined, undefined);
	}
	public static const PERMISSION_STATUS:String = "permissionStatus";
	/**
	 * 		Check whether the permission has been granted or denied.
	 * 
	 * 		@see `openfl.permissions.PermissionStatus.GRANTED`
	 * 		@see `openfl.permissions.PermissionStatus.DENIED`
	 * 	
	 */
	public var status:String;
	override public function clone():openfl.events.PermissionEvent { return null; }
	override public function toString():String { return null; }
}
}
