import { Cluster, ClusterCreateParams, ClusterDefaultConfig, V2ClusterUpdateParams, Credentials, Host, ImportClusterParams, PreflightHardwareRequirements, PresignedUrl, ListManifests, CreateManifestParams, UpdateManifestParams, Manifest, LogsType } from '@openshift-assisted/types/assisted-installer-service';
import { AxiosResponse } from 'axios';
type ClustersAPIGetPresignedOptions = {
    clusterId: string;
    fileName: 'logs' | 'kubeconfig' | 'kubeconfig-noingress';
    hostId?: string;
    logsType?: LogsType;
};
declare const ClustersAPI: {
    abortLastGetRequest(): void;
    makeBaseURI(clusterId?: Cluster["id"]): string;
    makeDownloadsBaseURI(clusterId: Cluster["id"]): string;
    makeLogsBaseURI(clusterId: Cluster["id"]): string;
    makeDownloadsCredentialsBaseURI(clusterId: Cluster["id"]): string;
    makeDownloadsCredentialsPresignedBaseURI(clusterId: Cluster["id"]): string;
    makeDownloadsFilesPresignedBaseURI(clusterId: Cluster["id"]): string;
    makeActionsBaseURI(clusterId: string): string;
    downloadClusterCredentials(clusterId: Cluster["id"], fileName: string): Promise<AxiosResponse<Blob, any, {}>>;
    getPresignedForClusterCredentials({ clusterId, fileName, hostId, logsType, }: ClustersAPIGetPresignedOptions): Promise<AxiosResponse<PresignedUrl, any, {}>>;
    getPresignedForClusterFiles({ clusterId, fileName, hostId, logsType, }: ClustersAPIGetPresignedOptions): Promise<AxiosResponse<PresignedUrl, any, {}>>;
    list(): Promise<AxiosResponse<Cluster[], any, {}>>;
    get(clusterId: Cluster["id"]): Promise<AxiosResponse<Cluster, any, {}>>;
    getPreflightRequirements(clusterId: Cluster["id"]): Promise<AxiosResponse<PreflightHardwareRequirements, any, {}>>;
    getDefaultConfig(): Promise<AxiosResponse<ClusterDefaultConfig, any, {}>>;
    deregister(clusterId: Cluster["id"]): Promise<AxiosResponse<void, any, {}>>;
    register(params: ClusterCreateParams): Promise<AxiosResponse<Cluster, any, {}>>;
    update(clusterId: Cluster["id"], params: V2ClusterUpdateParams): Promise<AxiosResponse<Cluster, any, {}>>;
    install(clusterId: Cluster["id"]): Promise<AxiosResponse<Cluster, any, {}>>;
    cancel(clusterId: Cluster["id"]): Promise<AxiosResponse<Cluster, any, {}>>;
    reset(clusterId: Cluster["id"]): Promise<AxiosResponse<Cluster, any, {}>>;
    registerAddHosts(params: ImportClusterParams): Promise<AxiosResponse<Cluster, any, {}>>;
    allowAddHosts(clusterId: Cluster["id"]): Promise<AxiosResponse<Cluster, any, {}>>;
    downloadLogs(clusterId: Cluster["id"], hostId?: Host["id"]): Promise<AxiosResponse<Blob, any, {}>>;
    getCredentials(clusterId: Cluster["id"]): Promise<AxiosResponse<Credentials, any, {}>>;
    listByOpenshiftId(openshiftId: Cluster["openshiftClusterId"]): Promise<AxiosResponse<Cluster[], any, {}>>;
    listBySubscriptionIds(subscriptionIds: Cluster["amsSubscriptionId"][]): Promise<AxiosResponse<Cluster[], any, {}>>;
    getManifests(clusterId: Cluster["id"]): Promise<AxiosResponse<ListManifests, any, {}>>;
    createCustomManifest(clusterId: Cluster["id"], params: CreateManifestParams): Promise<AxiosResponse<Manifest, any, {}>>;
    removeCustomManifest(clusterId: Cluster["id"], folderName: string, fileName: string): Promise<AxiosResponse<void, any, {}>>;
    getManifestContent(clusterId: Cluster["id"], folderName: string, fileName: string): Promise<AxiosResponse<Blob, any, {}>>;
    updateCustomManifest(clusterId: Cluster["id"], params: UpdateManifestParams): Promise<AxiosResponse<Manifest, any, {}>>;
    updateInstallConfig(clusterId: Cluster["id"], config: string): Promise<AxiosResponse<any, any, {}>>;
};
export default ClustersAPI;
//# sourceMappingURL=ClustersAPI.d.ts.map