import * as appService from "@azure/arm-appservice"; import { TokenCredential } from "@azure/identity"; import { LogProvider } from "@microsoft/teamsfx-api"; import { AzureUploadConfig, DeployArgs, DeployResult, DeployStepArgs } from "../../../interface/buildAndDeployArgs"; import { AzureResourceInfo } from "../../../interface/commonArgs"; import { BaseDeployImpl } from "./baseDeployImpl"; export declare abstract class AzureDeployImpl extends BaseDeployImpl { protected managementClient: appService.WebSiteManagementClient | undefined; static readonly AXIOS_INSTANCE: import("axios").AxiosInstance; /** * the pattern that used to parse resource id and extract info from it */ abstract pattern: RegExp; protected prepare?: (args: DeployStepArgs) => Promise; deploy(args: DeployArgs): Promise; /** * real azure deploy logic * @param args local file needed to be deployed * @param azureResource azure resource info * @param azureCredential azure user login credential */ abstract azureDeploy(args: DeployStepArgs, azureResource: AzureResourceInfo, azureCredential: TokenCredential): Promise; /** * cleanup function after deployment is finished * @protected */ protected cleanup(): Promise; /** * check if resource id is legal and parse it * @param resourceId deploy target * @protected */ protected parseResourceId(resourceId: string): AzureResourceInfo; /** * loop and check azure deployment status * by default, it will wait for 120 minutes * @param location azure deployment location * @param config azure upload config, including azure account credential * @param logger log provider * @protected */ checkDeployStatus(location: string, config: AzureUploadConfig, logger: LogProvider): Promise; /** * create azure deploy config for Azure Function and Azure App service * @param azureResource azure resource info * @param azureCredential user azure credential */ createAzureDeployConfig(azureResource: AzureResourceInfo, azureCredential: TokenCredential): Promise; protected restartFunctionApp(azureResource: AzureResourceInfo): Promise; } //# sourceMappingURL=azureDeployImpl.d.ts.map