Skip to content

Latest commit

 

History

History
2071 lines (1755 loc) · 69.3 KB

File metadata and controls

2071 lines (1755 loc) · 69.3 KB

API Report File for "@azure-rest/arm-servicefabric"

Do not edit this file. It is a report generated by API Extractor.

import { Client } from '@azure-rest/core-client';
import { ClientOptions } from '@azure-rest/core-client';
import { HttpResponse } from '@azure-rest/core-client';
import { LroEngineOptions } from '@azure/core-lro';
import { PagedAsyncIterableIterator } from '@azure/core-paging';
import { PathUncheckedResponse } from '@azure-rest/core-client';
import { PollerLike } from '@azure/core-lro';
import { PollOperationState } from '@azure/core-lro';
import { RequestParameters } from '@azure-rest/core-client';
import { StreamableMethod } from '@azure-rest/core-client';
import { TokenCredential } from '@azure/core-auth';

// @public (undocumented)
export interface ApplicationDeltaHealthPolicy {
    defaultServiceTypeDeltaHealthPolicy?: ServiceTypeDeltaHealthPolicy;
    serviceTypeDeltaHealthPolicies?: Record<string, ServiceTypeDeltaHealthPolicy>;
}

// @public (undocumented)
export interface ApplicationDeltaHealthPolicyOutput {
    defaultServiceTypeDeltaHealthPolicy?: ServiceTypeDeltaHealthPolicyOutput;
    serviceTypeDeltaHealthPolicies?: Record<string, ServiceTypeDeltaHealthPolicyOutput>;
}

// @public (undocumented)
export interface ApplicationHealthPolicy {
    defaultServiceTypeHealthPolicy?: ServiceTypeHealthPolicy;
    serviceTypeHealthPolicies?: Record<string, ServiceTypeHealthPolicy>;
}

// @public (undocumented)
export interface ApplicationHealthPolicyOutput {
    defaultServiceTypeHealthPolicy?: ServiceTypeHealthPolicyOutput;
    serviceTypeHealthPolicies?: Record<string, ServiceTypeHealthPolicyOutput>;
}

// @public (undocumented)
export interface ApplicationMetricDescription {
    maximumCapacity?: number;
    name?: string;
    reservationCapacity?: number;
    totalApplicationCapacity?: number;
}

// @public (undocumented)
export interface ApplicationMetricDescriptionOutput {
    maximumCapacity?: number;
    name?: string;
    reservationCapacity?: number;
    totalApplicationCapacity?: number;
}

// @public (undocumented)
export interface ApplicationResource extends ProxyResource {
    identity?: ManagedIdentity;
    properties?: ApplicationResourceProperties;
}

// @public (undocumented)
export interface ApplicationResourceListOutput {
    nextLink?: string;
    // (undocumented)
    value?: Array<ApplicationResourceOutput>;
}

// @public (undocumented)
export interface ApplicationResourceOutput extends ProxyResourceOutput {
    identity?: ManagedIdentityOutput;
    properties?: ApplicationResourcePropertiesOutput;
}

// @public (undocumented)
export interface ApplicationResourceProperties extends ApplicationResourceUpdateProperties {
    provisioningState?: string;
    typeName?: string;
}

// @public (undocumented)
export interface ApplicationResourcePropertiesOutput extends ApplicationResourceUpdatePropertiesOutput {
    provisioningState?: string;
    typeName?: string;
}

// @public (undocumented)
export interface ApplicationResourceUpdate extends ProxyResource {
    properties?: ApplicationResourceUpdateProperties;
}

// @public (undocumented)
export interface ApplicationResourceUpdateOutput extends ProxyResourceOutput {
    properties?: ApplicationResourceUpdatePropertiesOutput;
}

// @public (undocumented)
export interface ApplicationResourceUpdateProperties {
    managedIdentities?: Array<ApplicationUserAssignedIdentity>;
    maximumNodes?: number;
    metrics?: Array<ApplicationMetricDescription>;
    minimumNodes?: number;
    parameters?: Record<string, string>;
    removeApplicationCapacity?: boolean;
    typeVersion?: string;
    upgradePolicy?: ApplicationUpgradePolicy;
}

// @public (undocumented)
export interface ApplicationResourceUpdatePropertiesOutput {
    managedIdentities?: Array<ApplicationUserAssignedIdentityOutput>;
    maximumNodes?: number;
    metrics?: Array<ApplicationMetricDescriptionOutput>;
    minimumNodes?: number;
    parameters?: Record<string, string>;
    removeApplicationCapacity?: boolean;
    typeVersion?: string;
    upgradePolicy?: ApplicationUpgradePolicyOutput;
}

// @public
export interface ApplicationsCreateOrUpdate202Response extends HttpResponse {
    // (undocumented)
    body: ApplicationResourceOutput;
    // (undocumented)
    status: "202";
}

// @public (undocumented)
export interface ApplicationsCreateOrUpdateBodyParam {
    body: ApplicationResource;
}

// @public
export interface ApplicationsCreateOrUpdatedefaultResponse extends HttpResponse {
    // (undocumented)
    body: ErrorModelOutput;
    // (undocumented)
    status: string;
}

// @public (undocumented)
export interface ApplicationsCreateOrUpdateMediaTypesParam {
    contentType?: "application/json";
}

// @public (undocumented)
export type ApplicationsCreateOrUpdateParameters = ApplicationsCreateOrUpdateMediaTypesParam & ApplicationsCreateOrUpdateBodyParam & RequestParameters;

// @public
export interface ApplicationsDelete202Response extends HttpResponse {
    // (undocumented)
    body: Record<string, unknown>;
    // (undocumented)
    status: "202";
}

// @public
export interface ApplicationsDelete204Response extends HttpResponse {
    // (undocumented)
    body: Record<string, unknown>;
    // (undocumented)
    status: "204";
}

// @public
export interface ApplicationsDeletedefaultResponse extends HttpResponse {
    // (undocumented)
    body: ErrorModelOutput;
    // (undocumented)
    status: string;
}

// @public (undocumented)
export type ApplicationsDeleteParameters = RequestParameters;

// @public (undocumented)
export interface ApplicationsGet {
    delete(options?: ApplicationsDeleteParameters): StreamableMethod<ApplicationsDelete202Response | ApplicationsDelete204Response | ApplicationsDeletedefaultResponse>;
    get(options?: ApplicationsGetParameters): StreamableMethod<ApplicationsGet200Response | ApplicationsGetdefaultResponse>;
    patch(options: ApplicationsUpdateParameters): StreamableMethod<ApplicationsUpdate202Response | ApplicationsUpdatedefaultResponse>;
    put(options: ApplicationsCreateOrUpdateParameters): StreamableMethod<ApplicationsCreateOrUpdate202Response | ApplicationsCreateOrUpdatedefaultResponse>;
}

// @public
export interface ApplicationsGet200Response extends HttpResponse {
    // (undocumented)
    body: ApplicationResourceOutput;
    // (undocumented)
    status: "200";
}

// @public
export interface ApplicationsGetdefaultResponse extends HttpResponse {
    // (undocumented)
    body: ErrorModelOutput;
    // (undocumented)
    status: string;
}

// @public (undocumented)
export type ApplicationsGetParameters = RequestParameters;

// @public (undocumented)
export interface ApplicationsList {
    get(options?: ApplicationsListParameters): StreamableMethod<ApplicationsList200Response | ApplicationsListdefaultResponse>;
}

// @public
export interface ApplicationsList200Response extends HttpResponse {
    // (undocumented)
    body: ApplicationResourceListOutput;
    // (undocumented)
    status: "200";
}

// @public
export interface ApplicationsListdefaultResponse extends HttpResponse {
    // (undocumented)
    body: ErrorModelOutput;
    // (undocumented)
    status: string;
}

// @public (undocumented)
export type ApplicationsListParameters = RequestParameters;

// @public
export interface ApplicationsUpdate202Response extends HttpResponse {
    // (undocumented)
    body: ApplicationResourceOutput;
    // (undocumented)
    status: "202";
}

// @public (undocumented)
export interface ApplicationsUpdateBodyParam {
    body: ApplicationResourceUpdate;
}

// @public
export interface ApplicationsUpdatedefaultResponse extends HttpResponse {
    // (undocumented)
    body: ErrorModelOutput;
    // (undocumented)
    status: string;
}

// @public (undocumented)
export interface ApplicationsUpdateMediaTypesParam {
    contentType?: "application/json";
}

// @public (undocumented)
export type ApplicationsUpdateParameters = ApplicationsUpdateMediaTypesParam & ApplicationsUpdateBodyParam & RequestParameters;

// @public (undocumented)
export interface ApplicationTypeResource extends ProxyResource {
    properties?: ApplicationTypeResourceProperties;
}

// @public (undocumented)
export interface ApplicationTypeResourceListOutput {
    nextLink?: string;
    // (undocumented)
    value?: Array<ApplicationTypeResourceOutput>;
}

// @public (undocumented)
export interface ApplicationTypeResourceOutput extends ProxyResourceOutput {
    properties?: ApplicationTypeResourcePropertiesOutput;
}

