import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1TCPRoute } from "./TCPRoute.js";
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1TLSRoute } from "./TLSRoute.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * IstioVirtualService holds information on the virtual service the rollout needs to modify
 */
export interface IIstioVirtualService {
    /**
     * Name holds the name of the VirtualService
     */
    "name": string;
    /**
     * A list of HTTP routes within VirtualService to edit. If omitted, VirtualService must have a single route of this type.
     */
    "routes"?: Array<string>;
    /**
     * A list of TCP routes within VirtualService to edit. If omitted, VirtualService must have a single route of this type.
     */
    "tcpRoutes"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1TCPRoute>;
    /**
     * A list of TLS/HTTPS routes within VirtualService to edit. If omitted, VirtualService must have a single route of this type.
     */
    "tlsRoutes"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1TLSRoute>;
}
/**
 * IstioVirtualService holds information on the virtual service the rollout needs to modify
 */
export declare class IstioVirtualService extends Model<IIstioVirtualService> implements IIstioVirtualService {
    "name": string;
    "routes"?: Array<string>;
    "tcpRoutes"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1TCPRoute>;
    "tlsRoutes"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1TLSRoute>;
    constructor(data?: ModelData<IIstioVirtualService>);
}
export type { IIstioVirtualService as IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1IstioVirtualService, IstioVirtualService as ComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1IstioVirtualService };
