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

package tsptest.armstreamstyleserialization.models;

import tsptest.armstreamstyleserialization.fluent.models.FishInner;

/**
 * An immutable client-side representation of Fish.
 */
public interface Fish {
    /**
     * Gets the kind property: Discriminator property for Fish.
     * 
     * @return the kind value.
     */
    String kind();

    /**
     * Gets the age property: The age property.
     * 
     * @return the age value.
     */
    int age();

    /**
     * Gets the dna property: The dna property.
     * 
     * @return the dna value.
     */
    String dna();

    /**
     * Gets the length property: The length property.
     * 
     * @return the length value.
     */
    double length();

    /**
     * Gets the patten property: The patten property.
     * 
     * @return the patten value.
     */
    String patten();

    /**
     * Gets the requiredString property: The requiredString property.
     * 
     * @return the requiredString value.
     */
    String requiredString();

    /**
     * Gets the lengthAnotherPropertiesLength property: The length property.
     * 
     * @return the lengthAnotherPropertiesLength value.
     */
    double lengthAnotherPropertiesLength();

    /**
     * Gets the pattenAnotherPropertiesPatten property: The patten property.
     * 
     * @return the pattenAnotherPropertiesPatten value.
     */
    String pattenAnotherPropertiesPatten();

    /**
     * Gets the requiredStringAnotherPropertiesRequiredString property: The requiredString property.
     * 
     * @return the requiredStringAnotherPropertiesRequiredString value.
     */
    String requiredStringAnotherPropertiesRequiredString();

    /**
     * Gets the inner tsptest.armstreamstyleserialization.fluent.models.FishInner object.
     * 
     * @return the inner object.
     */
    FishInner innerModel();
}
