import { ProjectsClient } from '@google-cloud/resource-manager'; import { RecommenderClient } from '@google-cloud/recommender'; import { protos as googleCompute, InstancesClient, DisksClient, AddressesClient, ImagesClient, MachineTypesClient } from '@google-cloud/compute'; import { GoogleAuthClient } from '@cloud-carbon-footprint/common'; import { ActiveProject, RecommenderRecommendations } from './RecommendationsTypes'; import Instance = googleCompute.google.cloud.compute.v1.IInstance; import MachineType = googleCompute.google.cloud.compute.v1.IMachineType; import Disk = googleCompute.google.cloud.compute.v1.IDisk; import Image = googleCompute.google.cloud.compute.v1.IImage; import Address = googleCompute.google.cloud.compute.v1.IAddress; export default class ServiceWrapper { private readonly projectsClient; private readonly authClient; private readonly instancesClient; private readonly disksClient; private readonly addressesClient; private readonly imagesClient; private readonly machineTypesClient; private readonly recommenderClient; private readonly serviceWrapperLogger; private readonly noResultsOnPageMessage; constructor(projectsClient: ProjectsClient, authClient: GoogleAuthClient, instancesClient: InstancesClient, disksClient: DisksClient, addressesClient: AddressesClient, imagesClient: ImagesClient, machineTypesClient: MachineTypesClient, recommenderClient: RecommenderClient); getActiveProjectsAndZones(): Promise; private getProjects; private getZonesForProject; private extractZones; getRecommendationsForRecommenderIds(projectId: string, zone: string, recommenderIds: string[]): Promise; getInstanceDetails(projectId: string, instanceId: string, zone: string): Promise; getMachineTypeDetails(projectId: string, machineType: string, zone: string): Promise; getStorageTypeFromDiskName(diskName: string): string; getDiskDetails(projectId: string, diskId: string, zone: string): Promise; getImageDetails(projectId: string, imageId: string): Promise; getAddressDetails(projectId: string, addressId: string, zone: string): Promise
; }