import type { AppServicePlan, FunctionEnvelope, FunctionSecrets, HostKeys, ManagedServiceIdentity, Site, SiteConfigResource, SiteLogsConfig, SiteSourceControl, SlotConfigNamesResource, SourceControl, StringDictionary, User, WebAppsListFunctionKeysResponse, WebJob, WebSiteInstanceStatus, WebSiteManagementClient } from '@azure/arm-appservice'; import { RequestBodyType } from '@azure/core-rest-pipeline'; import type { AppSettingsClientProvider, IAppSettingsClient } from '@microsoft/vscode-azext-azureappsettings'; import { AzExtPipelineResponse } from '@microsoft/vscode-azext-azureutils'; import { IActionContext, ISubscriptionContext } from '@microsoft/vscode-azext-utils'; import type * as KuduModels from './KuduModels'; export declare class ParsedSite implements AppSettingsClientProvider { readonly id: string; readonly isSlot: boolean; /** * The main site name (does not include the slot name) */ readonly siteName: string; readonly slotName?: string; /** * Combination of the site name and slot name (if applicable), separated by a hyphen */ readonly fullName: string; readonly resourceGroup: string; readonly location: string; readonly serverFarmId: string; readonly kind: string; readonly initialState?: string; readonly isFunctionApp: boolean; readonly isWorkflowApp: boolean; readonly isKubernetesApp: boolean; readonly isLinux: boolean; readonly planResourceGroup: string; readonly planName: string; readonly defaultHostName: string; readonly defaultHostUrl: string; readonly kuduHostName: string | undefined; readonly kuduUrl: string | undefined; readonly gitUrl: string | undefined; readonly identity: ManagedServiceIdentity | undefined; readonly subscription: ISubscriptionContext; readonly rawSite: Site; constructor(site: Site, subscription: ISubscriptionContext); createClient(context: IActionContext & { _parsedSiteClients?: { [id: string]: SiteClient | undefined; }; }): Promise; } /** * Wrapper of a WebSiteManagementClient for use with a specific Site * Reduces the number of arguments needed for every call and automatically ensures the 'slot' method is called when appropriate */ export declare class SiteClient implements IAppSettingsClient { private _client; private _site; private _cachedSku; constructor(internalClient: WebSiteManagementClient, site: ParsedSite); get fullName(): string; get isLinux(): boolean; getIsConsumption(context: IActionContext): Promise; getIsConsumptionV2(context: IActionContext): Promise; stop(): Promise; start(): Promise; getSite(): Promise; getState(): Promise; getWebAppPublishCredential(): Promise; getSiteConfig(): Promise; updateConfiguration(config: SiteConfigResource): Promise; getLogsConfig(): Promise; updateLogsConfig(config: SiteLogsConfig): Promise; getAppServicePlan(): Promise; getSourceControl(): Promise; updateSourceControl(siteSourceControl: SiteSourceControl): Promise; syncRepository(): Promise; listApplicationSettings(): Promise; updateApplicationSettings(appSettings: StringDictionary): Promise; listSlotConfigurationNames(): Promise; updateSlotConfigurationNames(appSettings: SlotConfigNamesResource): Promise; deleteMethod(options?: { deleteMetrics?: boolean; deleteEmptyServerFarm?: boolean; skipDnsRegistration?: boolean; customHeaders?: { [headerName: string]: string; }; }): Promise; listInstanceIdentifiers(): Promise; listSourceControls(): Promise; listFunctions(): Promise; getFunction(functionName: string): Promise; deleteFunction(functionName: string): Promise; listFunctionSecrets(functionName: string): Promise; syncFunctionTriggers(): Promise; getPublishingUser(): Promise; listWebJobs(): Promise; listHostKeys(): Promise; listFunctionKeys(functionName: string): Promise; zipPushDeploy(context: IActionContext, file: RequestBodyType, rawQueryParameters: KuduModels.PushDeploymentZipPushDeployOptionalParams): Promise; warPushDeploy(context: IActionContext, file: RequestBodyType, rawQueryParameters: KuduModels.PushDeploymentWarPushDeployOptionalParams): Promise; flexDeploy(context: IActionContext, file: RequestBodyType, rawQueryParameters: { RemoteBuild?: boolean; Deployer?: string; }): Promise; deploy(context: IActionContext, id: string): Promise; getDeployResults(context: IActionContext): Promise; getDeployResult(context: IActionContext, deployId: string): Promise; getLogEntry(context: IActionContext, deployId: string): Promise; getLogEntryDetails(context: IActionContext, deployId: string, logId: string): Promise; vfsGetItem(context: IActionContext, url: string): Promise; vfsPutItem(context: IActionContext, data: string | ArrayBuffer, url: string, rawHeaders?: {}): Promise; /** * Temporary workaround because the azure sdk doesn't return the full site object from Azure * Hopefully this can be removed when we move to the new sdk * Also, we're caching the sku - for better performance and because it's unlikely to change */ private getCachedSku; } /** * The type in the sdk doesn't seem to be accurate */ export interface IFunctionKeys extends WebAppsListFunctionKeysResponse { default?: string; }