// @public (undocumented)
export interface ApplicationTypeResourceProperties {
    provisioningState?: string;
}

// @public (undocumented)
export interface ApplicationTypeResourcePropertiesOutput {
    provisioningState?: string;
}

// @public
export interface ApplicationTypesCreateOrUpdate200Response extends HttpResponse {
    // (undocumented)
    body: ApplicationTypeResourceOutput;
    // (undocumented)
    status: "200";
}

// @public (undocumented)
export interface ApplicationTypesCreateOrUpdateBodyParam {
    body: ApplicationTypeResource;
}

// @public
export interface ApplicationTypesCreateOrUpdatedefaultResponse extends HttpResponse {
    // (undocumented)
    body: ErrorModelOutput;
    // (undocumented)
    status: string;
}

// @public (undocumented)
export interface ApplicationTypesCreateOrUpdateMediaTypesParam {
    contentType?: "application/json";
}

// @public (undocumented)
export type ApplicationTypesCreateOrUpdateParameters = ApplicationTypesCreateOrUpdateMediaTypesParam & ApplicationTypesCreateOrUpdateBodyParam & RequestParameters;

// @public
export interface ApplicationTypesDelete202Response extends HttpResponse {
    // (undocumented)
    body: Record<string, unknown>;
    // (undocumented)
    status: "202";
}

// @public
export interface ApplicationTypesDelete204Response extends HttpResponse {
    // (undocumented)
    body: Record<string, unknown>;
    // (undocumented)
    status: "204";
}

// @public
export interface ApplicationTypesDeletedefaultResponse extends HttpResponse {
    // (undocumented)
    body: ErrorModelOutput;
    // (undocumented)
    status: string;
}

// @public (undocumented)
export type ApplicationTypesDeleteParameters = RequestParameters;

// @public (undocumented)
export interface ApplicationTypesGet {
    delete(options?: ApplicationTypesDeleteParameters): StreamableMethod<ApplicationTypesDelete202Response | ApplicationTypesDelete204Response | ApplicationTypesDeletedefaultResponse>;
    get(options?: ApplicationTypesGetParameters): StreamableMethod<ApplicationTypesGet200Response | ApplicationTypesGetdefaultResponse>;
    put(options: ApplicationTypesCreateOrUpdateParameters): StreamableMethod<ApplicationTypesCreateOrUpdate200Response | ApplicationTypesCreateOrUpdatedefaultResponse>;
}

// @public
export interface ApplicationTypesGet200Response extends HttpResponse {
    // (undocumented)
    body: ApplicationTypeResourceOutput;
    // (undocumented)
    status: "200";
}

// @public
export interface ApplicationTypesGetdefaultResponse extends HttpResponse {
    // (undocumented)
    body: ErrorModelOutput;
    // (undocumented)
    status: string;
}

// @public (undocumented)
export type ApplicationTypesGetParameters = RequestParameters;

// @public (undocumented)
export interface ApplicationTypesList {
    get(options?: ApplicationTypesListParameters): StreamableMethod<ApplicationTypesList200Response | ApplicationTypesListdefaultResponse>;
}

// @public
export interface ApplicationTypesList200Response extends HttpResponse {
    // (undocumented)
    body: ApplicationTypeResourceListOutput;
    // (undocumented)
    status: "200";
}

// @public
export interface ApplicationTypesListdefaultResponse extends HttpResponse {
    // (undocumented)
    body: ErrorModelOutput;
    // (undocumented)
    status: string;
}

// @public (undocumented)
export type ApplicationTypesListParameters = RequestParameters;

// @public (undocumented)
export interface ApplicationTypeVersionResource extends ProxyResource {
    properties?: ApplicationTypeVersionResourceProperties;
}

// @public (undocumented)
export interface ApplicationTypeVersionResourceListOutput {
    nextLink?: string;
    // (undocumented)
    value?: Array<ApplicationTypeVersionResourceOutput>;
}

// @public (undocumented)
export interface ApplicationTypeVersionResourceOutput extends ProxyResourceOutput {
    properties?: ApplicationTypeVersionResourcePropertiesOutput;
}

// @public (undocumented)
export interface ApplicationTypeVersionResourceProperties {
    appPackageUrl: string;
    defaultParameterList?: Record<string, string>;
    provisioningState?: string;
}

// @public (undocumented)
export interface ApplicationTypeVersionResourcePropertiesOutput {
    appPackageUrl: string;
    defaultParameterList?: Record<string, string>;
    provisioningState?: string;
}

// @public (undocumented)
export interface ApplicationTypeVersionsCleanupPolicy {
    maxUnusedVersionsToKeep: number;
}

// @public (undocumented)
export interface ApplicationTypeVersionsCleanupPolicyOutput {
    maxUnusedVersionsToKeep: number;
}

// @public
export interface ApplicationTypeVersionsCreateOrUpdate202Response extends HttpResponse {
    // (undocumented)
    body: ApplicationTypeVersionResourceOutput;
    // (undocumented)
    status: "202";
}

// @public (undocumented)
export interface ApplicationTypeVersionsCreateOrUpdateBodyParam {
    body: ApplicationTypeVersionResource;
}

// @public
export interface ApplicationTypeVersionsCreateOrUpdatedefaultResponse extends HttpResponse {
    // (undocumented)
    body: ErrorModelOutput;
    // (undocumented)
    status: string;
}

// @public (undocumented)
export interface ApplicationTypeVersionsCreateOrUpdateMediaTypesParam {
    contentType?: "application/json";
}

// @public (undocumented)
export type ApplicationTypeVersionsCreateOrUpdateParameters = ApplicationTypeVersionsCreateOrUpdateMediaTypesParam & ApplicationTypeVersionsCreateOrUpdateBodyParam & RequestParameters;

// @public
export interface ApplicationTypeVersionsDelete202Response extends HttpResponse {
    // (undocumented)
    body: Record<string, unknown>;
    // (undocumented)
    status: "202";
}

// @public
export interface ApplicationTypeVersionsDelete204Response extends HttpResponse {
    // (undocumented)
    body: Record<string, unknown>;
    // (undocumented)
    status: "204";
}

// @public
export interface ApplicationTypeVersionsDeletedefaultResponse extends HttpResponse {
    // (undocumented)
    body: ErrorModelOutput;
    // (undocumented)
    status: string;
}

// @public (undocumented)
export type ApplicationTypeVersionsDeleteParameters = RequestParameters;

// @public (undocumented)
export interface ApplicationTypeVersionsGet {
    delete(options?: ApplicationTypeVersionsDeleteParameters): StreamableMethod<ApplicationTypeVersionsDelete202Response | ApplicationTypeVersionsDelete204Response | ApplicationTypeVersionsDeletedefaultResponse>;
    get(options?: ApplicationTypeVersionsGetParameters): StreamableMethod<ApplicationTypeVersionsGet200Response | ApplicationTypeVersionsGetdefaultResponse>;
    put(options: ApplicationTypeVersionsCreateOrUpdateParameters): StreamableMethod<ApplicationTypeVersionsCreateOrUpdate202Response | ApplicationTypeVersionsCreateOrUpdatedefaultResponse>;
}

// @public
export interface ApplicationTypeVersionsGet200Response extends HttpResponse {
    // (undocumented)
    body: ApplicationTypeVersionResourceOutput;
    // (undocumented)
    status: "200";
}

// @public
export interface ApplicationTypeVersionsGetdefaultResponse extends HttpResponse {
    // (undocumented)
    body: ErrorModelOutput;
    // (undocumented)
    status: string;
}

// @public (undocumented)
export type ApplicationTypeVersionsGetParameters = RequestParameters;

// @public (undocumented)
export interface ApplicationTypeVersionsList {
    get(options?: ApplicationTypeVersionsListParameters): StreamableMethod<ApplicationTypeVersionsList200Response | ApplicationTypeVersionsListdefaultResponse>;
}

// @public
export interface ApplicationTypeVersionsList200Response extends HttpResponse {
    // (undocumented)
    body: ApplicationTypeVersionResourceListOutput;
    // (undocumented)
    status: "200";
}

// @public
export interface ApplicationTypeVersionsListdefaultResponse extends HttpResponse {
    // (undocumented)
    body: ErrorModelOutput;
    // (undocumented)
    status: string;
}

// @public (undocumented)
export type ApplicationTypeVersionsListParameters = RequestParameters;

// @public (undocumented)
export interface ApplicationUpgradePolicy {
    applicationHealthPolicy?: ArmApplicationHealthPolicy;
    forceRestart?: boolean;
    recreateApplication?: boolean;
    rollingUpgradeMonitoringPolicy?: ArmRollingUpgradeMonitoringPolicy;
    upgradeMode?: "Invalid" | "UnmonitoredAuto" | "UnmonitoredManual" | "Monitored";
    upgradeReplicaSetCheckTimeout?: string;
}

