package flash.net;

extern class NetConnection extends flash.events.EventDispatcher {
	@:flash.property var client(get,set) : Dynamic;
	@:flash.property var connected(get,never) : Bool;
	@:flash.property var connectedProxyType(get,never) : String;
	@:flash.property @:require(flash10) var farID(get,never) : String;
	@:flash.property @:require(flash10) var farNonce(get,never) : String;
	@:flash.property @:require(flash10) var maxPeerConnections(get,set) : UInt;
	@:flash.property @:require(flash10) var nearID(get,never) : String;
	@:flash.property @:require(flash10) var nearNonce(get,never) : String;
	@:flash.property var objectEncoding(get,set) : UInt;
	@:flash.property @:require(flash10) var protocol(get,never) : String;
	@:flash.property var proxyType(get,set) : String;
	@:flash.property @:require(flash10) var unconnectedPeerStreams(get,never) : Array<Dynamic>;
	@:flash.property var uri(get,never) : String;
	@:flash.property var usingTLS(get,never) : Bool;
	function new() : Void;
	function addHeader(operation : String, mustUnderstand : Bool = false, ?param : flash.utils.Object) : Void;
	function call(command : String, responder : Responder, restArgs : haxe.extern.Rest<Dynamic>) : Void;
	function close() : Void;
	function connect(command : String, restArgs : haxe.extern.Rest<Dynamic>) : Void;
	private function get_client() : Dynamic;
	private function get_connected() : Bool;
	private function get_connectedProxyType() : String;
	private function get_farID() : String;
	private function get_farNonce() : String;
	private function get_maxPeerConnections() : UInt;
	private function get_nearID() : String;
	private function get_nearNonce() : String;
	private function get_objectEncoding() : UInt;
	private function get_protocol() : String;
	private function get_proxyType() : String;
	private function get_unconnectedPeerStreams() : Array<Dynamic>;
	private function get_uri() : String;
	private function get_usingTLS() : Bool;
	private function set_client(value : Dynamic) : Dynamic;
	private function set_maxPeerConnections(value : UInt) : UInt;
	private function set_objectEncoding(value : UInt) : UInt;
	private function set_proxyType(value : String) : String;
	@:flash.property static var defaultObjectEncoding(get,set) : UInt;
	private static function get_defaultObjectEncoding() : UInt;
	private static function set_defaultObjectEncoding(value : UInt) : UInt;
}
