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

package com.azure.resourcemanager.cognitiveservices.models;

import com.azure.core.management.SystemData;
import com.azure.resourcemanager.cognitiveservices.fluent.models.AccountModelInner;
import java.util.Map;

/** An immutable client-side representation of AccountModel. */
public interface AccountModel {
    /**
     * Gets the format property: Deployment model format.
     *
     * @return the format value.
     */
    String format();

    /**
     * Gets the name property: Deployment model name.
     *
     * @return the name value.
     */
    String name();

    /**
     * Gets the version property: Deployment model version.
     *
     * @return the version value.
     */
    String version();

    /**
     * Gets the callRateLimit property: The call rate limit Cognitive Services account.
     *
     * @return the callRateLimit value.
     */
    CallRateLimit callRateLimit();

    /**
     * Gets the baseModel property: Base Model Identifier.
     *
     * @return the baseModel value.
     */
    DeploymentModel baseModel();

    /**
     * Gets the maxCapacity property: The max capacity.
     *
     * @return the maxCapacity value.
     */
    Integer maxCapacity();

    /**
     * Gets the capabilities property: The capabilities.
     *
     * @return the capabilities value.
     */
    Map<String, String> capabilities();

    /**
     * Gets the finetuneCapabilities property: The capabilities for finetune models.
     *
     * @return the finetuneCapabilities value.
     */
    Map<String, String> finetuneCapabilities();

    /**
     * Gets the deprecation property: Cognitive Services account ModelDeprecationInfo.
     *
     * @return the deprecation value.
     */
    ModelDeprecationInfo deprecation();

    /**
     * Gets the lifecycleStatus property: Model lifecycle status.
     *
     * @return the lifecycleStatus value.
     */
    ModelLifecycleStatus lifecycleStatus();

    /**
     * Gets the systemData property: Metadata pertaining to creation and last modification of the resource.
     *
     * @return the systemData value.
     */
    SystemData systemData();

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