import { type NamespaceName } from '../types/namespace/namespace-name.js';
import { type ClusterReferenceName, type Context, type DeploymentName } from './../types/index.js';
import { type PodName } from '../integration/kube/resources/pod/pod-name.js';
import { type NodeAlias } from '../types/aliases.js';
import { NetworkNodeServices } from './network-node-services.js';
export declare class NetworkNodeServicesBuilder {
    readonly nodeAlias: NodeAlias;
    namespace: NamespaceName;
    clusterRef: ClusterReferenceName;
    context: Context;
    deployment: DeploymentName;
    nodeId: string | number;
    haProxyName: string;
    accountId: string;
    haProxyClusterIp: string;
    envoyProxyGrpcWebPort: number;
    envoyProxyLoadBalancerIp: string;
    haProxyLoadBalancerIp: string;
    haProxyGrpcPort: string | number;
    haProxyGrpcsPort: string | number;
    haProxyAppSelector: string;
    haProxyPodName: PodName;
    nodeServiceName: any;
    nodeServiceClusterIp: string;
    nodeServiceGrpcsPort: string | number;
    envoyProxyClusterIp: string;
    envoyProxyName: string;
    nodeServiceLoadBalancerIp: string;
    nodeServiceGossipPort: string | number;
    nodeServiceGrpcPort: string | number;
    externalAddress: string;
    nodePodName: PodName;
    constructor(nodeAlias: NodeAlias);
    withNamespace(namespace: NamespaceName): this;
    withClusterRef(clusterReference: ClusterReferenceName): this;
    withContext(context: Context): this;
    withDeployment(deployment: DeploymentName): this;
    withNodeId(nodeId: string | number): this;
    withAccountId(accountId: string): this;
    withHaProxyName(haProxyName: string): this;
    withHaProxyClusterIp(haProxyClusterIp: string): this;
    withHaProxyLoadBalancerIp(haProxyLoadBalancerIp: string | undefined): this;
    withHaProxyGrpcPort(haProxyGrpcPort: string | number): this;
    withHaProxyGrpcsPort(haProxyGrpcsPort: string | number): this;
    withHaProxyAppSelector(haProxyAppSelector: string): this;
    withHaProxyPodName(haProxyPodName: PodName): this;
    withNodePodName(nodePodName: PodName): this;
    withNodeServiceName(nodeServiceName: string): this;
    withNodeServiceClusterIp(nodeServiceClusterIp: string): this;
    withNodeServiceLoadBalancerIp(nodeServiceLoadBalancerIp: string): this;
    withNodeServiceGossipPort(nodeServiceGossipPort: string | number): this;
    withNodeServiceGrpcPort(nodeServiceGrpcPort: string | number): this;
    withNodeServiceGrpcsPort(nodeServiceGrpcsPort: string | number): this;
    withEnvoyProxyName(envoyProxyName: string): this;
    withEnvoyProxyClusterIp(envoyProxyClusterIp: string | undefined): this;
    withEnvoyProxyLoadBalancerIp(envoyProxyLoadBalancerIp?: string): this;
    withEnvoyProxyGrpcWebPort(envoyProxyGrpcWebPort: number): this;
    withExternalAddress(externalAddress: string): this;
    build(): NetworkNodeServices;
    key(): `node${number}`;
}
