package com.jetbrains.lang.dart.psi;
import com.jetbrains.lang.dart.util.DartClassResolveResult;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.List;
public interface DartClass extends DartComponent {
boolean isEnum();
@NotNull
List<DartEnumConstantDeclaration> getEnumConstantDeclarationList();
DartClassResolveResult getSuperClassResolvedOrObjectClass();
@Nullable
DartType getSuperClass();
@NotNull
List<DartType> getImplementsList();
@NotNull
List<DartType> getMixinsList();
boolean isGeneric();
@NotNull
List<DartComponent> getMethods();
@NotNull
List<DartComponent> getFields();
@NotNull
List<DartComponent> getConstructors();
@Nullable
DartComponent findFieldByName(@NotNull final String name);
@Nullable
DartComponent findMethodByName(@NotNull final String name);
@Nullable
DartComponent findMemberByName(@NotNull final String name);
@NotNull
List<DartComponent> findMembersByName(@NotNull final String name);
@Nullable
DartTypeParameters getTypeParameters();
@Nullable
DartMethodDeclaration findOperator(String operator, @Nullable DartClass rightDartClass);
List<DartMethodDeclaration> getOperators();
@Nullable
DartComponent findNamedConstructor(String name);
}