import 'isomorphic-fetch'; import { GraphQLClient } from 'graphql-request'; import { IOutput } from './Output'; export declare class Cluster { name: string; baseUrl: string; local: boolean; shared: boolean; clusterSecret?: string; requiresAuth: boolean; out: IOutput; isPrivate: boolean; workspaceSlug?: string; private cachedToken?; hasOldDeployEndpoint: boolean; custom?: boolean; constructor(out: IOutput, name: string, baseUrl: string, clusterSecret?: string, local?: boolean, shared?: boolean, isPrivate?: boolean, workspaceSlug?: string); getToken(serviceName: string, workspaceSlug?: string, stageName?: string): Promise; getLocalToken(): string | null; get cloudClient(): GraphQLClient; generateClusterToken(serviceName: string, workspaceSlug?: string, stageName?: string): Promise; addServiceToCloudDBIfMissing(serviceName: string, workspaceSlug?: string, stageName?: string): Promise; getApiEndpoint(service: string, stage: string, workspaceSlug?: string | null): string; getWSEndpoint(service: string, stage: string, workspaceSlug?: string | null): string; getImportEndpoint(service: string, stage: string, workspaceSlug?: string | null): string; getExportEndpoint(service: string, stage: string, workspaceSlug?: string | null): string; getDeployEndpoint(): string; isOnline(): Promise; getVersion(): Promise; request(query: string, variables?: any): Promise; needsAuth(): Promise; toJSON(): { name: string; baseUrl: string; local: boolean; clusterSecret: string; shared: boolean; isPrivate: boolean; workspaceSlug: string; }; }