// @public (undocumented)
export interface ApplicationUpgradePolicyOutput {
    applicationHealthPolicy?: ArmApplicationHealthPolicyOutput;
    forceRestart?: boolean;
    recreateApplication?: boolean;
    rollingUpgradeMonitoringPolicy?: ArmRollingUpgradeMonitoringPolicyOutput;
    upgradeMode?: "Invalid" | "UnmonitoredAuto" | "UnmonitoredManual" | "Monitored";
    upgradeReplicaSetCheckTimeout?: string;
}

// @public (undocumented)
export interface ApplicationUserAssignedIdentity {
    name: string;
    principalId: string;
}

// @public (undocumented)
export interface ApplicationUserAssignedIdentityOutput {
    name: string;
    principalId: string;
}

// @public (undocumented)
export interface ArmApplicationHealthPolicy {
    considerWarningAsError?: boolean;
    defaultServiceTypeHealthPolicy?: ArmServiceTypeHealthPolicy;
    maxPercentUnhealthyDeployedApplications?: number;
    serviceTypeHealthPolicyMap?: Record<string, ArmServiceTypeHealthPolicy>;
}

// @public (undocumented)
export interface ArmApplicationHealthPolicyOutput {
    considerWarningAsError?: boolean;
    defaultServiceTypeHealthPolicy?: ArmServiceTypeHealthPolicyOutput;
    maxPercentUnhealthyDeployedApplications?: number;
    serviceTypeHealthPolicyMap?: Record<string, ArmServiceTypeHealthPolicyOutput>;
}

// @public (undocumented)
export interface ArmRollingUpgradeMonitoringPolicy {
    failureAction?: "Rollback" | "Manual";
    healthCheckRetryTimeout?: string;
    healthCheckStableDuration?: string;
    healthCheckWaitDuration?: string;
    upgradeDomainTimeout?: string;
    upgradeTimeout?: string;
}

// @public (undocumented)
export interface ArmRollingUpgradeMonitoringPolicyOutput {
    failureAction?: "Rollback" | "Manual";
    healthCheckRetryTimeout?: string;
    healthCheckStableDuration?: string;
    healthCheckWaitDuration?: string;
    upgradeDomainTimeout?: string;
    upgradeTimeout?: string;
}

// @public (undocumented)
export interface ArmServiceTypeHealthPolicy {
    maxPercentUnhealthyPartitionsPerService?: number;
    maxPercentUnhealthyReplicasPerPartition?: number;
    maxPercentUnhealthyServices?: number;
}

// @public (undocumented)
export interface ArmServiceTypeHealthPolicyOutput {
    maxPercentUnhealthyPartitionsPerService?: number;
    maxPercentUnhealthyReplicasPerPartition?: number;
    maxPercentUnhealthyServices?: number;
}

// @public (undocumented)
export interface AvailableOperationDisplayOutput {
    description?: string;
    operation?: string;
    provider?: string;
    resource?: string;
}

// @public (undocumented)
export interface AzureActiveDirectory {
    clientApplication?: string;
    clusterApplication?: string;
    tenantId?: string;
}

// @public (undocumented)
export interface AzureActiveDirectoryOutput {
    clientApplication?: string;
    clusterApplication?: string;
    tenantId?: string;
}

// @public (undocumented)
export interface CertificateDescription {
    thumbprint: string;
    thumbprintSecondary?: string;
    x509StoreName?: "AddressBook" | "AuthRoot" | "CertificateAuthority" | "Disallowed" | "My" | "Root" | "TrustedPeople" | "TrustedPublisher";
}

// @public (undocumented)
export interface CertificateDescriptionOutput {
    thumbprint: string;
    thumbprintSecondary?: string;
    x509StoreName?: "AddressBook" | "AuthRoot" | "CertificateAuthority" | "Disallowed" | "My" | "Root" | "TrustedPeople" | "TrustedPublisher";
}

// @public (undocumented)
export interface ClientCertificateCommonName {
    certificateCommonName: string;
    certificateIssuerThumbprint: string;
    isAdmin: boolean;
}

// @public (undocumented)
export interface ClientCertificateCommonNameOutput {
    certificateCommonName: string;
    certificateIssuerThumbprint: string;
    isAdmin: boolean;
}

// @public (undocumented)
export interface ClientCertificateThumbprint {
    certificateThumbprint: string;
    isAdmin: boolean;
}

// @public (undocumented)
export interface ClientCertificateThumbprintOutput {
    certificateThumbprint: string;
    isAdmin: boolean;
}

// @public (undocumented)
export interface Cluster extends Resource {
    properties?: ClusterProperties;
}

// @public (undocumented)
export interface ClusterCodeVersionsListResultOutput {
    nextLink?: string;
    // (undocumented)
    value?: Array<ClusterCodeVersionsResultOutput>;
}

// @public (undocumented)
export interface ClusterCodeVersionsResultOutput {
    id?: string;
    name?: string;
    properties?: ClusterVersionDetailsOutput;
    type?: string;
}

// @public (undocumented)
export interface ClusterHealthPolicy {
    applicationHealthPolicies?: Record<string, ApplicationHealthPolicy>;
    maxPercentUnhealthyApplications?: number;
    maxPercentUnhealthyNodes?: number;
}

// @public (undocumented)
export interface ClusterHealthPolicyOutput {
    applicationHealthPolicies?: Record<string, ApplicationHealthPolicyOutput>;
    maxPercentUnhealthyApplications?: number;
    maxPercentUnhealthyNodes?: number;
}

// @public (undocumented)
export interface ClusterListResultOutput {
    nextLink?: string;
    // (undocumented)
    value?: Array<ClusterOutput>;
}

// @public (undocumented)
export interface ClusterOutput extends ResourceOutput {
    properties?: ClusterPropertiesOutput;
}

// @public (undocumented)
export interface ClusterProperties {
    addOnFeatures?: Array<"RepairManager" | "DnsService" | "BackupRestoreService" | "ResourceMonitorService">;
    applicationTypeVersionsCleanupPolicy?: ApplicationTypeVersionsCleanupPolicy;
    availableClusterVersions?: Array<ClusterVersionDetails>;
    azureActiveDirectory?: AzureActiveDirectory;
    certificate?: CertificateDescription;
    certificateCommonNames?: ServerCertificateCommonNames;
    clientCertificateCommonNames?: Array<ClientCertificateCommonName>;
    clientCertificateThumbprints?: Array<ClientCertificateThumbprint>;
    clusterCodeVersion?: string;
    clusterEndpoint?: string;
    clusterId?: string;
    clusterState?: "WaitingForNodes" | "Deploying" | "BaselineUpgrade" | "UpdatingUserConfiguration" | "UpdatingUserCertificate" | "UpdatingInfrastructure" | "EnforcingClusterVersion" | "UpgradeServiceUnreachable" | "AutoScale" | "Ready";
    diagnosticsStorageAccountConfig?: DiagnosticsStorageAccountConfig;
    eventStoreServiceEnabled?: boolean;
    fabricSettings?: Array<SettingsSectionDescription>;
    infrastructureServiceManager?: boolean;
    managementEndpoint: string;
    nodeTypes: Array<NodeTypeDescription>;
    notifications?: Array<Notification>;
    provisioningState?: "Updating" | "Succeeded" | "Failed" | "Canceled";
    reliabilityLevel?: "None" | "Bronze" | "Silver" | "Gold" | "Platinum";
    reverseProxyCertificate?: CertificateDescription;
    reverseProxyCertificateCommonNames?: ServerCertificateCommonNames;
    sfZonalUpgradeMode?: "Parallel" | "Hierarchical";
    upgradeDescription?: ClusterUpgradePolicy;
    upgradeMode?: "Automatic" | "Manual";
    upgradePauseEndTimestampUtc?: Date | string;
    upgradePauseStartTimestampUtc?: Date | string;
    upgradeWave?: "Wave0" | "Wave1" | "Wave2";
    vmImage?: string;
    vmssZonalUpgradeMode?: "Parallel" | "Hierarchical";
    waveUpgradePaused?: boolean;
}

// @public (undocumented)
export interface ClusterPropertiesOutput {
    addOnFeatures?: Array<"RepairManager" | "DnsService" | "BackupRestoreService" | "ResourceMonitorService">;
    applicationTypeVersionsCleanupPolicy?: ApplicationTypeVersionsCleanupPolicyOutput;
    availableClusterVersions?: Array<ClusterVersionDetailsOutput>;
    azureActiveDirectory?: AzureActiveDirectoryOutput;
    certificate?: CertificateDescriptionOutput;
    certificateCommonNames?: ServerCertificateCommonNamesOutput;
    clientCertificateCommonNames?: Array<ClientCertificateCommonNameOutput>;
    clientCertificateThumbprints?: Array<ClientCertificateThumbprintOutput>;
    clusterCodeVersion?: string;
    clusterEndpoint?: string;
    clusterId?: string;
    clusterState?: "WaitingForNodes" | "Deploying" | "BaselineUpgrade" | "UpdatingUserConfiguration" | "UpdatingUserCertificate" | "UpdatingInfrastructure" | "EnforcingClusterVersion" | "UpgradeServiceUnreachable" | "AutoScale" | "Ready";
    diagnosticsStorageAccountConfig?: DiagnosticsStorageAccountConfigOutput_FFF;
    eventStoreServiceEnabled?: boolean;
    fabricSettings?: Array<SettingsSectionDescriptionOutput>;
    infrastructureServiceManager?: boolean;
    managementEndpoint: string;
    nodeTypes: Array<NodeTypeDescriptionOutput>;
    notifications?: Array<NotificationOutput>;
    provisioningState?: "Updating" | "Succeeded" | "Failed" | "Canceled";
    reliabilityLevel?: "None" | "Bronze" | "Silver" | "Gold" | "Platinum";
    reverseProxyCertificate?: CertificateDescriptionOutput;
    reverseProxyCertificateCommonNames?: ServerCertificateCommonNamesOutput;
    sfZonalUpgradeMode?: "Parallel" | "Hierarchical";
    upgradeDescription?: ClusterUpgradePolicyOutput;
    upgradeMode?: "Automatic" | "Manual";
    upgradePauseEndTimestampUtc?: string;
    upgradePauseStartTimestampUtc?: string;
    upgradeWave?: "Wave0" | "Wave1" | "Wave2";
    vmImage?: string;
    vmssZonalUpgradeMode?: "Parallel" | "Hierarchical";
    waveUpgradePaused?: boolean;
}

