import { WebJob, SiteExtension } from './azureModels';
import webClient = require('./webClient');
export declare class KuduServiceManagementClient {
    private _scmUri;
    private _authHeader;
    private _cookie;
    constructor(scmUri: string, authHeader: string);
    beginRequest(request: webClient.WebRequest, reqOptions?: webClient.WebRequestOptions, contentType?: string): Promise<webClient.WebResponse>;
    getRequestUri(uriFormat: string, queryParameters?: Array<string>): string;
    getScmUri(): string;
}
export declare class Kudu {
    client: KuduServiceManagementClient;
    constructor(scmUri: string, authHeader: string);
    updateDeployment(requestBody: any): Promise<string>;
    getKuduStackTraceUrl(): string;
    getContinuousJobs(): Promise<Array<WebJob>>;
    startContinuousWebJob(jobName: string): Promise<WebJob>;
    stopContinuousWebJob(jobName: string): Promise<WebJob>;
    installSiteExtension(extensionID: string): Promise<SiteExtension>;
    installSiteExtensionWithVersion(extensionID: string, version: string): Promise<SiteExtension>;
    getSiteExtensions(): Promise<Array<SiteExtension>>;
    getAllSiteExtensions(): Promise<Array<SiteExtension>>;
    getProcess(processID: number): Promise<any>;
    killProcess(processID: number): Promise<void>;
    getAppSettings(): Promise<Map<string, string>>;
    listDir(physicalPath: string): Promise<any>;
    getFileContent(physicalPath: string, fileName: string): Promise<string>;
    uploadFile(physicalPath: string, fileName: string, filePath: string): Promise<void>;
    createPath(physicalPath: string): Promise<any>;
    runCommand(physicalPath: string, command: string): Promise<void>;
    extractZIP(webPackage: string, physicalPath: string): Promise<void>;
    zipDeploy(webPackage: string, queryParameters?: Array<string>, addChecksumHeader?: boolean): Promise<any>;
    warDeploy(webPackage: string, queryParameters?: Array<string>): Promise<any>;
    oneDeploy(webPackage: string, queryParameters?: Array<string>, addChecksumHeader?: boolean): Promise<any>;
    getDeploymentDetails(deploymentID: string): Promise<any>;
    getDeploymentLogs(log_url: string): Promise<any>;
    deleteFile(physicalPath: string, fileName: string): Promise<void>;
    deleteFolder(physicalPath: string): Promise<void>;
    private _getDeploymentDetailsFromPollURL;
    private _getFormattedError;
    private _computeFileChecksum;
}
