/**
 * Copyright (C) 2024 Hedera Hashgraph, LLC
 *
 * Licensed under the Apache License, Version 2.0 (the ""License"");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an ""AS IS"" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */
import type { NodeAlias, NodeAliases, PodName } from '../../types/aliases.js';
import type { NetworkNodeServices } from '../../core/network_node_services.js';
import { type PrivateKey } from '@hashgraph/sdk';
export interface NodeAddConfigClass {
    app: string;
    cacheDir: string;
    chainId: string;
    chartDirectory: string;
    devMode: boolean;
    debugNodeAlias: NodeAlias;
    endpointType: string;
    soloChartVersion: string;
    generateGossipKeys: boolean;
    generateTlsKeys: boolean;
    gossipEndpoints: string;
    grpcEndpoints: string;
    localBuildPath: string;
    namespace: string;
    nodeAlias: NodeAlias;
    releaseTag: string;
    adminKey: PrivateKey;
    allNodeAliases: NodeAliases;
    chartPath: string;
    curDate: Date;
    existingNodeAliases: NodeAliases;
    freezeAdminPrivateKey: string;
    keysDir: string;
    lastStateZipPath: string;
    nodeClient: any;
    podNames: Record<NodeAlias, PodName>;
    serviceMap: Map<string, NetworkNodeServices>;
    treasuryKey: PrivateKey;
    stagingDir: string;
    stagingKeysDir: string;
    grpcTlsCertificatePath: string;
    grpcWebTlsCertificatePath: string;
    grpcTlsKeyPath: string;
    grpcWebTlsKeyPath: string;
    haproxyIps: string;
    envoyIps: string;
    getUnusedConfigs: () => string[];
}