// @public (undocumented)
export interface ClusterPropertiesUpdateParameters {
    addOnFeatures?: Array<"RepairManager" | "DnsService" | "BackupRestoreService" | "ResourceMonitorService">;
    applicationTypeVersionsCleanupPolicy?: ApplicationTypeVersionsCleanupPolicy;
    certificate?: CertificateDescription;
    certificateCommonNames?: ServerCertificateCommonNames;
    clientCertificateCommonNames?: Array<ClientCertificateCommonName>;
    clientCertificateThumbprints?: Array<ClientCertificateThumbprint>;
    clusterCodeVersion?: string;
    eventStoreServiceEnabled?: boolean;
    fabricSettings?: Array<SettingsSectionDescription>;
    infrastructureServiceManager?: boolean;
    nodeTypes?: Array<NodeTypeDescription>;
    notifications?: Array<Notification>;
    reliabilityLevel?: "None" | "Bronze" | "Silver" | "Gold" | "Platinum";
    reverseProxyCertificate?: CertificateDescription;
    sfZonalUpgradeMode?: "Parallel" | "Hierarchical";
    upgradeDescription?: ClusterUpgradePolicy;
    upgradeMode?: "Automatic" | "Manual";
    upgradePauseEndTimestampUtc?: Date | string;
    upgradePauseStartTimestampUtc?: Date | string;
    upgradeWave?: "Wave0" | "Wave1" | "Wave2";
    vmssZonalUpgradeMode?: "Parallel" | "Hierarchical";
    waveUpgradePaused?: boolean;
}

// @public
export interface ClustersCreateOrUpdate200Response extends HttpResponse {
    // (undocumented)
    body: ClusterOutput;
    // (undocumented)
    status: "200";
}

// @public
export interface ClustersCreateOrUpdate202Response extends HttpResponse {
    // (undocumented)
    body: ClusterOutput;
    // (undocumented)
    status: "202";
}

// @public (undocumented)
export interface ClustersCreateOrUpdateBodyParam {
    body: Cluster;
}

// @public
export interface ClustersCreateOrUpdatedefaultResponse extends HttpResponse {
    // (undocumented)
    body: ErrorModelOutput;
    // (undocumented)
    status: string;
}

// @public (undocumented)
export interface ClustersCreateOrUpdateMediaTypesParam {
    contentType?: "application/json";
}

// @public (undocumented)
export type ClustersCreateOrUpdateParameters = ClustersCreateOrUpdateMediaTypesParam & ClustersCreateOrUpdateBodyParam & RequestParameters;

// @public
export interface ClustersDelete200ResponseAAA extends HttpResponse {
    // (undocumented)
    body: Record<string, unknown>;
    // (undocumented)
    status: "200";
}

// @public
export interface ClustersDelete204Response extends HttpResponse {
    // (undocumented)
    body: Record<string, unknown>;
    // (undocumented)
    status: "204";
}

// @public
export interface ClustersDeletedefaultResponse extends HttpResponse {
    // (undocumented)
    body: ErrorModelOutput;
    // (undocumented)
    status: string;
}

// @public (undocumented)
export type ClustersDeleteParameters = RequestParameters;

// @public (undocumented)
export interface ClustersGet_DDD {
    delete(options?: ClustersDeleteParameters): StreamableMethod<ClustersDelete200ResponseAAA | ClustersDelete204Response | ClustersDeletedefaultResponse>;
    get(options?: ClustersGetParameters): StreamableMethod<ClustersGet200Response | ClustersGetdefaultResponse>;
    patch(options: ClustersUpdateParameters): StreamableMethod<ClustersUpdate200Response | ClustersUpdate202Response | ClustersUpdatedefaultResponse>;
    put(options: ClustersCreateOrUpdateParameters): StreamableMethod<ClustersCreateOrUpdate200Response | ClustersCreateOrUpdate202Response | ClustersCreateOrUpdatedefaultResponse>;
}

// @public
export interface ClustersGet200Response extends HttpResponse {
    // (undocumented)
    body: ClusterOutput;
    // (undocumented)
    status: "200";
}

// @public
export interface ClustersGetdefaultResponse extends HttpResponse {
    // (undocumented)
    body: ErrorModelOutput;
    // (undocumented)
    status: string;
}

// @public (undocumented)
export type ClustersGetParameters = RequestParameters;

// @public (undocumented)
export interface ClustersList {
    get(options?: ClustersListParameters): StreamableMethod<ClustersList200Response | ClustersListdefaultResponse>;
}

// @public
export interface ClustersList200Response extends HttpResponse {
    // (undocumented)
    body: ClusterListResultOutput;
    // (undocumented)
    status: "200";
}

// @public (undocumented)
export interface ClustersListByResourceGroup {
    get(options?: ClustersListByResourceGroupParameters): StreamableMethod<ClustersListByResourceGroup200Response | ClustersListByResourceGroupdefaultResponse>;
}

// @public
export interface ClustersListByResourceGroup200Response extends HttpResponse {
    // (undocumented)
    body: ClusterListResultOutput;
    // (undocumented)
    status: "200";
}

// @public
export interface ClustersListByResourceGroupdefaultResponse extends HttpResponse {
    // (undocumented)
    body: ErrorModelOutput;
    // (undocumented)
    status: string;
}

// @public (undocumented)
export type ClustersListByResourceGroupParameters = RequestParameters;

// @public
export interface ClustersListdefaultResponse extends HttpResponse {
    // (undocumented)
    body: ErrorModelOutput;
    // (undocumented)
    status: string;
}

// @public (undocumented)
export type ClustersListParameters = RequestParameters;

// @public (undocumented)
export interface ClustersListUpgradableVersions {
    post(options?: ClustersListUpgradableVersionsParameters): StreamableMethod<ClustersListUpgradableVersions200Response | ClustersListUpgradableVersionsdefaultResponse>;
}

// @public
export interface ClustersListUpgradableVersions200Response extends HttpResponse {
    // (undocumented)
    body: UpgradableVersionPathResultOutput;
    // (undocumented)
    status: "200";
}

// @public (undocumented)
export interface ClustersListUpgradableVersionsBodyParam {
    body?: UpgradableVersionsDescription;
}

// @public
export interface ClustersListUpgradableVersionsdefaultResponse extends HttpResponse {
    // (undocumented)
    body: ErrorModelOutput;
    // (undocumented)
    status: string;
}

// @public (undocumented)
export interface ClustersListUpgradableVersionsMediaTypesParam {
    contentType?: "application/json";
}

// @public (undocumented)
export type ClustersListUpgradableVersionsParameters = ClustersListUpgradableVersionsMediaTypesParam & ClustersListUpgradableVersionsBodyParam & RequestParameters;

// @public
export interface ClustersUpdate200Response extends HttpResponse {
    // (undocumented)
    body: ClusterOutput;
    // (undocumented)
    status: "200";
}

// @public
export interface ClustersUpdate202Response extends HttpResponse {
    // (undocumented)
    body: ClusterOutput;
    // (undocumented)
    status: "202";
}

// @public (undocumented)
export interface ClustersUpdateBodyParam {
    body: ClusterUpdateParameters_BBB;
}

// @public
export interface ClustersUpdatedefaultResponse extends HttpResponse {
    // (undocumented)
    body: ErrorModelOutput;
    // (undocumented)
    status: string;
}

// @public (undocumented)
export interface ClustersUpdateMediaTypesParam_CCC {
    contentType?: "application/json";
}

// @public (undocumented)
export type ClustersUpdateParameters = ClustersUpdateMediaTypesParam_CCC & ClustersUpdateBodyParam & RequestParameters;

// @public (undocumented)
export interface ClusterUpdateParameters_BBB {
    properties?: ClusterPropertiesUpdateParameters;
    tags?: Record<string, string>;
}

