import { ArmClient } from '../client/ArmClient.js'; /** * Processed Function App with extracted details. */ export interface FunctionAppSummary { id: string; name: string; resourceGroup: string; location: string; state?: string; defaultHostName?: string; appServicePlanId?: string; runtime?: string; runtimeVersion?: string; operatingSystem: string; sku?: string; httpsOnly?: boolean; functionsCount?: number; configuration?: { appSettings: Array<{ name: string; value: string; slotSetting?: boolean; }>; connectionStrings: Array<{ name: string; type: string; value: string; }>; generalSettings: { alwaysOn?: boolean; http20Enabled?: boolean; minTlsVersion?: string; ftpsState?: string; }; }; slots?: string[]; identity?: { type: string; principalId?: string; tenantId?: string; }; vnetIntegration?: { vnetName?: string; subnetName?: string; }; cors?: { allowedOrigins?: string[]; }; } /** * Processed function details. */ export interface FunctionSummary { name: string; functionAppName: string; trigger?: { type: string; [key: string]: unknown; }; bindings?: Array<{ type: string; direction: string; name: string; }>; isDisabled?: boolean; scriptHref?: string; configHref?: string; } /** * Service for Azure Function App operations. */ export declare class FunctionAppService { private client; private redactSecrets; constructor(client: ArmClient, options?: { redactSecrets?: boolean; }); /** * List all Function Apps in the subscription or resource group. */ listFunctionApps(options?: { resourceGroup?: string; includeConfiguration?: boolean; includeSlots?: boolean; }): Promise<{ functionApps: FunctionAppSummary[]; summary: { total: number; byState: Record; byRuntime: Record; bySku: Record; }; }>; /** * Get detailed information about a Function App. */ getFunctionApp(options: { name: string; resourceGroup?: string; includeConfiguration?: boolean; includeFunctions?: boolean; includeDeployments?: boolean; }): Promise<{ functionApp: FunctionAppSummary; functions?: FunctionSummary[]; deployments?: Array<{ id: string; status?: string; startTime?: string; endTime?: string; author?: string; message?: string; }>; }>; /** * List functions within a Function App. */ listFunctions(options: { functionAppName: string; resourceGroup?: string; }): Promise<{ functions: FunctionSummary[]; summary: { total: number; byTriggerType: Record; disabled: number; }; }>; /** * Get function and host keys for a Function App. */ getFunctionKeys(options: { functionAppName: string; resourceGroup?: string; functionName?: string; }): Promise<{ hostKeys: Array<{ name: string; value: string; }>; functionKeys?: Array<{ name: string; value: string; }>; }>; /** * Get app configuration (settings, connection strings). */ private getAppConfiguration; /** * Get deployment slots for a site. */ private getDeploymentSlots; /** * Get recent deployments for a site. */ private getDeployments; /** * Process a WebSite into a FunctionAppSummary. */ private processWebSite; /** * Process a FunctionEnvelope into a FunctionSummary. */ private processFunctionEnvelope; /** * Redact sensitive values in app settings. */ private redactValue; } //# sourceMappingURL=FunctionAppService.d.ts.map