import { CloudProvider } from "./CloudProvider"; import { Instance } from "./Instance"; import { VHost } from "./VHost"; import { Alias } from "./Alias"; import { ServiceConfiguration } from "../../utils/ServiceConfiguration"; import { AzureVmCloudProvider } from "../../providers/AzurevmWorker"; import { DigitalOceanCloudProvider } from "../../providers/DigitalOceanWorker"; import { AWSCloudProvider } from "../../providers/EC2Worker"; export interface KotennaConfig { USER: string; PASSWORD: string; } export interface CliCredentials { name: string; password: string; } export interface KotennaApi { login(): Promise; vhost(): Promise; providers(): Promise; instances(provider: string): Promise; instanceTpl(provider: string, instanceId: string): Promise; vhostSave(vhost: VHost): Promise; vhostDelete(hostname: string): Promise; vhostStop(hostname: string): Promise; providerSave(provider: CloudProvider | DigitalOceanCloudProvider | AzureVmCloudProvider | AWSCloudProvider): Promise; userEmail(): string; credentials(accessToken: string, name: string): Promise; recordCreate(record: string): Promise; alias(): Promise; aliasFromHostname(hostname: string): Promise; aliasSave(alias: Alias): Promise; aliasDelete(aliasname: string): Promise; } export declare class KotennaApiv1 { private readonly stage; private readonly USER_AGENT; private readonly config; constructor(props: ServiceConfiguration); url(): string; private loginImpl; login(): Promise; private apiCall; private getToken; private setToken; private setAccessToken; private getAccessToken; isAuthenticated(): boolean; userEmail(): string; userID(): string; userGroup(): string; providers(): Promise; providerSave(provider: CloudProvider): Promise; providerDelete(providerName: string): Promise; instances(provider: string): Promise; instanceTpl(provider: string, instanceId: string): Promise; vhost(): Promise; vhostSave(vhost: VHost): Promise; vhostDelete(hostname: string): Promise; vhostStop(hostname: string): Promise; credentials(accessToken: string, name: string): Promise; recordCreate(record: string): Promise; alias(): Promise; aliasFromHostname(hostname: any): Promise; aliasSave(alias: Alias): Promise; aliasDelete(aliasname: string): Promise; }