// @public (undocumented)
export interface ClusterUpgradeDeltaHealthPolicy {
    applicationDeltaHealthPolicies?: Record<string, ApplicationDeltaHealthPolicy>;
    maxPercentDeltaUnhealthyApplications: number;
    maxPercentDeltaUnhealthyNodes: number;
    maxPercentUpgradeDomainDeltaUnhealthyNodes: number;
}

// @public (undocumented)
export interface ClusterUpgradeDeltaHealthPolicyOutput {
    applicationDeltaHealthPolicies?: Record<string, ApplicationDeltaHealthPolicyOutput>;
    maxPercentDeltaUnhealthyApplications: number;
    maxPercentDeltaUnhealthyNodes: number;
    maxPercentUpgradeDomainDeltaUnhealthyNodes: number;
}

// @public (undocumented)
export interface ClusterUpgradePolicy {
    deltaHealthPolicy?: ClusterUpgradeDeltaHealthPolicy;
    forceRestart?: boolean;
    healthCheckRetryTimeout: string;
    healthCheckStableDuration: string;
    healthCheckWaitDuration: string;
    healthPolicy: ClusterHealthPolicy;
    upgradeDomainTimeout: string;
    upgradeReplicaSetCheckTimeout: string;
    upgradeTimeout: string;
}

// @public (undocumented)
export interface ClusterUpgradePolicyOutput {
    deltaHealthPolicy?: ClusterUpgradeDeltaHealthPolicyOutput;
    forceRestart?: boolean;
    healthCheckRetryTimeout: string;
    healthCheckStableDuration: string;
    healthCheckWaitDuration: string;
    healthPolicy: ClusterHealthPolicyOutput;
    upgradeDomainTimeout: string;
    upgradeReplicaSetCheckTimeout: string;
    upgradeTimeout: string;
}

// @public (undocumented)
export interface ClusterVersionDetails {
    codeVersion?: string;
    environment?: "Windows" | "Linux";
    supportExpiryUtc?: string;
}

// @public (undocumented)
export interface ClusterVersionDetailsOutput {
    codeVersion?: string;
    environment?: "Windows" | "Linux";
    supportExpiryUtc?: string;
}

// @public (undocumented)
export interface ClusterVersionsGet {
    get(options?: ClusterVersionsGetParameters_EEE): StreamableMethod<ClusterVersionsGet200Response | ClusterVersionsGetdefaultResponse>;
}

// @public
export interface ClusterVersionsGet200Response extends HttpResponse {
    // (undocumented)
    body: ClusterCodeVersionsListResultOutput;
    // (undocumented)
    status: "200";
}

// @public (undocumented)
export interface ClusterVersionsGetByEnvironment {
    get(options?: ClusterVersionsGetByEnvironmentParameters): StreamableMethod<ClusterVersionsGetByEnvironment200Response | ClusterVersionsGetByEnvironmentdefaultResponse>;
}

// @public
export interface ClusterVersionsGetByEnvironment200Response extends HttpResponse {
    // (undocumented)
    body: ClusterCodeVersionsListResultOutput;
    // (undocumented)
    status: "200";
}

// @public
export interface ClusterVersionsGetByEnvironmentdefaultResponse extends HttpResponse {
    // (undocumented)
    body: ErrorModelOutput;
    // (undocumented)
    status: string;
}

// @public (undocumented)
export type ClusterVersionsGetByEnvironmentParameters = RequestParameters;

// @public
export interface ClusterVersionsGetdefaultResponse extends HttpResponse {
    // (undocumented)
    body: ErrorModelOutput;
    // (undocumented)
    status: string;
}

// @public (undocumented)
export type ClusterVersionsGetParameters_EEE = RequestParameters;

// @public (undocumented)
export interface ClusterVersionsList {
    get(options?: ClusterVersionsListParameters): StreamableMethod<ClusterVersionsList200Response | ClusterVersionsListdefaultResponse>;
}

// @public
export interface ClusterVersionsList200Response extends HttpResponse {
    // (undocumented)
    body: ClusterCodeVersionsListResultOutput;
    // (undocumented)
    status: "200";
}

// @public (undocumented)
export interface ClusterVersionsListByEnvironment {
    get(options?: ClusterVersionsListByEnvironmentParameters): StreamableMethod<ClusterVersionsListByEnvironment200Response | ClusterVersionsListByEnvironmentdefaultResponse>;
}

// @public
export interface ClusterVersionsListByEnvironment200Response extends HttpResponse {
    // (undocumented)
    body: ClusterCodeVersionsListResultOutput;
    // (undocumented)
    status: "200";
}

// @public
export interface ClusterVersionsListByEnvironmentdefaultResponse extends HttpResponse {
    // (undocumented)
    body: ErrorModelOutput;
    // (undocumented)
    status: string;
}

// @public (undocumented)
export type ClusterVersionsListByEnvironmentParameters = RequestParameters;

// @public
export interface ClusterVersionsListdefaultResponse extends HttpResponse {
    // (undocumented)
    body: ErrorModelOutput;
    // (undocumented)
    status: string;
}

// @public (undocumented)
export type ClusterVersionsListParameters = RequestParameters;

// @public (undocumented)
function createClient(credentials: TokenCredential, options?: ClientOptions): ServiceFabricClient;
export default createClient;

// @public (undocumented)
export interface DiagnosticsStorageAccountConfig {
    blobEndpoint: string;
    protectedAccountKeyName_GGG: string;
    protectedAccountKeyName2?: string;
    queueEndpoint: string;
    storageAccountName: string;
    tableEndpoint: string;
}

// @public (undocumented)
export interface DiagnosticsStorageAccountConfigOutput_FFF {
    blobEndpoint: string;
    protectedAccountKeyName: string;
    protectedAccountKeyName2?: string;
    queueEndpoint_III: string;
    storageAccountName: string;
    tableEndpoint: string;
}

// @public (undocumented)
export interface EndpointRangeDescription {
    endPort: number;
    startPort: number;
}

// @public (undocumented)
export interface EndpointRangeDescriptionOutput {
    endPort: number;
    startPort: number;
}

// @public (undocumented)
export interface ErrorModelErrorOutput {
    code?: string;
    message?: string;
}

// @public (undocumented)
export interface ErrorModelOutput {
    error?: ErrorModelErrorOutput;
}

// @public
export type GetArrayType<T> = T extends Array<infer TData> ? TData : never;

// @public
export function getLongRunningPoller<TResult extends HttpResponse>(client: Client, initialResponse: TResult, options?: LroEngineOptions<TResult, PollOperationState<TResult>>): PollerLike<PollOperationState<TResult>, TResult>;

// @public
export type GetPage<TPage> = (pageLink: string, maxPageSize?: number) => Promise<{
    page: TPage;
    nextPageLink?: string;
}>;

// @public (undocumented)
export function isUnexpected(response: ClustersGet200Response | ClustersGetdefaultResponse): response is ClustersGetdefaultResponse;

// @public (undocumented)
export function isUnexpected(response: ClustersCreateOrUpdate200Response | ClustersCreateOrUpdate202Response | ClustersCreateOrUpdatedefaultResponse): response is ClustersCreateOrUpdatedefaultResponse;

// @public (undocumented)
export function isUnexpected(response: ClustersUpdate200Response | ClustersUpdate202Response | ClustersUpdatedefaultResponse): response is ClustersUpdatedefaultResponse;

// @public (undocumented)
export function isUnexpected(response: ClustersDelete200ResponseAAA | ClustersDelete204Response | ClustersDeletedefaultResponse): response is ClustersDeletedefaultResponse;

// @public (undocumented)
export function isUnexpected(response: ClustersListByResourceGroup200Response | ClustersListByResourceGroupdefaultResponse): response is ClustersListByResourceGroupdefaultResponse;

// @public (undocumented)
export function isUnexpected(response: ClustersList200Response | ClustersListdefaultResponse): response is ClustersListdefaultResponse;

// @public (undocumented)
export function isUnexpected(response: ClustersListUpgradableVersions200Response | ClustersListUpgradableVersionsdefaultResponse): response is ClustersListUpgradableVersionsdefaultResponse;

// @public (undocumented)
export function isUnexpected(response: ClusterVersionsGet200Response | ClusterVersionsGetdefaultResponse): response is ClusterVersionsGetdefaultResponse;

// @public (undocumented)
export function isUnexpected(response: ClusterVersionsGetByEnvironment200Response | ClusterVersionsGetByEnvironmentdefaultResponse): response is ClusterVersionsGetByEnvironmentdefaultResponse;

// @public (undocumented)
export function isUnexpected(response: ClusterVersionsList200Response | ClusterVersionsListdefaultResponse): response is ClusterVersionsListdefaultResponse;

// @public (undocumented)
export function isUnexpected(response: ClusterVersionsListByEnvironment200Response | ClusterVersionsListByEnvironmentdefaultResponse): response is ClusterVersionsListByEnvironmentdefaultResponse;

// @public (undocumented)
export function isUnexpected(response: OperationsList200Response | OperationsListdefaultResponse): response is OperationsListdefaultResponse;

// @public (undocumented)
export function isUnexpected(response: ApplicationTypesGet200Response | ApplicationTypesGetdefaultResponse): response is ApplicationTypesGetdefaultResponse;

