/**
 * The TrafficMirror model module.
 * @module Ntnx/TrafficMirror
 * @version 4.0.1
 * @class TrafficMirror
 * @extends NetworkingBaseModel
 */
export default class TrafficMirror extends NetworkingBaseModel {
    /**
     * Returns Name of the session.
     * @return {string}
     */
    getName(): string;
    /**
     * Sets Name of the session.
     * @param {string} name Name of the session.
     */
    setName(name: string): void;
    name: string;
    /**
     * Returns Description of the session.
     * @return {string}
     */
    getDescription(): string;
    /**
     * Sets Description of the session.
     * @param {string} description Description of the session.
     */
    setDescription(description: string): void;
    description: string;
    /**
     * Returns List of source ports of the session. Maximum of 4 source ports are allowed per session. Each session should have at least 1 source port.
     * @return {TrafficMirrorSourcePort[]}
     */
    getSourceList(): TrafficMirrorSourcePort[];
    /**
     * Sets List of source ports of the session. Maximum of 4 source ports are allowed per session. Each session should have at least 1 source port.
     * @param {TrafficMirrorSourcePort[]} sourceList List of source ports of the session. Maximum of 4 source ports are allowed per session. Each session should have at least 1 source port.
     */
    setSourceList(sourceList: TrafficMirrorSourcePort[]): void;
    sourceList: TrafficMirrorSourcePort[];
    /**
     * Returns List of destination ports of the session. Maximum of 2 destination ports are allowed per session. Each session should have at least 1 destination port.
     * @return {TrafficMirrorPort[]}
     */
    getDestinationList(): TrafficMirrorPort[];
    /**
     * Sets List of destination ports of the session. Maximum of 2 destination ports are allowed per session. Each session should have at least 1 destination port.
     * @param {TrafficMirrorPort[]} destinationList List of destination ports of the session. Maximum of 2 destination ports are allowed per session. Each session should have at least 1 destination port.
     */
    setDestinationList(destinationList: TrafficMirrorPort[]): void;
    destinationList: TrafficMirrorPort[];
    /**
     * Returns Indicates whether the port mirroring session is enabled or not.
     * @return {boolean}
     */
    getIsEnabled(): boolean;
    /**
     * Sets Indicates whether the port mirroring session is enabled or not.
     * @param {boolean} isEnabled Indicates whether the port mirroring session is enabled or not.
     */
    setIsEnabled(isEnabled: boolean): void;
    isEnabled: boolean;
    /**
     * Returns List of cluster UUIDs that are configured for this session. Currently, only 1 cluster is allowed to participate in a session.
     * @return {string[]}
     */
    getClusterReferenceList(): string[];
    /**
     * Sets List of cluster UUIDs that are configured for this session. Currently, only 1 cluster is allowed to participate in a session.
     * @param {string[]} clusterReferenceList List of cluster UUIDs that are configured for this session. Currently, only 1 cluster is allowed to participate in a session.
     */
    setClusterReferenceList(clusterReferenceList: string[]): void;
    clusterReferenceList: string[];
    /**
     * Returns List of host UUIDs that are configured for this session. Currently, only 1 host is allowed to participate in a session.
     * @return {string[]}
     */
    getHostReferenceList(): string[];
    /**
     * Sets List of host UUIDs that are configured for this session. Currently, only 1 host is allowed to participate in a session.
     * @param {string[]} hostReferenceList List of host UUIDs that are configured for this session. Currently, only 1 host is allowed to participate in a session.
     */
    setHostReferenceList(hostReferenceList: string[]): void;
    hostReferenceList: string[];
    /**
     * Returns Traffic mirror virtual switch reference to use for Remote SPAN.
     * @return {string}
     */
    getVirtualSwitchReference(): string;
    /**
     * Sets Traffic mirror virtual switch reference to use for Remote SPAN.
     * @param {string} virtualSwitchReference Traffic mirror virtual switch reference to use for Remote SPAN.
     */
    setVirtualSwitchReference(virtualSwitchReference: string): void;
    virtualSwitchReference: string;
    /**
     * @return {TrafficMirrorState}
     */
    getState(): TrafficMirrorState;
    /**
     * @param {TrafficMirrorState} state
     */
    setState(state: TrafficMirrorState): void;
    state: string;
    /**
     * Returns Traffic mirror state message.
     * @return {string}
     */
    getStateMessage(): string;
    /**
     * Sets Traffic mirror state message.
     * @param {string} stateMessage Traffic mirror state message.
     */
    setStateMessage(stateMessage: string): void;
    stateMessage: string;
    toJson(forMutation: any): {
        $reserved: any;
        $objectType: string;
        $unknownFields: any;
        tenantId?: string;
        links?: {
            $reserved: any;
            $objectType: string;
            $unknownFields: any;
            rel?: string;
            href?: string;
        }[];
        extId?: string;
        metadata?: {
            $reserved: any;
            $objectType: string;
            $unknownFields: any;
            categoryIds?: string[];
            projectName?: string;
            projectReferenceId?: string;
            ownerUserName?: string;
            ownerReferenceId?: string;
        };
        stateMessage?: string;
        state?: string;
        virtualSwitchReference?: string;
        hostReferenceList?: string[];
        clusterReferenceList?: string[];
        isEnabled?: boolean;
        destinationList?: {
            $reserved: any; /**
            * Converts a given snake_case string to camelCase.
            * @param {string} snakeStr - The input string in snake_case format.
            * @returns {string} - The converted string in camelCase format.
            */
            $objectType: string;
            $unknownFields: any;
            isUp?: boolean;
            nicUuid?: string;
            nicType?: string;
        }[];
        sourceList?: {
            $reserved: any;
            $objectType: string;
            $unknownFields: any;
            isUp?: boolean;
            nicUuid?: string;
            nicType?: string;
            direction?: string;
        }[];
        description?: string;
        name?: string;
    };
    #private;
}
import NetworkingBaseModel from "./NetworkingBaseModel";
import TrafficMirrorSourcePort from "./TrafficMirrorSourcePort";
import TrafficMirrorPort from "./TrafficMirrorPort";
import TrafficMirrorState from "./TrafficMirrorState";
