/**@class org.json.JSONArray
@extends java.lang.Object

 A dense indexed sequence of values. Values may be any mix of
 {@link org.json.JSONObject org.json.JSONObjects}, other {@link org.json.JSONArray org.json.JSONArrays}, Strings,
 Booleans, Integers, Longs, Doubles, {@code null} or {@link org.json.JSONObject#NULL}.
 Values may not be {@link Double#isNaN() NaNs}, {@link Double#isInfinite()
 infinities}, or of any type not listed here.

 <p>{@code JSONArray} has the same type coercion behavior and
 optional/mandatory accessors as {@link org.json.JSONObject}. See that class'
 documentation for details.

 <p><strong>Warning:</strong> this class represents null in two incompatible
 ways: the standard Java {@code null} reference, and the sentinel value {@link org.json.JSONObject#NULL}. In particular, {@code get} fails if the requested index
 holds the null reference, but succeeds if it holds {@code JSONObject.NULL}.

 <p>Instances of this class are not thread safe. Although this class is
 nonfinal, it was not designed for inheritance and should not be subclassed.
 In particular, self-use by overridable methods is not specified. See
 <i>Effective Java</i> Item 17, "Design and Document or inheritance or else
 prohibit it" for further information.
*/
var JSONArray = {

/**Returns the number of values in this array.
*/
length : function(  ) {},

/**Appends {@code value} to the end of this array.
@return {Object {org.json.JSONArray}} this array.
*/
put : function(  ) {},

/**Appends {@code value} to the end of this array.
@param {Number} value a finite value. May not be {@link Double#isNaN() NaNs} or
     {@link Double#isInfinite() infinities}.
@return {Object {org.json.JSONArray}} this array.
*/
put : function(  ) {},

/**Appends {@code value} to the end of this array.
@return {Object {org.json.JSONArray}} this array.
*/
put : function(  ) {},

/**Appends {@code value} to the end of this array.
@return {Object {org.json.JSONArray}} this array.
*/
put : function(  ) {},

/**Appends {@code value} to the end of this array.
@param {Object {Object}} value a {@link JSONObject}, {@link JSONArray}, String, Boolean,
     Integer, Long, Double, {@link JSONObject#NULL}, or {@code null}. May
     not be {@link Double#isNaN() NaNs} or {@link Double#isInfinite()
     infinities}. Unsupported values are not permitted and will cause the
     array to be in an inconsistent state.
@return {Object {org.json.JSONArray}} this array.
*/
put : function(  ) {},

/**Sets the value at {@code index} to {@code value}, null padding this array
 to the required length if necessary. If a value already exists at {@code
 index}, it will be replaced.
@return {Object {org.json.JSONArray}} this array.
*/
put : function(  ) {},

/**Sets the value at {@code index} to {@code value}, null padding this array
 to the required length if necessary. If a value already exists at {@code
 index}, it will be replaced.
@param {Number} value a finite value. May not be {@link Double#isNaN() NaNs} or
     {@link Double#isInfinite() infinities}.
@return {Object {org.json.JSONArray}} this array.
*/
put : function(  ) {},

/**Sets the value at {@code index} to {@code value}, null padding this array
 to the required length if necessary. If a value already exists at {@code
 index}, it will be replaced.
@return {Object {org.json.JSONArray}} this array.
*/
put : function(  ) {},

/**Sets the value at {@code index} to {@code value}, null padding this array
 to the required length if necessary. If a value already exists at {@code
 index}, it will be replaced.
@return {Object {org.json.JSONArray}} this array.
*/
put : function(  ) {},

/**Sets the value at {@code index} to {@code value}, null padding this array
 to the required length if necessary. If a value already exists at {@code
 index}, it will be replaced.
@param {Number} value a {@link JSONObject}, {@link JSONArray}, String, Boolean,
     Integer, Long, Double, {@link JSONObject#NULL}, or {@code null}. May
     not be {@link Double#isNaN() NaNs} or {@link Double#isInfinite()
     infinities}.
@return {Object {org.json.JSONArray}} this array.
*/
put : function(  ) {},

/**Returns true if this array has no value at {@code index}, or if its value
 is the {@code null} reference or {@link org.json.JSONObject#NULL}.
*/
isNull : function(  ) {},

/**Returns the value at {@code index}.
@throws JSONException if this array has no value at {@code index}, or if
     that value is the {@code null} reference. This method returns
     normally if the value is {@code JSONObject#NULL}.
*/
get : function(  ) {},

/**Returns the value at {@code index}, or null if the array has no value
 at {@code index}.
*/
opt : function(  ) {},

/**Removes and returns the value at {@code index}, or null if the array has no value
 at {@code index}.
*/
remove : function(  ) {},

/**Returns the value at {@code index} if it exists and is a boolean or can
 be coerced to a boolean.
@throws JSONException if the value at {@code index} doesn't exist or
     cannot be coerced to a boolean.
*/
getBoolean : function(  ) {},

/**Returns the value at {@code index} if it exists and is a boolean or can
 be coerced to a boolean. Returns false otherwise.
*/
optBoolean : function(  ) {},

/**Returns the value at {@code index} if it exists and is a boolean or can
 be coerced to a boolean. Returns {@code fallback} otherwise.
*/
optBoolean : function(  ) {},

/**Returns the value at {@code index} if it exists and is a double or can
 be coerced to a double.
@throws JSONException if the value at {@code index} doesn't exist or
     cannot be coerced to a double.
*/
getDouble : function(  ) {},

/**Returns the value at {@code index} if it exists and is a double or can
 be coerced to a double. Returns {@code NaN} otherwise.
*/
optDouble : function(  ) {},

/**Returns the value at {@code index} if it exists and is a double or can
 be coerced to a double. Returns {@code fallback} otherwise.
*/
optDouble : function(  ) {},

/**Returns the value at {@code index} if it exists and is an int or
 can be coerced to an int.
@throws JSONException if the value at {@code index} doesn't exist or
     cannot be coerced to a int.
*/
getInt : function(  ) {},

/**Returns the value at {@code index} if it exists and is an int or
 can be coerced to an int. Returns 0 otherwise.
*/
optInt : function(  ) {},

/**Returns the value at {@code index} if it exists and is an int or
 can be coerced to an int. Returns {@code fallback} otherwise.
*/
optInt : function(  ) {},

/**Returns the value at {@code index} if it exists and is a long or
 can be coerced to a long.
@throws JSONException if the value at {@code index} doesn't exist or
     cannot be coerced to a long.
*/
getLong : function(  ) {},

/**Returns the value at {@code index} if it exists and is a long or
 can be coerced to a long. Returns 0 otherwise.
*/
optLong : function(  ) {},

/**Returns the value at {@code index} if it exists and is a long or
 can be coerced to a long. Returns {@code fallback} otherwise.
*/
optLong : function(  ) {},

/**Returns the value at {@code index} if it exists, coercing it if
 necessary.
@throws JSONException if no such value exists.
*/
getString : function(  ) {},

/**Returns the value at {@code index} if it exists, coercing it if
 necessary. Returns the empty string if no such value exists.
*/
optString : function(  ) {},

/**Returns the value at {@code index} if it exists, coercing it if
 necessary. Returns {@code fallback} if no such value exists.
*/
optString : function(  ) {},

/**Returns the value at {@code index} if it exists and is a {@code
 JSONArray}.
@throws JSONException if the value doesn't exist or is not a {@code
     JSONArray}.
*/
getJSONArray : function(  ) {},

/**Returns the value at {@code index} if it exists and is a {@code
 JSONArray}. Returns null otherwise.
*/
optJSONArray : function(  ) {},

/**Returns the value at {@code index} if it exists and is a {@code
 JSONObject}.
@throws JSONException if the value doesn't exist or is not a {@code
     JSONObject}.
*/
getJSONObject : function(  ) {},

/**Returns the value at {@code index} if it exists and is a {@code
 JSONObject}. Returns null otherwise.
*/
optJSONObject : function(  ) {},

/**Returns a new object whose values are the values in this array, and whose
 names are the values in {@code names}. Names and values are paired up by
 index from 0 through to the shorter array's length. Names that are not
 strings will be coerced to strings. This method returns null if either
 array is empty.
*/
toJSONObject : function(  ) {},

/**Returns a new string by alternating this array's values with {@code
 separator}. This array's string values are quoted and have their special
 characters escaped. For example, the array containing the strings '12"
 pizza', 'taco' and 'soda' joined on '+' returns this:
 <pre>"12\" pizza"+"taco"+"soda"</pre>
*/
join : function(  ) {},

/**Encodes this array as a compact JSON string, such as:
 <pre>[94043,90210]</pre>
*/
toString : function(  ) {},

/**Encodes this array as a human readable JSON string for debugging, such
 as:
 <pre>
 [
     94043,
     90210
 ]</pre>
@param {Number} indentSpaces the number of spaces to indent for each level of
     nesting.
*/
toString : function(  ) {},

/**
*/
equals : function(  ) {},

/**
*/
hashCode : function(  ) {},


};