Hey Diana, some of the ExpectedCondition methods used with Webdriver Wait are:
WebElement element = driver.findElement(By.id("courses"));
// Create WebdriverWait object
WebDriverWait wait = new WebDriverWait(driver,30);
// wait until element is visible
1. wait.until(ExpectedConditions.visibilityOfElementLocated(element));
// Wait until alert present on page
2. wait.until(ExpectedConditions.alertIsPresent());
// Wait until element to be clickable on page
3. wait.until(ExpectedConditions.elementToBeClickable(element));
// Wait until element to be selectable on page
4. wait.until(ExpectedConditions.elementToBeSelected(element));
// Wait until frame is available and frame selected.
5. wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(element));
// Wait and check element is invisibility
6. wait.until(ExpectedConditions.invisibilityOf(element));
// Wait until present element located by.
7. wait.until(ExpectedConditions.presenceOfAllElementsLocatedBy((By) element));
// Wait until text present on particular an element
8. wait.until(ExpectedConditions.textToBePresentInElement(element, "Course"));
// Wait until element value present for a particular element.
9. wait.until(ExpectedConditions.textToBePresentInElementValue(element, "course"));
// check element visibility
10.wait.until(ExpectedConditions.visibilityOf(element));
// Wait and check title contains or not.
11.wait.until(ExpectedConditions.titleContains("Available Courses"));