// @public (undocumented)
export function isUnexpected(response: ApplicationTypesCreateOrUpdate200Response | ApplicationTypesCreateOrUpdatedefaultResponse): response is ApplicationTypesCreateOrUpdatedefaultResponse;

// @public (undocumented)
export function isUnexpected(response: ApplicationTypesDelete202Response | ApplicationTypesDelete204Response | ApplicationTypesDeletedefaultResponse): response is ApplicationTypesDeletedefaultResponse;

// @public (undocumented)
export function isUnexpected(response: ApplicationTypesList200Response | ApplicationTypesListdefaultResponse): response is ApplicationTypesListdefaultResponse;

// @public (undocumented)
export function isUnexpected(response: ApplicationTypeVersionsGet200Response | ApplicationTypeVersionsGetdefaultResponse): response is ApplicationTypeVersionsGetdefaultResponse;

// @public (undocumented)
export function isUnexpected(response: ApplicationTypeVersionsCreateOrUpdate202Response | ApplicationTypeVersionsCreateOrUpdatedefaultResponse): response is ApplicationTypeVersionsCreateOrUpdatedefaultResponse;

// @public (undocumented)
export function isUnexpected(response: ApplicationTypeVersionsDelete202Response | ApplicationTypeVersionsDelete204Response | ApplicationTypeVersionsDeletedefaultResponse): response is ApplicationTypeVersionsDeletedefaultResponse;

// @public (undocumented)
export function isUnexpected(response: ApplicationTypeVersionsList200Response | ApplicationTypeVersionsListdefaultResponse): response is ApplicationTypeVersionsListdefaultResponse;

// @public (undocumented)
export function isUnexpected(response: ApplicationsGet200Response | ApplicationsGetdefaultResponse): response is ApplicationsGetdefaultResponse;

// @public (undocumented)
export function isUnexpected(response: ApplicationsCreateOrUpdate202Response | ApplicationsCreateOrUpdatedefaultResponse): response is ApplicationsCreateOrUpdatedefaultResponse;

// @public (undocumented)
export function isUnexpected(response: ApplicationsUpdate202Response | ApplicationsUpdatedefaultResponse): response is ApplicationsUpdatedefaultResponse;

// @public (undocumented)
export function isUnexpected(response: ApplicationsDelete202Response | ApplicationsDelete204Response | ApplicationsDeletedefaultResponse): response is ApplicationsDeletedefaultResponse;

// @public (undocumented)
export function isUnexpected(response: ApplicationsList200Response | ApplicationsListdefaultResponse): response is ApplicationsListdefaultResponse;

// @public (undocumented)
export function isUnexpected(response: ServicesGet200Response | ServicesGetdefaultResponse): response is ServicesGetdefaultResponse;

// @public (undocumented)
export function isUnexpected(response: ServicesCreateOrUpdate202Response | ServicesCreateOrUpdatedefaultResponse): response is ServicesCreateOrUpdatedefaultResponse;

// @public (undocumented)
export function isUnexpected(response: ServicesUpdate202Response | ServicesUpdatedefaultResponse): response is ServicesUpdatedefaultResponse;

// @public (undocumented)
export function isUnexpected(response: ServicesDelete202Response | ServicesDelete204Response | ServicesDeletedefaultResponse): response is ServicesDeletedefaultResponse;

// @public (undocumented)
export function isUnexpected(response: ServicesList200Response | ServicesListdefaultResponse): response is ServicesListdefaultResponse;

// @public (undocumented)
export interface ManagedIdentity {
    principalId?: string;
    tenantId?: string;
    type?: "SystemAssigned" | "UserAssigned" | "SystemAssigned, UserAssigned" | "None";
    userAssignedIdentities?: Record<string, UserAssignedIdentity>;
}

// @public (undocumented)
export interface ManagedIdentityOutput {
    principalId?: string;
    tenantId?: string;
    type?: "SystemAssigned" | "UserAssigned" | "SystemAssigned, UserAssigned" | "None";
    userAssignedIdentities?: Record<string, UserAssignedIdentityOutput>;
}

// @public (undocumented)
export interface NamedPartitionSchemeDescription extends PartitionSchemeDescriptionParent {
    count: number;
    names: Array<string>;
    // (undocumented)
    partitionScheme: "Named";
}

// @public (undocumented)
export interface NamedPartitionSchemeDescriptionOutput extends PartitionSchemeDescriptionOutputParent {
    count: number;
    names: Array<string>;
    // (undocumented)
    partitionScheme: "Named";
}

// @public (undocumented)
export interface NodeTypeDescription {
    applicationPorts?: EndpointRangeDescription;
    capacities?: Record<string, string>;
    clientConnectionEndpointPort: number;
    durabilityLevel?: "Bronze" | "Silver" | "Gold";
    ephemeralPorts?: EndpointRangeDescription;
    httpGatewayEndpointPort: number;
    isPrimary: boolean;
    isStateless?: boolean;
    multipleAvailabilityZones?: boolean;
    name: string;
    placementProperties?: Record<string, string>;
    reverseProxyEndpointPort?: number;
    vmInstanceCount: number;
}

// @public (undocumented)
export interface NodeTypeDescriptionOutput {
    applicationPorts?: EndpointRangeDescriptionOutput;
    capacities?: Record<string, string>;
    clientConnectionEndpointPort: number;
    durabilityLevel?: "Bronze" | "Silver" | "Gold";
    ephemeralPorts?: EndpointRangeDescriptionOutput;
    httpGatewayEndpointPort: number;
    isPrimary: boolean;
    isStateless?: boolean;
    multipleAvailabilityZones?: boolean;
    name: string;
    placementProperties?: Record<string, string>;
    reverseProxyEndpointPort?: number;
    vmInstanceCount: number;
}

// @public (undocumented)
export interface Notification {
    isEnabled: boolean;
    notificationCategory: "WaveProgress";
    notificationLevel: "Critical" | "All";
    notificationTargets: Array<NotificationTarget>;
}

// @public (undocumented)
export interface NotificationOutput {
    isEnabled: boolean;
    notificationCategory: "WaveProgress";
    notificationLevel: "Critical" | "All";
    notificationTargets: Array<NotificationTargetOutput>;
}

// @public (undocumented)
export interface NotificationTarget {
    notificationChannel: "EmailUser" | "EmailSubscription";
    receivers: Array<string>;
}

// @public (undocumented)
export interface NotificationTargetOutput {
    notificationChannel: "EmailUser" | "EmailSubscription";
    receivers: Array<string>;
}

// @public (undocumented)
export interface OperationListResultOutput {
    nextLink?: string;
    value?: Array<OperationResultOutput>;
}

// @public (undocumented)
export interface OperationResultOutput {
    display?: AvailableOperationDisplayOutput;
    isDataAction?: boolean;
    name?: string;
    nextLink?: string;
    origin?: string;
}

// @public (undocumented)
export interface OperationsList {
    get(options?: OperationsListParameters): StreamableMethod<OperationsList200Response | OperationsListdefaultResponse>;
}

// @public
export interface OperationsList200Response extends HttpResponse {
    // (undocumented)
    body: OperationListResultOutput;
    // (undocumented)
    status: "200";
}

// @public
export interface OperationsListdefaultResponse extends HttpResponse {
    // (undocumented)
    body: ErrorModelOutput;
    // (undocumented)
    status: string;
}

// @public (undocumented)
export type OperationsListParameters = RequestParameters;

// @public
export function paginate<TResponse extends PathUncheckedResponse>(client: Client, initialResponse: TResponse, options?: PagingOptions<TResponse>): PagedAsyncIterableIterator<PaginateReturn<TResponse>>;

// @public
export type PaginateReturn<TResult> = TResult extends {
    body: {
        value?: infer TPage;
    };
} ? GetArrayType<TPage> : Array<unknown>;

// @public
export interface PagingOptions<TResponse> {
    customGetPage?: GetPage<PaginateReturn<TResponse>[]>;
}

// @public (undocumented)
export type PartitionSchemeDescription = NamedPartitionSchemeDescription | SingletonPartitionSchemeDescription | UniformInt64RangePartitionSchemeDescription;

// @public (undocumented)
export type PartitionSchemeDescriptionOutput = NamedPartitionSchemeDescriptionOutput | SingletonPartitionSchemeDescriptionOutput | UniformInt64RangePartitionSchemeDescriptionOutput;

// @public (undocumented)
export interface PartitionSchemeDescriptionOutputParent {
    // (undocumented)
    partitionScheme: "PartitionSchemeDescription" | "Named" | "Singleton" | "UniformInt64Range";
}

// @public (undocumented)
export interface PartitionSchemeDescriptionParent {
    // (undocumented)
    partitionScheme: "PartitionSchemeDescription" | "Named" | "Singleton" | "UniformInt64Range";
}

// @public (undocumented)
export interface ProxyResource {
    etag?: string;
    id?: string;
    location?: string;
    name?: string;
    systemData?: SystemData;
    tags?: Record<string, string>;
    type?: string;
}

// @public (undocumented)
export interface ProxyResourceOutput {
    etag?: string;
    id?: string;
    location?: string;
    name?: string;
    systemData?: SystemDataOutput;
    tags?: Record<string, string>;
    type?: string;
}

