import List = require('nashorn/java/util/List');
import Content = require('nashorn/org/jdom/Content');
import Iterator = require('nashorn/java/util/Iterator');
import Document = require('nashorn/org/jdom/Document');
import Filter = require('nashorn/org/jdom/filter/Filter');
import Cloneable = require('nashorn/java/lang/Cloneable');
import Serializable = require('nashorn/java/io/Serializable');

declare class Parent {
	contentSize : number;
	content : List<Content>;
	descendants : Iterator<Content>;
	parent : Parent;
	document : Document;
	getContentSize() : number;
	indexOf(arg1 : Content) : number;
	cloneContent() : List<Content>;
	getContent(arg1 : number) : Content;
	getContent() : List<Content>;
	getContent<T extends Content>(arg1 : Filter<T>) : List<T>;
	removeContent() : List<Content>;
	removeContent<T extends Content>(arg1 : Filter<T>) : List<T>;
	removeContent(arg1 : Content) : boolean;
	removeContent(arg1 : number) : Content;
	getDescendants() : Iterator<Content>;
	getDescendants<T extends Content>(arg1 : Filter<T>) : Iterator<T>;
	getParent() : Parent;
	getDocument() : Document;
}


declare interface Parent extends Cloneable, Serializable {}
export = Parent
