@class JavaIoObjectInputStream;
@class JavaIoObjectOutputStream;
@protocol JavaUtilCollection;
@protocol JavaUtilComparator;
@protocol JavaUtilIterator;
@protocol JavaUtilNavigableMap;
@protocol JavaUtilSortedSet;

#include "J2ObjC_header.h"
#include "java/io/Serializable.h"
#include "java/util/AbstractSet.h"
#include "java/util/NavigableSet.h"

#define JavaUtilTreeSet_serialVersionUID -2479143000061671589LL

@interface JavaUtilTreeSet : JavaUtilAbstractSet < JavaUtilNavigableSet, NSCopying, JavaIoSerializable > {
}

- (instancetype)initWithJavaUtilNavigableMap:(id<JavaUtilNavigableMap>)map;

- (instancetype)init;

- (instancetype)initWithJavaUtilCollection:(id<JavaUtilCollection>)collection;

- (instancetype)initWithJavaUtilComparator:(id<JavaUtilComparator>)comparator;

- (instancetype)initWithJavaUtilSortedSet:(id<JavaUtilSortedSet>)set;

- (jboolean)addWithId:(id)object;

- (jboolean)addAllWithJavaUtilCollection:(id<JavaUtilCollection>)collection;

- (void)clear;

- (id)clone;

- (id<JavaUtilComparator>)comparator;

- (jboolean)containsWithId:(id)object;

- (jboolean)isEmpty;

- (id<JavaUtilIterator>)iterator;

- (id<JavaUtilIterator>)descendingIterator;

- (jboolean)removeWithId:(id)object;

- (jint)size;

- (id)first;

- (id)last;

- (id)pollFirst;

- (id)pollLast;

- (id)higherWithId:(id)e;

- (id)lowerWithId:(id)e;

- (id)ceilingWithId:(id)e;

- (id)floorWithId:(id)e;

- (id<JavaUtilNavigableSet>)descendingSet;

- (id<JavaUtilNavigableSet>)subSetWithId:(id)start
                             withBoolean:(jboolean)startInclusive
                                  withId:(id)end
                             withBoolean:(jboolean)endInclusive;

- (id<JavaUtilNavigableSet>)headSetWithId:(id)end
                              withBoolean:(jboolean)endInclusive;

- (id<JavaUtilNavigableSet>)tailSetWithId:(id)start
                              withBoolean:(jboolean)startInclusive;

- (id<JavaUtilSortedSet>)subSetWithId:(id)start
                               withId:(id)end;

- (id<JavaUtilSortedSet>)headSetWithId:(id)end;

- (id<JavaUtilSortedSet>)tailSetWithId:(id)start;


@end

J2OBJC_EMPTY_STATIC_INIT(JavaUtilTreeSet)

CF_EXTERN_C_BEGIN

J2OBJC_STATIC_FIELD_GETTER(JavaUtilTreeSet, serialVersionUID, jlong)
CF_EXTERN_C_END

J2OBJC_TYPE_LITERAL_HEADER(JavaUtilTreeSet)

#endif // _JavaUtilTreeSet_H_
