// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) AutoRest Code Generator.

package com.azure.resourcemanager.mediaservices.models;

import com.azure.resourcemanager.mediaservices.fluent.models.LiveEventStatusInner;
import java.time.OffsetDateTime;
import java.util.List;

/** An immutable client-side representation of LiveEventStatus. */
public interface LiveEventStatus {
    /**
     * Gets the state property: Current state of the live event. See https://go.microsoft.com/fwlink/?linkid=2139012 for
     * more information.
     *
     * @return the state value.
     */
    LiveEventState state();

    /**
     * Gets the healthStatus property: Health status of last 20 seconds.
     *
     * @return the healthStatus value.
     */
    LiveEventHealthStatus healthStatus();

    /**
     * Gets the healthDescriptions property: List of strings justifying the health status.
     *
     * @return the healthDescriptions value.
     */
    List<String> healthDescriptions();

    /**
     * Gets the lastUpdatedTime property: Last updated UTC time of this status.
     *
     * @return the lastUpdatedTime value.
     */
    OffsetDateTime lastUpdatedTime();

    /**
     * Gets the ingestion property: Live event ingestion entry.
     *
     * @return the ingestion value.
     */
    LiveEventIngestion ingestion();

    /**
     * Gets the trackStatus property: Track entry list.
     *
     * @return the trackStatus value.
     */
    List<LiveEventTrackStatus> trackStatus();

    /**
     * Gets the inner com.azure.resourcemanager.mediaservices.fluent.models.LiveEventStatusInner object.
     *
     * @return the inner object.
     */
    LiveEventStatusInner innerModel();
}