// @public (undocumented)
export interface Resource {
    etag?: string;
    id?: string;
    location: string;
    name?: string;
    systemData?: SystemData;
    tags?: Record<string, string>;
    type?: string;
}

// @public (undocumented)
export interface ResourceOutput {
    etag?: string;
    id?: string;
    location: string;
    name?: string;
    systemData?: SystemDataOutput;
    tags?: Record<string, string>;
    type?: string;
}

// @public (undocumented)
export interface Routes {
    (path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}", subscriptionId: string, resourceGroupName: string, clusterName: string): ClustersGet_DDD;
    (path: "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters", subscriptionId: string, resourceGroupName: string): ClustersListByResourceGroup;
    (path: "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/clusters", subscriptionId: string): ClustersList;
    (path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/listUpgradableVersions", subscriptionId: string, resourceGroupName: string, clusterName: string): ClustersListUpgradableVersions;
    (path: "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/clusterVersions/{clusterVersion}", subscriptionId: string, location: string, clusterVersion: string): ClusterVersionsGet;
    (path: "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/environments/{environment}/clusterVersions/{clusterVersion}", subscriptionId: string, location: string, environment: "Windows" | "Linux", clusterVersion: string): ClusterVersionsGetByEnvironment;
    (path: "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/clusterVersions", subscriptionId: string, location: string): ClusterVersionsList;
    (path: "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/environments/{environment}/clusterVersions", subscriptionId: string, location: string, environment: "Windows" | "Linux"): ClusterVersionsListByEnvironment;
    (path: "/providers/Microsoft.ServiceFabric/operations"): OperationsList;
    (path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}", subscriptionId: string, resourceGroupName: string, clusterName: string, applicationTypeName: string): ApplicationTypesGet;
    (path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes", subscriptionId: string, resourceGroupName: string, clusterName: string): ApplicationTypesList;
    (path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}/versions/{version}", subscriptionId: string, resourceGroupName: string, clusterName: string, applicationTypeName: string, version: string): ApplicationTypeVersionsGet;
    (path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}/versions", subscriptionId: string, resourceGroupName: string, clusterName: string, applicationTypeName: string): ApplicationTypeVersionsList;
    (path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}", subscriptionId: string, resourceGroupName: string, clusterName: string, applicationName: string): ApplicationsGet;
    (path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications", subscriptionId: string, resourceGroupName: string, clusterName: string): ApplicationsList;
    (path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}/services/{serviceName}", subscriptionId: string, resourceGroupName: string, clusterName: string, applicationName: string, serviceName: string): ServicesGet;
    (path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}/services", subscriptionId: string, resourceGroupName: string, clusterName: string, applicationName: string): ServicesList;
}

// @public (undocumented)
export interface ServerCertificateCommonName {
    certificateCommonName: string;
    certificateIssuerThumbprint: string;
}

// @public (undocumented)
export interface ServerCertificateCommonNameOutput {
    certificateCommonName: string;
    certificateIssuerThumbprint: string;
}

// @public (undocumented)
export interface ServerCertificateCommonNames {
    commonNames?: Array<ServerCertificateCommonName>;
    x509StoreName?: "AddressBook" | "AuthRoot" | "CertificateAuthority" | "Disallowed" | "My" | "Root" | "TrustedPeople" | "TrustedPublisher";
}

// @public (undocumented)
export interface ServerCertificateCommonNamesOutput {
    commonNames?: Array<ServerCertificateCommonNameOutput>;
    x509StoreName?: "AddressBook" | "AuthRoot" | "CertificateAuthority" | "Disallowed" | "My" | "Root" | "TrustedPeople" | "TrustedPublisher";
}

// @public (undocumented)
export interface ServiceCorrelationDescription {
    scheme: "Invalid" | "Affinity" | "AlignedAffinity" | "NonAlignedAffinity";
    serviceName: string;
}

// @public (undocumented)
export interface ServiceCorrelationDescriptionOutput {
    scheme: "Invalid" | "Affinity" | "AlignedAffinity" | "NonAlignedAffinity";
    serviceName: string;
}

// @public (undocumented)
export type ServiceFabricClient = Client & {
    path: Routes;
};

// @public (undocumented)
export interface ServiceLoadMetricDescription {
    defaultLoad?: number;
    name: string;
    primaryDefaultLoad?: number;
    secondaryDefaultLoad?: number;
    weight?: "Zero" | "Low" | "Medium" | "High";
}

// @public (undocumented)
export interface ServiceLoadMetricDescriptionOutput {
    defaultLoad?: number;
    name: string;
    primaryDefaultLoad?: number;
    secondaryDefaultLoad?: number;
    weight?: "Zero" | "Low" | "Medium" | "High";
}

// @public (undocumented)
export interface ServicePlacementPolicyDescription {
    // (undocumented)
    type: "ServicePlacementPolicyDescription";
}

// @public (undocumented)
export interface ServicePlacementPolicyDescriptionOutput {
    // (undocumented)
    type: "ServicePlacementPolicyDescription";
}

// @public (undocumented)
export interface ServiceResource extends ProxyResource {
    properties?: ServiceResourceProperties;
}

// @public (undocumented)
export interface ServiceResourceListOutput {
    nextLink?: string;
    // (undocumented)
    value?: Array<ServiceResourceOutput>;
}

// @public (undocumented)
export interface ServiceResourceOutput extends ProxyResourceOutput {
    properties?: ServiceResourcePropertiesOutput;
}

// @public (undocumented)
export type ServiceResourceProperties = StatefulServiceProperties | StatelessServiceProperties;

// @public (undocumented)
export interface ServiceResourcePropertiesBase {
    correlationScheme?: Array<ServiceCorrelationDescription>;
    defaultMoveCost?: "Zero" | "Low" | "Medium" | "High";
    placementConstraints?: string;
    serviceLoadMetrics?: Array<ServiceLoadMetricDescription>;
    servicePlacementPolicies?: Array<ServicePlacementPolicyDescription>;
}

// @public (undocumented)
export interface ServiceResourcePropertiesBaseOutput {
    correlationScheme?: Array<ServiceCorrelationDescriptionOutput>;
    defaultMoveCost?: "Zero" | "Low" | "Medium" | "High";
    placementConstraints?: string;
    serviceLoadMetrics?: Array<ServiceLoadMetricDescriptionOutput>;
    servicePlacementPolicies?: Array<ServicePlacementPolicyDescriptionOutput>;
}

// @public (undocumented)
export type ServiceResourcePropertiesOutput = StatefulServicePropertiesOutput | StatelessServicePropertiesOutput;

// @public (undocumented)
export interface ServiceResourcePropertiesOutputParent extends ServiceResourcePropertiesBaseOutput {
    partitionDescription?: PartitionSchemeDescriptionOutput;
    provisioningState?: string;
    serviceDnsName?: string;
    // (undocumented)
    serviceKind: "ServiceResourceProperties" | "Stateful" | "Stateless";
    servicePackageActivationMode?: "SharedProcess" | "ExclusiveProcess";
    serviceTypeName?: string;
}

// @public (undocumented)
export interface ServiceResourcePropertiesParent extends ServiceResourcePropertiesBase {
    partitionDescription?: PartitionSchemeDescription;
    provisioningState?: string;
    serviceDnsName?: string;
    // (undocumented)
    serviceKind: "ServiceResourceProperties" | "Stateful" | "Stateless";
    servicePackageActivationMode?: "SharedProcess" | "ExclusiveProcess";
    serviceTypeName?: string;
}

// @public (undocumented)
export interface ServiceResourceUpdate extends ProxyResource {
    properties?: ServiceResourceUpdateProperties;
}

// @public (undocumented)
export interface ServiceResourceUpdateOutput extends ProxyResourceOutput {
    properties?: ServiceResourceUpdatePropertiesOutput;
}

// @public (undocumented)
export type ServiceResourceUpdateProperties = StatefulServiceUpdateProperties | StatelessServiceUpdateProperties;

// @public (undocumented)
export type ServiceResourceUpdatePropertiesOutput = StatefulServiceUpdatePropertiesOutput | StatelessServiceUpdatePropertiesOutput;

// @public (undocumented)
export interface ServiceResourceUpdatePropertiesOutputParent extends ServiceResourcePropertiesBaseOutput {
    // (undocumented)
    serviceKind: "ServiceResourceUpdateProperties" | "Stateful" | "Stateless";
}

// @public (undocumented)
export interface ServiceResourceUpdatePropertiesParent extends ServiceResourcePropertiesBase {
    // (undocumented)
    serviceKind: "ServiceResourceUpdateProperties" | "Stateful" | "Stateless";
}

// @public
export interface ServicesCreateOrUpdate202Response extends HttpResponse {
    // (undocumented)
    body: ServiceResourceOutput;
    // (undocumented)
    status: "202";
}

// @public (undocumented)
export interface ServicesCreateOrUpdateBodyParam {
    body: ServiceResource;
}

// @public
export interface ServicesCreateOrUpdatedefaultResponse extends HttpResponse {
    // (undocumented)
    body: ErrorModelOutput;
    // (undocumented)
    status: string;
}

// @public (undocumented)
export interface ServicesCreateOrUpdateMediaTypesParam {
    contentType?: "application/json";
}

// @public (undocumented)
export type ServicesCreateOrUpdateParameters = ServicesCreateOrUpdateMediaTypesParam & ServicesCreateOrUpdateBodyParam & RequestParameters;

// @public
export interface ServicesDelete202Response extends HttpResponse {
    // (undocumented)
    body: Record<string, unknown>;
    // (undocumented)
    status: "202";
}

// @public
export interface ServicesDelete204Response extends HttpResponse {
    // (undocumented)
    body: Record<string, unknown>;
    // (undocumented)
    status: "204";
}

// @public
export interface ServicesDeletedefaultResponse extends HttpResponse {
    // (undocumented)
    body: ErrorModelOutput;
    // (undocumented)
    status: string;
}

// @public (undocumented)
export type ServicesDeleteParameters = RequestParameters;

// @public (undocumented)
export interface ServicesGet {
    delete(options?: ServicesDeleteParameters): StreamableMethod<ServicesDelete202Response | ServicesDelete204Response | ServicesDeletedefaultResponse>;
    get(options?: ServicesGetParameters): StreamableMethod<ServicesGet200Response | ServicesGetdefaultResponse>;
    patch(options: ServicesUpdateParameters): StreamableMethod<ServicesUpdate202Response | ServicesUpdatedefaultResponse>;
    put(options: ServicesCreateOrUpdateParameters): StreamableMethod<ServicesCreateOrUpdate202Response | ServicesCreateOrUpdatedefaultResponse>;
}

// @public
export interface ServicesGet200Response extends HttpResponse {
    // (undocumented)
    body: ServiceResourceOutput;
    // (undocumented)
    status: "200";
}

// @public
export interface ServicesGetdefaultResponse extends HttpResponse {
    // (undocumented)
    body: ErrorModelOutput;
    // (undocumented)
    status: string;
}

// @public (undocumented)
export type ServicesGetParameters = RequestParameters;

// @public (undocumented)
export interface ServicesList {
    get(options?: ServicesListParameters): StreamableMethod<ServicesList200Response | ServicesListdefaultResponse>;
}

// @public
export interface ServicesList200Response extends HttpResponse {
    // (undocumented)
    body: ServiceResourceListOutput;
    // (undocumented)
    status: "200";
}

// @public
export interface ServicesListdefaultResponse extends HttpResponse {
    // (undocumented)
    body: ErrorModelOutput;
    // (undocumented)
    status: string;
}

// @public (undocumented)
export type ServicesListParameters = RequestParameters;

// @public
export interface ServicesUpdate202Response extends HttpResponse {
    // (undocumented)
    body: ServiceResourceOutput;
    // (undocumented)
    status: "202";
}

// @public (undocumented)
export interface ServicesUpdateBodyParam {
    body: ServiceResourceUpdate;
}

// @public
export interface ServicesUpdatedefaultResponse extends HttpResponse {
    // (undocumented)
    body: ErrorModelOutput;
    // (undocumented)
    status: string;
}

// @public (undocumented)
export interface ServicesUpdateMediaTypesParam {
    contentType?: "application/json";
}

// @public (undocumented)
export type ServicesUpdateParameters = ServicesUpdateMediaTypesParam & ServicesUpdateBodyParam & RequestParameters;

// @public (undocumented)
export interface ServiceTypeDeltaHealthPolicy {
    maxPercentDeltaUnhealthyServices?: number;
}

// @public (undocumented)
export interface ServiceTypeDeltaHealthPolicyOutput {
    maxPercentDeltaUnhealthyServices?: number;
}

// @public (undocumented)
export interface ServiceTypeHealthPolicy {
    maxPercentUnhealthyServices?: number;
}

// @public (undocumented)
export interface ServiceTypeHealthPolicyOutput {
    maxPercentUnhealthyServices?: number;
}

// @public (undocumented)
export interface SettingsParameterDescription {
    name: string;
    value: string;
}

// @public (undocumented)
export interface SettingsParameterDescriptionOutput {
    name: string;
    value: string;
}

// @public (undocumented)
export interface SettingsSectionDescription {
    name: string;
    parameters: Array<SettingsParameterDescription>;
}

// @public (undocumented)
export interface SettingsSectionDescriptionOutput {
    name: string;
    parameters: Array<SettingsParameterDescriptionOutput>;
}

// @public (undocumented)
export interface SingletonPartitionSchemeDescription extends PartitionSchemeDescriptionParent {
    // (undocumented)
    partitionScheme: "Singleton";
}

// @public (undocumented)
export interface SingletonPartitionSchemeDescriptionOutput extends PartitionSchemeDescriptionOutputParent {
    // (undocumented)
    partitionScheme: "Singleton";
}

// @public (undocumented)
export interface StatefulServiceProperties extends ServiceResourcePropertiesParent {
    hasPersistedState?: boolean;
    minReplicaSetSize?: number;
    quorumLossWaitDuration?: Date | string;
    replicaRestartWaitDuration?: Date | string;
    // (undocumented)
    serviceKind: "Stateful";
    standByReplicaKeepDuration?: Date | string;
    targetReplicaSetSize?: number;
}

// @public (undocumented)
export interface StatefulServicePropertiesOutput extends ServiceResourcePropertiesOutputParent {
    hasPersistedState?: boolean;
    minReplicaSetSize?: number;
    quorumLossWaitDuration?: string;
    replicaRestartWaitDuration?: string;
    // (undocumented)
    serviceKind: "Stateful";
    standByReplicaKeepDuration?: string;
    targetReplicaSetSize?: number;
}

// @public (undocumented)
export interface StatefulServiceUpdateProperties extends ServiceResourceUpdatePropertiesParent {
    minReplicaSetSize?: number;
    quorumLossWaitDuration?: Date | string;
    replicaRestartWaitDuration?: Date | string;
    // (undocumented)
    serviceKind: "Stateful";
    standByReplicaKeepDuration?: Date | string;
    targetReplicaSetSize?: number;
}

// @public (undocumented)
export interface StatefulServiceUpdatePropertiesOutput extends ServiceResourceUpdatePropertiesOutputParent {
    minReplicaSetSize?: number;
    quorumLossWaitDuration?: string;
    replicaRestartWaitDuration?: string;
    // (undocumented)
    serviceKind: "Stateful";
    standByReplicaKeepDuration?: string;
    targetReplicaSetSize?: number;
}

// @public (undocumented)
export interface StatelessServiceProperties extends ServiceResourcePropertiesParent {
    instanceCloseDelayDuration?: string;
    instanceCount?: number;
    // (undocumented)
    serviceKind: "Stateless";
}

// @public (undocumented)
export interface StatelessServicePropertiesOutput extends ServiceResourcePropertiesOutputParent {
    instanceCloseDelayDuration?: string;
    instanceCount?: number;
    // (undocumented)
    serviceKind: "Stateless";
}

// @public (undocumented)
export interface StatelessServiceUpdateProperties extends ServiceResourceUpdatePropertiesParent {
    instanceCloseDelayDuration?: string;
    instanceCount?: number;
    // (undocumented)
    serviceKind: "Stateless";
}

// @public (undocumented)
export interface StatelessServiceUpdatePropertiesOutput extends ServiceResourceUpdatePropertiesOutputParent {
    instanceCloseDelayDuration?: string;
    instanceCount?: number;
    // (undocumented)
    serviceKind: "Stateless";
}

// @public (undocumented)
export interface SystemData {
    createdAt?: Date | string;
    createdBy?: string;
    createdByType?: string;
    lastModifiedAt?: Date | string;
    lastModifiedBy?: string;
    lastModifiedByType?: string;
}

// @public (undocumented)
export interface SystemDataOutput {
    createdAt?: string;
    createdBy?: string;
    createdByType?: string;
    lastModifiedAt?: string;
    lastModifiedBy?: string;
    lastModifiedByType?: string;
}

// @public (undocumented)
export interface UniformInt64RangePartitionSchemeDescription extends PartitionSchemeDescriptionParent {
    count: number;
    highKey: string;
    lowKey: string;
    // (undocumented)
    partitionScheme: "UniformInt64Range";
}

// @public (undocumented)
export interface UniformInt64RangePartitionSchemeDescriptionOutput extends PartitionSchemeDescriptionOutputParent {
    count: number;
    highKey: string;
    lowKey: string;
    // (undocumented)
    partitionScheme: "UniformInt64Range";
}

// @public (undocumented)
export interface UpgradableVersionPathResultOutput {
    // (undocumented)
    supportedPath?: Array<string>;
}

// @public (undocumented)
export interface UpgradableVersionsDescription {
    targetVersion: string;
}

// @public (undocumented)
export interface UserAssignedIdentity {
    clientId?: string;
    principalId?: string;
}

// @public (undocumented)
export interface UserAssignedIdentityOutput {
    clientId?: string;
    principalId?: string;
}

// (No @packageDocumentation comment for this package)