import { Result, Resource } from '@c6o/kubeclient-contracts'; import { AppResource, RoutesType } from '@provisioner/contracts'; import { baseProvisionerType } from '../../'; export declare const virtualServiceApiMixin: (base: baseProvisionerType) => { new (...a: any[]): { app: AppResource; upsertVirtualService(app: AppResource, gateway: string): Promise; removeVirtualService(app: AppResource): Promise; simpleTcpSection: (route: RoutesType) => any; getApplicationPrefix(appName: string, namespace: string): string; simpleHttpSection: (route: RoutesType) => any; virtualService: (app: AppResource, gateway: string) => { apiVersion: string; kind: string; metadata: { name: string; namespace: string; labels: { [x: string]: string; }; }; spec: { hosts: string[]; gateways: string[]; http: any[]; tcp: any[]; }; }; getTcpPortNumber(route: RoutesType): number; setTcpPortNumber(route: RoutesType, port: number): void; getTcpPortName(route: RoutesType): string; gatewayTcpPortTemplate: (route: RoutesType) => { hosts: string[]; port: { name: string; protocol: string; number: number; }; }; getGateway(): Promise; getLoadBalancer(): Promise; generateUsablePortNumber(): number; checkPortConflict(route: RoutesType): Promise; addTcpPortGateway(route: RoutesType): Promise; removeTcpPortGateway(route: RoutesType): Promise; loadBalancer: { apiVersion: string; kind: string; metadata: { name: string; namespace: string; }; }; loadBalancerTcpPortTemplate: (route: RoutesType) => { name: string; protocol: string; port: number; targetPort: number; }; addTcpPortLoadBalancer(route: RoutesType): Promise; removeTcpPortLoadBalancer(route: RoutesType): Promise; linkGrafana(grafanaNamespace: string, serviceNamespace: string): Promise; unlinkGrafana(serviceNamespace: string, clearLinkField?: boolean): Promise; gateway: Resource; linkPrometheus(prometheusNamespace: string, istioNamespace: string): Promise; unlinkPrometheus(istioNamespace: string, clearLinkField?: boolean): Promise; createGateway(namespace: string, name: string, servers?: any): Promise; removeGateway(namespace: string, name: string): Promise; getExternalAddress(): Promise; setHttpsRedirect(enable: boolean): Promise; controller: import("@provisioner/contracts").Controller; spec?: any; serviceNamespace: string; serviceName: string; getIngressGatewayServiceClusterIp(): Promise; readFile(...args: string[]): Promise; providedDeprovisionOption(option: any, answers?: any): any; getDeprovisionOption(option: any, defaultValue: any, answers?: any): any; setDeprovisionOption(option: any, value: any): any; }; };