## API Report File for "@azure/arm-sql"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts

import * as coreAuth from '@azure/core-auth';
import * as coreClient from '@azure/core-client';
import { OperationState } from '@azure/core-lro';
import { PagedAsyncIterableIterator } from '@azure/core-paging';
import { SimplePollerLike } from '@azure/core-lro';

// @public
export interface AdministratorListResult {
    readonly nextLink?: string;
    readonly value?: ServerAzureADAdministrator[];
}

// @public
export type AdministratorName = string;

// @public
export type AdministratorType = string;

// @public
export type AdvancedThreatProtectionName = string;

// @public
export type AdvancedThreatProtectionState = "New" | "Enabled" | "Disabled";

// @public
export interface Advisor extends ProxyResource {
    readonly advisorStatus?: AdvisorStatus;
    autoExecuteStatus?: AutoExecuteStatus;
    readonly autoExecuteStatusInheritedFrom?: AutoExecuteStatusInheritedFrom;
    readonly kind?: string;
    readonly lastChecked?: Date;
    readonly location?: string;
    readonly recommendationsStatus?: string;
    readonly recommendedActions?: RecommendedAction[];
}

// @public
export type AdvisorStatus = "GA" | "PublicPreview" | "LimitedPublicPreview" | "PrivatePreview";

// @public
export type AggregationFunctionType = string;

// @public
export type AlwaysEncryptedEnclaveType = string;

// @public
export type AuthenticationName = string;

// @public
export type AutoExecuteStatus = "Enabled" | "Disabled" | "Default";

// @public
export type AutoExecuteStatusInheritedFrom = "Default" | "Subscription" | "Server" | "ElasticPool" | "Database";

// @public
export type AutomaticTuningDisabledReason = "Default" | "Disabled" | "AutoConfigured" | "InheritedFromServer" | "QueryStoreOff" | "QueryStoreReadOnly" | "NotSupported";

// @public
export type AutomaticTuningMode = "Inherit" | "Custom" | "Auto" | "Unspecified";

// @public
export type AutomaticTuningOptionModeActual = "Off" | "On";

// @public
export type AutomaticTuningOptionModeDesired = "Off" | "On" | "Default";

// @public
export interface AutomaticTuningOptions {
    readonly actualState?: AutomaticTuningOptionModeActual;
    desiredState?: AutomaticTuningOptionModeDesired;
    readonly reasonCode?: number;
    readonly reasonDesc?: AutomaticTuningDisabledReason;
}

// @public
export type AutomaticTuningServerMode = "Custom" | "Auto" | "Unspecified";

// @public
export interface AutomaticTuningServerOptions {
    readonly actualState?: AutomaticTuningOptionModeActual;
    desiredState?: AutomaticTuningOptionModeDesired;
    readonly reasonCode?: number;
    readonly reasonDesc?: AutomaticTuningServerReason;
}

// @public
export type AutomaticTuningServerReason = "Default" | "Disabled" | "AutoConfigured";

// @public
export interface AutoPauseDelayTimeRange {
    readonly default?: number;
    readonly doNotPauseValue?: number;
    readonly maxValue?: number;
    readonly minValue?: number;
    readonly stepSize?: number;
    readonly unit?: PauseDelayTimeUnit;
}

// @public
export type AvailabilityZoneType = string;

// @public
export interface AzureADOnlyAuthListResult {
    readonly nextLink?: string;
    readonly value?: ServerAzureADOnlyAuthentication[];
}

// @public
export interface BackupShortTermRetentionPolicies {
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, policyName: ShortTermRetentionPolicyName, parameters: BackupShortTermRetentionPolicy, options?: BackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<BackupShortTermRetentionPoliciesCreateOrUpdateResponse>, BackupShortTermRetentionPoliciesCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, databaseName: string, policyName: ShortTermRetentionPolicyName, parameters: BackupShortTermRetentionPolicy, options?: BackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams): Promise<BackupShortTermRetentionPoliciesCreateOrUpdateResponse>;
    beginUpdate(resourceGroupName: string, serverName: string, databaseName: string, policyName: ShortTermRetentionPolicyName, parameters: BackupShortTermRetentionPolicy, options?: BackupShortTermRetentionPoliciesUpdateOptionalParams): Promise<SimplePollerLike<OperationState<BackupShortTermRetentionPoliciesUpdateResponse>, BackupShortTermRetentionPoliciesUpdateResponse>>;
    beginUpdateAndWait(resourceGroupName: string, serverName: string, databaseName: string, policyName: ShortTermRetentionPolicyName, parameters: BackupShortTermRetentionPolicy, options?: BackupShortTermRetentionPoliciesUpdateOptionalParams): Promise<BackupShortTermRetentionPoliciesUpdateResponse>;
    get(resourceGroupName: string, serverName: string, databaseName: string, policyName: ShortTermRetentionPolicyName, options?: BackupShortTermRetentionPoliciesGetOptionalParams): Promise<BackupShortTermRetentionPoliciesGetResponse>;
    listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: BackupShortTermRetentionPoliciesListByDatabaseOptionalParams): PagedAsyncIterableIterator<BackupShortTermRetentionPolicy>;
}

// @public
export interface BackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type BackupShortTermRetentionPoliciesCreateOrUpdateResponse = BackupShortTermRetentionPolicy;

// @public
export interface BackupShortTermRetentionPoliciesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type BackupShortTermRetentionPoliciesGetResponse = BackupShortTermRetentionPolicy;

// @public
export interface BackupShortTermRetentionPoliciesListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type BackupShortTermRetentionPoliciesListByDatabaseNextResponse = BackupShortTermRetentionPolicyListResult;

// @public
export interface BackupShortTermRetentionPoliciesListByDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type BackupShortTermRetentionPoliciesListByDatabaseResponse = BackupShortTermRetentionPolicyListResult;

// @public
export interface BackupShortTermRetentionPoliciesUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type BackupShortTermRetentionPoliciesUpdateResponse = BackupShortTermRetentionPolicy;

// @public
export interface BackupShortTermRetentionPolicy extends ProxyResource {
    diffBackupIntervalInHours?: DiffBackupIntervalInHours;
    retentionDays?: number;
}

// @public
export interface BackupShortTermRetentionPolicyListResult {
    readonly nextLink?: string;
    readonly value?: BackupShortTermRetentionPolicy[];
}

// @public
export type BackupStorageRedundancy = string;

// @public
export interface Baseline {
    readonly expectedResults?: string[][];
    readonly updatedTime?: Date;
}

// @public
export interface BaselineAdjustedResult {
    readonly baseline?: Baseline;
    readonly resultsNotInBaseline?: string[][];
    readonly resultsOnlyInBaseline?: string[][];
    readonly status?: RuleStatus;
}

// @public
export type BaselineName = string;

// @public
export interface BenchmarkReference {
    readonly benchmark?: string;
    readonly reference?: string;
}

// @public
export type BlobAuditingPolicyState = "Enabled" | "Disabled";

// @public
export interface Capabilities {
    listByLocation(locationName: string, options?: CapabilitiesListByLocationOptionalParams): Promise<CapabilitiesListByLocationResponse>;
}

// @public
export interface CapabilitiesListByLocationOptionalParams extends coreClient.OperationOptions {
    include?: CapabilityGroup;
}

// @public
export type CapabilitiesListByLocationResponse = LocationCapabilities;

// @public
export type CapabilityGroup = string;

// @public
export type CapabilityStatus = "Visible" | "Available" | "Default" | "Disabled";

// @public
export type CatalogCollationType = string;

// @public
export type CheckNameAvailabilityReason = "Invalid" | "AlreadyExists";

// @public
export interface CheckNameAvailabilityRequest {
    // (undocumented)
    name: string;
    // (undocumented)
    type: "Microsoft.Sql/servers";
}

// @public
export interface CheckNameAvailabilityResponse {
    readonly available?: boolean;
    readonly message?: string;
    readonly name?: string;
    readonly reason?: CheckNameAvailabilityReason;
}

// @public
export type ColumnDataType = string;

// @public
export interface CompleteDatabaseRestoreDefinition {
    lastBackupName: string;
}

// @public
export type ConnectionPolicyName = string;

// @public
export interface CopyLongTermRetentionBackupParameters {
    targetBackupStorageRedundancy?: BackupStorageRedundancy;
    targetDatabaseName?: string;
    targetResourceGroup?: string;
    targetServerFullyQualifiedDomainName?: string;
    targetServerResourceId?: string;
    targetSubscriptionId?: string;
}

// @public
export interface CreateDatabaseRestorePointDefinition {
    restorePointLabel: string;
}

// @public
export type CreatedByType = string;

// @public
export type CreateMode = string;

// @public
export interface Database extends TrackedResource {
    autoPauseDelay?: number;
    availabilityZone?: AvailabilityZoneType;
    catalogCollation?: CatalogCollationType;
    collation?: string;
    createMode?: CreateMode;
    readonly creationDate?: Date;
    readonly currentBackupStorageRedundancy?: BackupStorageRedundancy;
    readonly currentServiceObjectiveName?: string;
    readonly currentSku?: Sku;
    readonly databaseId?: string;
    readonly defaultSecondaryLocation?: string;
    readonly earliestRestoreDate?: Date;
    elasticPoolId?: string;
    encryptionProtector?: string;
    readonly failoverGroupId?: string;
    federatedClientId?: string;
    highAvailabilityReplicaCount?: number;
    identity?: DatabaseIdentity;
    readonly isInfraEncryptionEnabled?: boolean;
    isLedgerOn?: boolean;
    keys?: {
        [propertyName: string]: DatabaseKey;
    };
    readonly kind?: string;
    licenseType?: DatabaseLicenseType;
    longTermRetentionBackupResourceId?: string;
    maintenanceConfigurationId?: string;
    readonly managedBy?: string;
    manualCutover?: boolean;
    readonly maxLogSizeBytes?: number;
    maxSizeBytes?: number;
    minCapacity?: number;
    readonly pausedDate?: Date;
    performCutover?: boolean;
    preferredEnclaveType?: AlwaysEncryptedEnclaveType;
    readScale?: DatabaseReadScale;
    recoverableDatabaseId?: string;
    recoveryServicesRecoveryPointId?: string;
    requestedBackupStorageRedundancy?: BackupStorageRedundancy;
    readonly requestedServiceObjectiveName?: string;
    restorableDroppedDatabaseId?: string;
    restorePointInTime?: Date;
    readonly resumedDate?: Date;
    sampleName?: SampleName;
    secondaryType?: SecondaryType;
    sku?: Sku;
    sourceDatabaseDeletionDate?: Date;
    sourceDatabaseId?: string;
    sourceResourceId?: string;
    readonly status?: DatabaseStatus;
    zoneRedundant?: boolean;
}

// @public
export interface DatabaseAdvancedThreatProtection extends ProxyResource {
    readonly creationTime?: Date;
    state?: AdvancedThreatProtectionState;
    readonly systemData?: SystemData;
}

// @public
export interface DatabaseAdvancedThreatProtectionListResult {
    readonly nextLink?: string;
    readonly value?: DatabaseAdvancedThreatProtection[];
}

// @public
export interface DatabaseAdvancedThreatProtectionSettings {
    createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, advancedThreatProtectionName: AdvancedThreatProtectionName, parameters: DatabaseAdvancedThreatProtection, options?: DatabaseAdvancedThreatProtectionSettingsCreateOrUpdateOptionalParams): Promise<DatabaseAdvancedThreatProtectionSettingsCreateOrUpdateResponse>;
    get(resourceGroupName: string, serverName: string, databaseName: string, advancedThreatProtectionName: AdvancedThreatProtectionName, options?: DatabaseAdvancedThreatProtectionSettingsGetOptionalParams): Promise<DatabaseAdvancedThreatProtectionSettingsGetResponse>;
    listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabaseAdvancedThreatProtectionSettingsListByDatabaseOptionalParams): PagedAsyncIterableIterator<DatabaseAdvancedThreatProtection>;
}

// @public
export interface DatabaseAdvancedThreatProtectionSettingsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseAdvancedThreatProtectionSettingsCreateOrUpdateResponse = DatabaseAdvancedThreatProtection;

// @public
export interface DatabaseAdvancedThreatProtectionSettingsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseAdvancedThreatProtectionSettingsGetResponse = DatabaseAdvancedThreatProtection;

// @public
export interface DatabaseAdvancedThreatProtectionSettingsListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseAdvancedThreatProtectionSettingsListByDatabaseNextResponse = DatabaseAdvancedThreatProtectionListResult;

// @public
export interface DatabaseAdvancedThreatProtectionSettingsListByDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseAdvancedThreatProtectionSettingsListByDatabaseResponse = DatabaseAdvancedThreatProtectionListResult;

// @public
export interface DatabaseAdvisors {
    get(resourceGroupName: string, serverName: string, databaseName: string, advisorName: string, options?: DatabaseAdvisorsGetOptionalParams): Promise<DatabaseAdvisorsGetResponse>;
    listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabaseAdvisorsListByDatabaseOptionalParams): Promise<DatabaseAdvisorsListByDatabaseResponse>;
    update(resourceGroupName: string, serverName: string, databaseName: string, advisorName: string, parameters: Advisor, options?: DatabaseAdvisorsUpdateOptionalParams): Promise<DatabaseAdvisorsUpdateResponse>;
}

// @public
export interface DatabaseAdvisorsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseAdvisorsGetResponse = Advisor;

// @public
export interface DatabaseAdvisorsListByDatabaseOptionalParams extends coreClient.OperationOptions {
    expand?: string;
}

// @public
export type DatabaseAdvisorsListByDatabaseResponse = Advisor[];

// @public
export interface DatabaseAdvisorsUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseAdvisorsUpdateResponse = Advisor;

// @public
export interface DatabaseAutomaticTuning extends ProxyResource {
    readonly actualState?: AutomaticTuningMode;
    desiredState?: AutomaticTuningMode;
    options?: {
        [propertyName: string]: AutomaticTuningOptions;
    };
}

// @public
export interface DatabaseAutomaticTuningGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseAutomaticTuningGetResponse = DatabaseAutomaticTuning;

// @public
export interface DatabaseAutomaticTuningOperations {
    get(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabaseAutomaticTuningGetOptionalParams): Promise<DatabaseAutomaticTuningGetResponse>;
    update(resourceGroupName: string, serverName: string, databaseName: string, parameters: DatabaseAutomaticTuning, options?: DatabaseAutomaticTuningUpdateOptionalParams): Promise<DatabaseAutomaticTuningUpdateResponse>;
}

// @public
export interface DatabaseAutomaticTuningUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseAutomaticTuningUpdateResponse = DatabaseAutomaticTuning;

// @public
export interface DatabaseBlobAuditingPolicies {
    createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: DatabaseBlobAuditingPolicy, options?: DatabaseBlobAuditingPoliciesCreateOrUpdateOptionalParams): Promise<DatabaseBlobAuditingPoliciesCreateOrUpdateResponse>;
    get(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabaseBlobAuditingPoliciesGetOptionalParams): Promise<DatabaseBlobAuditingPoliciesGetResponse>;
    listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabaseBlobAuditingPoliciesListByDatabaseOptionalParams): PagedAsyncIterableIterator<DatabaseBlobAuditingPolicy>;
}

// @public
export interface DatabaseBlobAuditingPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseBlobAuditingPoliciesCreateOrUpdateResponse = DatabaseBlobAuditingPolicy;

// @public
export interface DatabaseBlobAuditingPoliciesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseBlobAuditingPoliciesGetResponse = DatabaseBlobAuditingPolicy;

// @public
export interface DatabaseBlobAuditingPoliciesListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseBlobAuditingPoliciesListByDatabaseNextResponse = DatabaseBlobAuditingPolicyListResult;

// @public
export interface DatabaseBlobAuditingPoliciesListByDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseBlobAuditingPoliciesListByDatabaseResponse = DatabaseBlobAuditingPolicyListResult;

// @public
export interface DatabaseBlobAuditingPolicy extends ProxyResource {
    auditActionsAndGroups?: string[];
    isAzureMonitorTargetEnabled?: boolean;
    isManagedIdentityInUse?: boolean;
    isStorageSecondaryKeyInUse?: boolean;
    readonly kind?: string;
    queueDelayMs?: number;
    retentionDays?: number;
    state?: BlobAuditingPolicyState;
    storageAccountAccessKey?: string;
    storageAccountSubscriptionId?: string;
    storageEndpoint?: string;
}

// @public
export interface DatabaseBlobAuditingPolicyListResult {
    readonly nextLink?: string;
    readonly value?: DatabaseBlobAuditingPolicy[];
}

// @public
export interface DatabaseColumn extends ProxyResource {
    columnType?: ColumnDataType;
    isComputed?: boolean;
    memoryOptimized?: boolean;
    temporalType?: TableTemporalType;
}

// @public
export interface DatabaseColumnListResult {
    readonly nextLink?: string;
    readonly value?: DatabaseColumn[];
}

// @public
export interface DatabaseColumns {
    get(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options?: DatabaseColumnsGetOptionalParams): Promise<DatabaseColumnsGetResponse>;
    listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabaseColumnsListByDatabaseOptionalParams): PagedAsyncIterableIterator<DatabaseColumn>;
    listByTable(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, options?: DatabaseColumnsListByTableOptionalParams): PagedAsyncIterableIterator<DatabaseColumn>;
}

// @public
export interface DatabaseColumnsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseColumnsGetResponse = DatabaseColumn;

// @public
export interface DatabaseColumnsListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseColumnsListByDatabaseNextResponse = DatabaseColumnListResult;

// @public
export interface DatabaseColumnsListByDatabaseOptionalParams extends coreClient.OperationOptions {
    column?: string[];
    orderBy?: string[];
    schema?: string[];
    skiptoken?: string;
    table?: string[];
}

// @public
export type DatabaseColumnsListByDatabaseResponse = DatabaseColumnListResult;

// @public
export interface DatabaseColumnsListByTableNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseColumnsListByTableNextResponse = DatabaseColumnListResult;

// @public
export interface DatabaseColumnsListByTableOptionalParams extends coreClient.OperationOptions {
    filter?: string;
}

// @public
export type DatabaseColumnsListByTableResponse = DatabaseColumnListResult;

// @public
export interface DatabaseEncryptionProtectors {
    beginRevalidate(resourceGroupName: string, serverName: string, databaseName: string, encryptionProtectorName: EncryptionProtectorName, options?: DatabaseEncryptionProtectorsRevalidateOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginRevalidateAndWait(resourceGroupName: string, serverName: string, databaseName: string, encryptionProtectorName: EncryptionProtectorName, options?: DatabaseEncryptionProtectorsRevalidateOptionalParams): Promise<void>;
    beginRevert(resourceGroupName: string, serverName: string, databaseName: string, encryptionProtectorName: EncryptionProtectorName, options?: DatabaseEncryptionProtectorsRevertOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginRevertAndWait(resourceGroupName: string, serverName: string, databaseName: string, encryptionProtectorName: EncryptionProtectorName, options?: DatabaseEncryptionProtectorsRevertOptionalParams): Promise<void>;
}

// @public
export interface DatabaseEncryptionProtectorsRevalidateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface DatabaseEncryptionProtectorsRevertOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface DatabaseExtensions extends ProxyResource {
    operationMode?: OperationMode;
    storageKey?: string;
    storageKeyType?: StorageKeyType;
    storageUri?: string;
}

// @public
export interface DatabaseExtensionsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type DatabaseExtensionsCreateOrUpdateResponse = ImportExportExtensionsOperationResult;

// @public
export interface DatabaseExtensionsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface DatabaseExtensionsListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseExtensionsListByDatabaseNextResponse = ImportExportExtensionsOperationListResult;

// @public
export interface DatabaseExtensionsListByDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseExtensionsListByDatabaseResponse = ImportExportExtensionsOperationListResult;

// @public
export interface DatabaseExtensionsOperations {
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, extensionName: string, parameters: DatabaseExtensions, options?: DatabaseExtensionsCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<DatabaseExtensionsCreateOrUpdateResponse>, DatabaseExtensionsCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, databaseName: string, extensionName: string, parameters: DatabaseExtensions, options?: DatabaseExtensionsCreateOrUpdateOptionalParams): Promise<DatabaseExtensionsCreateOrUpdateResponse>;
    get(resourceGroupName: string, serverName: string, databaseName: string, extensionName: string, options?: DatabaseExtensionsGetOptionalParams): Promise<void>;
    listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabaseExtensionsListByDatabaseOptionalParams): PagedAsyncIterableIterator<ImportExportExtensionsOperationResult>;
}

// @public
export interface DatabaseIdentity {
    readonly tenantId?: string;
    type?: DatabaseIdentityType;
    userAssignedIdentities?: {
        [propertyName: string]: DatabaseUserIdentity;
    };
}

// @public
export type DatabaseIdentityType = string;

// @public
export interface DatabaseKey {
    readonly creationDate?: Date;
    readonly subregion?: string;
    readonly thumbprint?: string;
    readonly type?: DatabaseKeyType;
}

// @public
export type DatabaseKeyType = string;

// @public
export type DatabaseLicenseType = string;

// @public
export interface DatabaseListResult {
    readonly nextLink?: string;
    readonly value?: Database[];
}

// @public
export interface DatabaseOperation extends ProxyResource {
    readonly databaseName?: string;
    readonly description?: string;
    readonly errorCode?: number;
    readonly errorDescription?: string;
    readonly errorSeverity?: number;
    readonly estimatedCompletionTime?: Date;
    readonly isCancellable?: boolean;
    readonly isUserError?: boolean;
    readonly operation?: string;
    readonly operationFriendlyName?: string;
    readonly percentComplete?: number;
    readonly serverName?: string;
    readonly startTime?: Date;
    readonly state?: ManagementOperationState;
}

// @public
export interface DatabaseOperationListResult {
    readonly nextLink?: string;
    readonly value?: DatabaseOperation[];
}

// @public
export interface DatabaseOperations {
    cancel(resourceGroupName: string, serverName: string, databaseName: string, operationId: string, options?: DatabaseOperationsCancelOptionalParams): Promise<void>;
    listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabaseOperationsListByDatabaseOptionalParams): PagedAsyncIterableIterator<DatabaseOperation>;
}

// @public
export interface DatabaseOperationsCancelOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface DatabaseOperationsListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseOperationsListByDatabaseNextResponse = DatabaseOperationListResult;

// @public
export interface DatabaseOperationsListByDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseOperationsListByDatabaseResponse = DatabaseOperationListResult;

// @public
export type DatabaseReadScale = string;

// @public
export interface DatabaseRecommendedActions {
    get(resourceGroupName: string, serverName: string, databaseName: string, advisorName: string, recommendedActionName: string, options?: DatabaseRecommendedActionsGetOptionalParams): Promise<DatabaseRecommendedActionsGetResponse>;
    listByDatabaseAdvisor(resourceGroupName: string, serverName: string, databaseName: string, advisorName: string, options?: DatabaseRecommendedActionsListByDatabaseAdvisorOptionalParams): Promise<DatabaseRecommendedActionsListByDatabaseAdvisorResponse>;
    update(resourceGroupName: string, serverName: string, databaseName: string, advisorName: string, recommendedActionName: string, parameters: RecommendedAction, options?: DatabaseRecommendedActionsUpdateOptionalParams): Promise<DatabaseRecommendedActionsUpdateResponse>;
}

// @public
export interface DatabaseRecommendedActionsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseRecommendedActionsGetResponse = RecommendedAction;

// @public
export interface DatabaseRecommendedActionsListByDatabaseAdvisorOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseRecommendedActionsListByDatabaseAdvisorResponse = RecommendedAction[];

// @public
export interface DatabaseRecommendedActionsUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseRecommendedActionsUpdateResponse = RecommendedAction;

// @public
export interface Databases {
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: Database, options?: DatabasesCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<DatabasesCreateOrUpdateResponse>, DatabasesCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, databaseName: string, parameters: Database, options?: DatabasesCreateOrUpdateOptionalParams): Promise<DatabasesCreateOrUpdateResponse>;
    beginDelete(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabasesDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabasesDeleteOptionalParams): Promise<void>;
    beginExport(resourceGroupName: string, serverName: string, databaseName: string, parameters: ExportDatabaseDefinition, options?: DatabasesExportOptionalParams): Promise<SimplePollerLike<OperationState<DatabasesExportResponse>, DatabasesExportResponse>>;
    beginExportAndWait(resourceGroupName: string, serverName: string, databaseName: string, parameters: ExportDatabaseDefinition, options?: DatabasesExportOptionalParams): Promise<DatabasesExportResponse>;
    beginFailover(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabasesFailoverOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginFailoverAndWait(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabasesFailoverOptionalParams): Promise<void>;
    beginImport(resourceGroupName: string, serverName: string, databaseName: string, parameters: ImportExistingDatabaseDefinition, options?: DatabasesImportOptionalParams): Promise<SimplePollerLike<OperationState<DatabasesImportResponse>, DatabasesImportResponse>>;
    beginImportAndWait(resourceGroupName: string, serverName: string, databaseName: string, parameters: ImportExistingDatabaseDefinition, options?: DatabasesImportOptionalParams): Promise<DatabasesImportResponse>;
    beginPause(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabasesPauseOptionalParams): Promise<SimplePollerLike<OperationState<DatabasesPauseResponse>, DatabasesPauseResponse>>;
    beginPauseAndWait(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabasesPauseOptionalParams): Promise<DatabasesPauseResponse>;
    beginResume(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabasesResumeOptionalParams): Promise<SimplePollerLike<OperationState<DatabasesResumeResponse>, DatabasesResumeResponse>>;
    beginResumeAndWait(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabasesResumeOptionalParams): Promise<DatabasesResumeResponse>;
    beginUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: DatabaseUpdate, options?: DatabasesUpdateOptionalParams): Promise<SimplePollerLike<OperationState<DatabasesUpdateResponse>, DatabasesUpdateResponse>>;
    beginUpdateAndWait(resourceGroupName: string, serverName: string, databaseName: string, parameters: DatabaseUpdate, options?: DatabasesUpdateOptionalParams): Promise<DatabasesUpdateResponse>;
    beginUpgradeDataWarehouse(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabasesUpgradeDataWarehouseOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginUpgradeDataWarehouseAndWait(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabasesUpgradeDataWarehouseOptionalParams): Promise<void>;
    get(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabasesGetOptionalParams): Promise<DatabasesGetResponse>;
    listByElasticPool(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: DatabasesListByElasticPoolOptionalParams): PagedAsyncIterableIterator<Database>;
    listByServer(resourceGroupName: string, serverName: string, options?: DatabasesListByServerOptionalParams): PagedAsyncIterableIterator<Database>;
    listInaccessibleByServer(resourceGroupName: string, serverName: string, options?: DatabasesListInaccessibleByServerOptionalParams): PagedAsyncIterableIterator<Database>;
    listMetricDefinitions(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabasesListMetricDefinitionsOptionalParams): PagedAsyncIterableIterator<MetricDefinition>;
    listMetrics(resourceGroupName: string, serverName: string, databaseName: string, filter: string, options?: DatabasesListMetricsOptionalParams): PagedAsyncIterableIterator<Metric>;
    rename(resourceGroupName: string, serverName: string, databaseName: string, parameters: ResourceMoveDefinition, options?: DatabasesRenameOptionalParams): Promise<void>;
}

// @public
export interface DatabaseSchema extends ProxyResource {
}

// @public
export interface DatabaseSchemaListResult {
    readonly nextLink?: string;
    readonly value?: DatabaseSchema[];
}

// @public
export interface DatabaseSchemas {
    get(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, options?: DatabaseSchemasGetOptionalParams): Promise<DatabaseSchemasGetResponse>;
    listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabaseSchemasListByDatabaseOptionalParams): PagedAsyncIterableIterator<DatabaseSchema>;
}

// @public
export interface DatabaseSchemasGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseSchemasGetResponse = DatabaseSchema;

// @public
export interface DatabaseSchemasListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseSchemasListByDatabaseNextResponse = DatabaseSchemaListResult;

// @public
export interface DatabaseSchemasListByDatabaseOptionalParams extends coreClient.OperationOptions {
    filter?: string;
}

// @public
export type DatabaseSchemasListByDatabaseResponse = DatabaseSchemaListResult;

// @public
export interface DatabasesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type DatabasesCreateOrUpdateResponse = Database;

// @public
export interface DatabasesDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface DatabaseSecurityAlertListResult {
    readonly nextLink?: string;
    readonly value?: DatabaseSecurityAlertPolicy[];
}

// @public
export interface DatabaseSecurityAlertPolicies {
    createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, securityAlertPolicyName: SecurityAlertPolicyName, parameters: DatabaseSecurityAlertPolicy, options?: DatabaseSecurityAlertPoliciesCreateOrUpdateOptionalParams): Promise<DatabaseSecurityAlertPoliciesCreateOrUpdateResponse>;
    get(resourceGroupName: string, serverName: string, databaseName: string, securityAlertPolicyName: SecurityAlertPolicyName, options?: DatabaseSecurityAlertPoliciesGetOptionalParams): Promise<DatabaseSecurityAlertPoliciesGetResponse>;
    listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabaseSecurityAlertPoliciesListByDatabaseOptionalParams): PagedAsyncIterableIterator<DatabaseSecurityAlertPolicy>;
}

// @public
export interface DatabaseSecurityAlertPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseSecurityAlertPoliciesCreateOrUpdateResponse = DatabaseSecurityAlertPolicy;

// @public
export interface DatabaseSecurityAlertPoliciesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseSecurityAlertPoliciesGetResponse = DatabaseSecurityAlertPolicy;

// @public
export interface DatabaseSecurityAlertPoliciesListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseSecurityAlertPoliciesListByDatabaseNextResponse = DatabaseSecurityAlertListResult;

// @public
export interface DatabaseSecurityAlertPoliciesListByDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseSecurityAlertPoliciesListByDatabaseResponse = DatabaseSecurityAlertListResult;

// @public
export interface DatabaseSecurityAlertPolicy extends ProxyResource {
    readonly creationTime?: Date;
    disabledAlerts?: string[];
    emailAccountAdmins?: boolean;
    emailAddresses?: string[];
    retentionDays?: number;
    state?: SecurityAlertsPolicyState;
    storageAccountAccessKey?: string;
    storageEndpoint?: string;
    readonly systemData?: SystemData;
}

// @public
export interface DatabasesExportOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type DatabasesExportResponse = ImportExportOperationResult;

// @public
export interface DatabasesFailoverOptionalParams extends coreClient.OperationOptions {
    replicaType?: ReplicaType;
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface DatabasesGetOptionalParams extends coreClient.OperationOptions {
    expand?: string;
    filter?: string;
}

// @public
export type DatabasesGetResponse = Database;

// @public
export interface DatabasesImportOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type DatabasesImportResponse = ImportExportOperationResult;

// @public
export interface DatabasesListByElasticPoolNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabasesListByElasticPoolNextResponse = DatabaseListResult;

// @public
export interface DatabasesListByElasticPoolOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabasesListByElasticPoolResponse = DatabaseListResult;

// @public
export interface DatabasesListByServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabasesListByServerNextResponse = DatabaseListResult;

// @public
export interface DatabasesListByServerOptionalParams extends coreClient.OperationOptions {
    // (undocumented)
    skipToken?: string;
}

// @public
export type DatabasesListByServerResponse = DatabaseListResult;

// @public
export interface DatabasesListInaccessibleByServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabasesListInaccessibleByServerNextResponse = DatabaseListResult;

// @public
export interface DatabasesListInaccessibleByServerOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabasesListInaccessibleByServerResponse = DatabaseListResult;

// @public
export interface DatabasesListMetricDefinitionsOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabasesListMetricDefinitionsResponse = MetricDefinitionListResult;

// @public
export interface DatabasesListMetricsOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabasesListMetricsResponse = MetricListResult;

// @public
export interface DatabasesPauseOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type DatabasesPauseResponse = Database;

// @public
export interface DatabaseSqlVulnerabilityAssessmentBaselines {
    createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, baselineName: BaselineName, parameters: DatabaseSqlVulnerabilityAssessmentRuleBaselineListInput, options?: DatabaseSqlVulnerabilityAssessmentBaselinesCreateOrUpdateOptionalParams): Promise<DatabaseSqlVulnerabilityAssessmentBaselinesCreateOrUpdateResponse>;
    get(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, baselineName: BaselineName, options?: DatabaseSqlVulnerabilityAssessmentBaselinesGetOptionalParams): Promise<DatabaseSqlVulnerabilityAssessmentBaselinesGetResponse>;
    listBySqlVulnerabilityAssessment(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, options?: DatabaseSqlVulnerabilityAssessmentBaselinesListBySqlVulnerabilityAssessmentOptionalParams): PagedAsyncIterableIterator<DatabaseSqlVulnerabilityAssessmentBaselineSet>;
}

// @public
export interface DatabaseSqlVulnerabilityAssessmentBaselinesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseSqlVulnerabilityAssessmentBaselinesCreateOrUpdateResponse = DatabaseSqlVulnerabilityAssessmentBaselineSet;

// @public
export interface DatabaseSqlVulnerabilityAssessmentBaselineSet extends ProxyResource {
    results?: {
        [propertyName: string]: string[][];
    };
    readonly systemData?: SystemData;
}

// @public
export interface DatabaseSqlVulnerabilityAssessmentBaselineSetListResult {
    readonly nextLink?: string;
    readonly value?: DatabaseSqlVulnerabilityAssessmentBaselineSet[];
}

// @public
export interface DatabaseSqlVulnerabilityAssessmentBaselinesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseSqlVulnerabilityAssessmentBaselinesGetResponse = DatabaseSqlVulnerabilityAssessmentBaselineSet;

// @public
export interface DatabaseSqlVulnerabilityAssessmentBaselinesListBySqlVulnerabilityAssessmentNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseSqlVulnerabilityAssessmentBaselinesListBySqlVulnerabilityAssessmentNextResponse = DatabaseSqlVulnerabilityAssessmentBaselineSetListResult;

// @public
export interface DatabaseSqlVulnerabilityAssessmentBaselinesListBySqlVulnerabilityAssessmentOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseSqlVulnerabilityAssessmentBaselinesListBySqlVulnerabilityAssessmentResponse = DatabaseSqlVulnerabilityAssessmentBaselineSetListResult;

// @public
export interface DatabaseSqlVulnerabilityAssessmentExecuteScan {
    beginExecute(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, options?: DatabaseSqlVulnerabilityAssessmentExecuteScanExecuteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginExecuteAndWait(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, options?: DatabaseSqlVulnerabilityAssessmentExecuteScanExecuteOptionalParams): Promise<void>;
}

// @public
export interface DatabaseSqlVulnerabilityAssessmentExecuteScanExecuteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface DatabaseSqlVulnerabilityAssessmentRuleBaseline extends ProxyResource {
    results?: string[][];
    readonly systemData?: SystemData;
}

// @public
export interface DatabaseSqlVulnerabilityAssessmentRuleBaselineInput extends ProxyResource {
    latestScan?: boolean;
    results?: string[][];
    readonly systemData?: SystemData;
}

// @public
export interface DatabaseSqlVulnerabilityAssessmentRuleBaselineListInput extends ProxyResource {
    latestScan?: boolean;
    results?: {
        [propertyName: string]: string[][];
    };
    readonly systemData?: SystemData;
}

// @public
export interface DatabaseSqlVulnerabilityAssessmentRuleBaselineListResult {
    readonly nextLink?: string;
    readonly value?: DatabaseSqlVulnerabilityAssessmentRuleBaseline[];
}

// @public
export interface DatabaseSqlVulnerabilityAssessmentRuleBaselines {
    createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, baselineName: BaselineName, ruleId: string, parameters: DatabaseSqlVulnerabilityAssessmentRuleBaselineInput, options?: DatabaseSqlVulnerabilityAssessmentRuleBaselinesCreateOrUpdateOptionalParams): Promise<DatabaseSqlVulnerabilityAssessmentRuleBaselinesCreateOrUpdateResponse>;
    delete(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, baselineName: BaselineName, ruleId: string, options?: DatabaseSqlVulnerabilityAssessmentRuleBaselinesDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, baselineName: BaselineName, ruleId: string, options?: DatabaseSqlVulnerabilityAssessmentRuleBaselinesGetOptionalParams): Promise<DatabaseSqlVulnerabilityAssessmentRuleBaselinesGetResponse>;
    listByBaseline(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, baselineName: BaselineName, options?: DatabaseSqlVulnerabilityAssessmentRuleBaselinesListByBaselineOptionalParams): PagedAsyncIterableIterator<DatabaseSqlVulnerabilityAssessmentRuleBaseline>;
}

// @public
export interface DatabaseSqlVulnerabilityAssessmentRuleBaselinesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseSqlVulnerabilityAssessmentRuleBaselinesCreateOrUpdateResponse = DatabaseSqlVulnerabilityAssessmentRuleBaseline;

// @public
export interface DatabaseSqlVulnerabilityAssessmentRuleBaselinesDeleteOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface DatabaseSqlVulnerabilityAssessmentRuleBaselinesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseSqlVulnerabilityAssessmentRuleBaselinesGetResponse = DatabaseSqlVulnerabilityAssessmentRuleBaseline;

// @public
export interface DatabaseSqlVulnerabilityAssessmentRuleBaselinesListByBaselineNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseSqlVulnerabilityAssessmentRuleBaselinesListByBaselineNextResponse = DatabaseSqlVulnerabilityAssessmentRuleBaselineListResult;

// @public
export interface DatabaseSqlVulnerabilityAssessmentRuleBaselinesListByBaselineOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseSqlVulnerabilityAssessmentRuleBaselinesListByBaselineResponse = DatabaseSqlVulnerabilityAssessmentRuleBaselineListResult;

// @public
export interface DatabaseSqlVulnerabilityAssessmentScanResult {
    get(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: SQLVulnerabilityAssessmentName, scanId: string, scanResultId: string, options?: DatabaseSqlVulnerabilityAssessmentScanResultGetOptionalParams): Promise<DatabaseSqlVulnerabilityAssessmentScanResultGetResponse>;
    listByScan(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: SQLVulnerabilityAssessmentName, scanId: string, options?: DatabaseSqlVulnerabilityAssessmentScanResultListByScanOptionalParams): PagedAsyncIterableIterator<SqlVulnerabilityAssessmentScanResults>;
}

// @public
export interface DatabaseSqlVulnerabilityAssessmentScanResultGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseSqlVulnerabilityAssessmentScanResultGetResponse = SqlVulnerabilityAssessmentScanResults;

// @public
export interface DatabaseSqlVulnerabilityAssessmentScanResultListByScanNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseSqlVulnerabilityAssessmentScanResultListByScanNextResponse = SQLVulnerabilityAssessmentScanListResult;

// @public
export interface DatabaseSqlVulnerabilityAssessmentScanResultListByScanOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseSqlVulnerabilityAssessmentScanResultListByScanResponse = SQLVulnerabilityAssessmentScanListResult;

// @public
export interface DatabaseSqlVulnerabilityAssessmentScans {
    get(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, scanId: string, options?: DatabaseSqlVulnerabilityAssessmentScansGetOptionalParams): Promise<DatabaseSqlVulnerabilityAssessmentScansGetResponse>;
    listBySqlVulnerabilityAssessments(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, options?: DatabaseSqlVulnerabilityAssessmentScansListBySqlVulnerabilityAssessmentsOptionalParams): PagedAsyncIterableIterator<SqlVulnerabilityAssessmentScanRecord>;
}

// @public
export interface DatabaseSqlVulnerabilityAssessmentScansGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseSqlVulnerabilityAssessmentScansGetResponse = SqlVulnerabilityAssessmentScanRecord;

// @public
export interface DatabaseSqlVulnerabilityAssessmentScansListBySqlVulnerabilityAssessmentsNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseSqlVulnerabilityAssessmentScansListBySqlVulnerabilityAssessmentsNextResponse = SqlVulnerabilityAssessmentScanRecordListResult;

// @public
export interface DatabaseSqlVulnerabilityAssessmentScansListBySqlVulnerabilityAssessmentsOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseSqlVulnerabilityAssessmentScansListBySqlVulnerabilityAssessmentsResponse = SqlVulnerabilityAssessmentScanRecordListResult;

// @public
export interface DatabaseSqlVulnerabilityAssessmentsSettings {
    get(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: SqlVulnerabilityAssessmentName, options?: DatabaseSqlVulnerabilityAssessmentsSettingsGetOptionalParams): Promise<DatabaseSqlVulnerabilityAssessmentsSettingsGetResponse>;
    listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabaseSqlVulnerabilityAssessmentsSettingsListByDatabaseOptionalParams): PagedAsyncIterableIterator<SqlVulnerabilityAssessment>;
}

// @public
export interface DatabaseSqlVulnerabilityAssessmentsSettingsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseSqlVulnerabilityAssessmentsSettingsGetResponse = SqlVulnerabilityAssessment;

// @public
export interface DatabaseSqlVulnerabilityAssessmentsSettingsListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseSqlVulnerabilityAssessmentsSettingsListByDatabaseNextResponse = SqlVulnerabilityAssessmentListResult;

// @public
export interface DatabaseSqlVulnerabilityAssessmentsSettingsListByDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseSqlVulnerabilityAssessmentsSettingsListByDatabaseResponse = SqlVulnerabilityAssessmentListResult;

// @public
export interface DatabasesRenameOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface DatabasesResumeOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type DatabasesResumeResponse = Database;

// @public
export type DatabaseState = string;

// @public
export type DatabaseStatus = string;

// @public
export interface DatabasesUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type DatabasesUpdateResponse = Database;

// @public
export interface DatabasesUpgradeDataWarehouseOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface DatabaseTable extends ProxyResource {
    memoryOptimized?: boolean;
    temporalType?: TableTemporalType;
}

// @public
export interface DatabaseTableListResult {
    readonly nextLink?: string;
    readonly value?: DatabaseTable[];
}

// @public
export interface DatabaseTables {
    get(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, options?: DatabaseTablesGetOptionalParams): Promise<DatabaseTablesGetResponse>;
    listBySchema(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, options?: DatabaseTablesListBySchemaOptionalParams): PagedAsyncIterableIterator<DatabaseTable>;
}

// @public
export interface DatabaseTablesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseTablesGetResponse = DatabaseTable;

// @public
export interface DatabaseTablesListBySchemaNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseTablesListBySchemaNextResponse = DatabaseTableListResult;

// @public
export interface DatabaseTablesListBySchemaOptionalParams extends coreClient.OperationOptions {
    filter?: string;
}

// @public
export type DatabaseTablesListBySchemaResponse = DatabaseTableListResult;

// @public
export interface DatabaseUpdate {
    autoPauseDelay?: number;
    catalogCollation?: CatalogCollationType;
    collation?: string;
    createMode?: CreateMode;
    readonly creationDate?: Date;
    readonly currentBackupStorageRedundancy?: BackupStorageRedundancy;
    readonly currentServiceObjectiveName?: string;
    readonly currentSku?: Sku;
    readonly databaseId?: string;
    readonly defaultSecondaryLocation?: string;
    readonly earliestRestoreDate?: Date;
    elasticPoolId?: string;
    encryptionProtector?: string;
    readonly failoverGroupId?: string;
    federatedClientId?: string;
    highAvailabilityReplicaCount?: number;
    identity?: DatabaseIdentity;
    readonly isInfraEncryptionEnabled?: boolean;
    isLedgerOn?: boolean;
    keys?: {
        [propertyName: string]: DatabaseKey;
    };
    licenseType?: DatabaseLicenseType;
    longTermRetentionBackupResourceId?: string;
    maintenanceConfigurationId?: string;
    manualCutover?: boolean;
    readonly maxLogSizeBytes?: number;
    maxSizeBytes?: number;
    minCapacity?: number;
    readonly pausedDate?: Date;
    performCutover?: boolean;
    preferredEnclaveType?: AlwaysEncryptedEnclaveType;
    readScale?: DatabaseReadScale;
    recoverableDatabaseId?: string;
    recoveryServicesRecoveryPointId?: string;
    requestedBackupStorageRedundancy?: BackupStorageRedundancy;
    readonly requestedServiceObjectiveName?: string;
    restorableDroppedDatabaseId?: string;
    restorePointInTime?: Date;
    readonly resumedDate?: Date;
    sampleName?: SampleName;
    secondaryType?: SecondaryType;
    sku?: Sku;
    sourceDatabaseDeletionDate?: Date;
    sourceDatabaseId?: string;
    readonly status?: DatabaseStatus;
    tags?: {
        [propertyName: string]: string;
    };
    zoneRedundant?: boolean;
}

// @public
export interface DatabaseUsage extends ProxyResource {
    readonly currentValue?: number;
    readonly displayName?: string;
    readonly limit?: number;
    readonly unit?: string;
}

// @public
export interface DatabaseUsageListResult {
    readonly nextLink?: string;
    readonly value?: DatabaseUsage[];
}

// @public
export interface DatabaseUsages {
    listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabaseUsagesListByDatabaseOptionalParams): PagedAsyncIterableIterator<DatabaseUsage>;
}

// @public
export interface DatabaseUsagesListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseUsagesListByDatabaseNextResponse = DatabaseUsageListResult;

// @public
export interface DatabaseUsagesListByDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseUsagesListByDatabaseResponse = DatabaseUsageListResult;

// @public
export interface DatabaseUserIdentity {
    readonly clientId?: string;
    readonly principalId?: string;
}

// @public
export interface DatabaseVulnerabilityAssessment extends ProxyResource {
    recurringScans?: VulnerabilityAssessmentRecurringScansProperties;
    storageAccountAccessKey?: string;
    storageContainerPath?: string;
    storageContainerSasKey?: string;
}

// @public
export interface DatabaseVulnerabilityAssessmentListResult {
    readonly nextLink?: string;
    readonly value?: DatabaseVulnerabilityAssessment[];
}

// @public
export interface DatabaseVulnerabilityAssessmentRuleBaseline extends ProxyResource {
    baselineResults?: DatabaseVulnerabilityAssessmentRuleBaselineItem[];
}

// @public
export interface DatabaseVulnerabilityAssessmentRuleBaselineItem {
    result: string[];
}

// @public
export interface DatabaseVulnerabilityAssessmentRuleBaselines {
    createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, ruleId: string, baselineName: VulnerabilityAssessmentPolicyBaselineName, parameters: DatabaseVulnerabilityAssessmentRuleBaseline, options?: DatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateOptionalParams): Promise<DatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateResponse>;
    delete(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, ruleId: string, baselineName: VulnerabilityAssessmentPolicyBaselineName, options?: DatabaseVulnerabilityAssessmentRuleBaselinesDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, ruleId: string, baselineName: VulnerabilityAssessmentPolicyBaselineName, options?: DatabaseVulnerabilityAssessmentRuleBaselinesGetOptionalParams): Promise<DatabaseVulnerabilityAssessmentRuleBaselinesGetResponse>;
}

// @public
export interface DatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateResponse = DatabaseVulnerabilityAssessmentRuleBaseline;

// @public
export interface DatabaseVulnerabilityAssessmentRuleBaselinesDeleteOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface DatabaseVulnerabilityAssessmentRuleBaselinesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseVulnerabilityAssessmentRuleBaselinesGetResponse = DatabaseVulnerabilityAssessmentRuleBaseline;

// @public
export interface DatabaseVulnerabilityAssessments {
    createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, parameters: DatabaseVulnerabilityAssessment, options?: DatabaseVulnerabilityAssessmentsCreateOrUpdateOptionalParams): Promise<DatabaseVulnerabilityAssessmentsCreateOrUpdateResponse>;
    delete(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, options?: DatabaseVulnerabilityAssessmentsDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, options?: DatabaseVulnerabilityAssessmentsGetOptionalParams): Promise<DatabaseVulnerabilityAssessmentsGetResponse>;
    listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: DatabaseVulnerabilityAssessmentsListByDatabaseOptionalParams): PagedAsyncIterableIterator<DatabaseVulnerabilityAssessment>;
}

// @public
export interface DatabaseVulnerabilityAssessmentScans {
    beginInitiateScan(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, scanId: string, options?: DatabaseVulnerabilityAssessmentScansInitiateScanOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginInitiateScanAndWait(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, scanId: string, options?: DatabaseVulnerabilityAssessmentScansInitiateScanOptionalParams): Promise<void>;
    export(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, scanId: string, options?: DatabaseVulnerabilityAssessmentScansExportOptionalParams): Promise<DatabaseVulnerabilityAssessmentScansExportResponse>;
    get(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, scanId: string, options?: DatabaseVulnerabilityAssessmentScansGetOptionalParams): Promise<DatabaseVulnerabilityAssessmentScansGetResponse>;
    listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, options?: DatabaseVulnerabilityAssessmentScansListByDatabaseOptionalParams): PagedAsyncIterableIterator<VulnerabilityAssessmentScanRecord>;
}

// @public
export interface DatabaseVulnerabilityAssessmentScansExport extends ProxyResource {
    readonly exportedReportLocation?: string;
}

// @public
export interface DatabaseVulnerabilityAssessmentScansExportOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseVulnerabilityAssessmentScansExportResponse = DatabaseVulnerabilityAssessmentScansExport;

// @public
export interface DatabaseVulnerabilityAssessmentScansGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseVulnerabilityAssessmentScansGetResponse = VulnerabilityAssessmentScanRecord;

// @public
export interface DatabaseVulnerabilityAssessmentScansInitiateScanOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface DatabaseVulnerabilityAssessmentScansListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseVulnerabilityAssessmentScansListByDatabaseNextResponse = VulnerabilityAssessmentScanRecordListResult;

// @public
export interface DatabaseVulnerabilityAssessmentScansListByDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseVulnerabilityAssessmentScansListByDatabaseResponse = VulnerabilityAssessmentScanRecordListResult;

// @public
export interface DatabaseVulnerabilityAssessmentsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseVulnerabilityAssessmentsCreateOrUpdateResponse = DatabaseVulnerabilityAssessment;

// @public
export interface DatabaseVulnerabilityAssessmentsDeleteOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface DatabaseVulnerabilityAssessmentsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseVulnerabilityAssessmentsGetResponse = DatabaseVulnerabilityAssessment;

// @public
export interface DatabaseVulnerabilityAssessmentsListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseVulnerabilityAssessmentsListByDatabaseNextResponse = DatabaseVulnerabilityAssessmentListResult;

// @public
export interface DatabaseVulnerabilityAssessmentsListByDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DatabaseVulnerabilityAssessmentsListByDatabaseResponse = DatabaseVulnerabilityAssessmentListResult;

// @public
export type DataMaskingFunction = "Default" | "CCN" | "Email" | "Number" | "SSN" | "Text";

// @public
export interface DataMaskingPolicies {
    createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: DataMaskingPolicy, options?: DataMaskingPoliciesCreateOrUpdateOptionalParams): Promise<DataMaskingPoliciesCreateOrUpdateResponse>;
    get(resourceGroupName: string, serverName: string, databaseName: string, options?: DataMaskingPoliciesGetOptionalParams): Promise<DataMaskingPoliciesGetResponse>;
}

// @public
export interface DataMaskingPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DataMaskingPoliciesCreateOrUpdateResponse = DataMaskingPolicy;

// @public
export interface DataMaskingPoliciesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DataMaskingPoliciesGetResponse = DataMaskingPolicy;

// @public
export interface DataMaskingPolicy extends ProxyResource {
    readonly applicationPrincipals?: string;
    dataMaskingState?: DataMaskingState;
    exemptPrincipals?: string;
    readonly kind?: string;
    readonly location?: string;
    readonly maskingLevel?: string;
}

// @public
export interface DataMaskingRule extends ProxyResource {
    aliasName?: string;
    columnName?: string;
    readonly idPropertiesId?: string;
    readonly kind?: string;
    readonly location?: string;
    maskingFunction?: DataMaskingFunction;
    numberFrom?: string;
    numberTo?: string;
    prefixSize?: string;
    replacementString?: string;
    ruleState?: DataMaskingRuleState;
    schemaName?: string;
    suffixSize?: string;
    tableName?: string;
}

// @public
export interface DataMaskingRuleListResult {
    value?: DataMaskingRule[];
}

// @public
export interface DataMaskingRules {
    createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, dataMaskingRuleName: string, parameters: DataMaskingRule, options?: DataMaskingRulesCreateOrUpdateOptionalParams): Promise<DataMaskingRulesCreateOrUpdateResponse>;
    listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: DataMaskingRulesListByDatabaseOptionalParams): PagedAsyncIterableIterator<DataMaskingRule>;
}

// @public
export interface DataMaskingRulesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DataMaskingRulesCreateOrUpdateResponse = DataMaskingRule;

// @public
export interface DataMaskingRulesListByDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DataMaskingRulesListByDatabaseResponse = DataMaskingRuleListResult;

// @public
export type DataMaskingRuleState = "Disabled" | "Enabled";

// @public
export type DataMaskingState = "Disabled" | "Enabled";

// @public
export interface DataWarehouseUserActivities extends ProxyResource {
    readonly activeQueriesCount?: number;
}

// @public
export interface DataWarehouseUserActivitiesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DataWarehouseUserActivitiesGetResponse = DataWarehouseUserActivities;

// @public
export interface DataWarehouseUserActivitiesListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DataWarehouseUserActivitiesListByDatabaseNextResponse = DataWarehouseUserActivitiesListResult;

// @public
export interface DataWarehouseUserActivitiesListByDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DataWarehouseUserActivitiesListByDatabaseResponse = DataWarehouseUserActivitiesListResult;

// @public
export interface DataWarehouseUserActivitiesListResult {
    readonly nextLink?: string;
    readonly value?: DataWarehouseUserActivities[];
}

// @public
export interface DataWarehouseUserActivitiesOperations {
    get(resourceGroupName: string, serverName: string, databaseName: string, dataWarehouseUserActivityName: DataWarehouseUserActivityName, options?: DataWarehouseUserActivitiesGetOptionalParams): Promise<DataWarehouseUserActivitiesGetResponse>;
    listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: DataWarehouseUserActivitiesListByDatabaseOptionalParams): PagedAsyncIterableIterator<DataWarehouseUserActivities>;
}

// @public
export type DataWarehouseUserActivityName = string;

// @public
export type DayOfWeek = string;

// @public
export interface DeletedServer extends ProxyResource {
    readonly deletionTime?: Date;
    readonly fullyQualifiedDomainName?: string;
    readonly originalId?: string;
    readonly version?: string;
}

// @public
export interface DeletedServerListResult {
    readonly nextLink?: string;
    readonly value?: DeletedServer[];
}

// @public
export interface DeletedServers {
    beginRecover(locationName: string, deletedServerName: string, options?: DeletedServersRecoverOptionalParams): Promise<SimplePollerLike<OperationState<DeletedServersRecoverResponse>, DeletedServersRecoverResponse>>;
    beginRecoverAndWait(locationName: string, deletedServerName: string, options?: DeletedServersRecoverOptionalParams): Promise<DeletedServersRecoverResponse>;
    get(locationName: string, deletedServerName: string, options?: DeletedServersGetOptionalParams): Promise<DeletedServersGetResponse>;
    list(options?: DeletedServersListOptionalParams): PagedAsyncIterableIterator<DeletedServer>;
    listByLocation(locationName: string, options?: DeletedServersListByLocationOptionalParams): PagedAsyncIterableIterator<DeletedServer>;
}

// @public
export interface DeletedServersGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DeletedServersGetResponse = DeletedServer;

// @public
export interface DeletedServersListByLocationNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DeletedServersListByLocationNextResponse = DeletedServerListResult;

// @public
export interface DeletedServersListByLocationOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DeletedServersListByLocationResponse = DeletedServerListResult;

// @public
export interface DeletedServersListNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DeletedServersListNextResponse = DeletedServerListResult;

// @public
export interface DeletedServersListOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DeletedServersListResponse = DeletedServerListResult;

// @public
export interface DeletedServersRecoverOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type DeletedServersRecoverResponse = DeletedServer;

// @public
export type DevOpsAuditingSettingsName = string;

// @public
export type DiffBackupIntervalInHours = number;

// @public
export interface DistributedAvailabilityGroup extends ProxyResource {
    readonly distributedAvailabilityGroupId?: string;
    readonly lastHardenedLsn?: string;
    readonly linkState?: string;
    primaryAvailabilityGroupName?: string;
    replicationMode?: ReplicationMode;
    secondaryAvailabilityGroupName?: string;
    sourceEndpoint?: string;
    readonly sourceReplicaId?: string;
    targetDatabase?: string;
    readonly targetReplicaId?: string;
}

// @public
export interface DistributedAvailabilityGroups {
    beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, distributedAvailabilityGroupName: string, parameters: DistributedAvailabilityGroup, options?: DistributedAvailabilityGroupsCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<DistributedAvailabilityGroupsCreateOrUpdateResponse>, DistributedAvailabilityGroupsCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, managedInstanceName: string, distributedAvailabilityGroupName: string, parameters: DistributedAvailabilityGroup, options?: DistributedAvailabilityGroupsCreateOrUpdateOptionalParams): Promise<DistributedAvailabilityGroupsCreateOrUpdateResponse>;
    beginDelete(resourceGroupName: string, managedInstanceName: string, distributedAvailabilityGroupName: string, options?: DistributedAvailabilityGroupsDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, managedInstanceName: string, distributedAvailabilityGroupName: string, options?: DistributedAvailabilityGroupsDeleteOptionalParams): Promise<void>;
    beginUpdate(resourceGroupName: string, managedInstanceName: string, distributedAvailabilityGroupName: string, parameters: DistributedAvailabilityGroup, options?: DistributedAvailabilityGroupsUpdateOptionalParams): Promise<SimplePollerLike<OperationState<DistributedAvailabilityGroupsUpdateResponse>, DistributedAvailabilityGroupsUpdateResponse>>;
    beginUpdateAndWait(resourceGroupName: string, managedInstanceName: string, distributedAvailabilityGroupName: string, parameters: DistributedAvailabilityGroup, options?: DistributedAvailabilityGroupsUpdateOptionalParams): Promise<DistributedAvailabilityGroupsUpdateResponse>;
    get(resourceGroupName: string, managedInstanceName: string, distributedAvailabilityGroupName: string, options?: DistributedAvailabilityGroupsGetOptionalParams): Promise<DistributedAvailabilityGroupsGetResponse>;
    listByInstance(resourceGroupName: string, managedInstanceName: string, options?: DistributedAvailabilityGroupsListByInstanceOptionalParams): PagedAsyncIterableIterator<DistributedAvailabilityGroup>;
}

// @public
export interface DistributedAvailabilityGroupsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type DistributedAvailabilityGroupsCreateOrUpdateResponse = DistributedAvailabilityGroup;

// @public
export interface DistributedAvailabilityGroupsDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface DistributedAvailabilityGroupsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DistributedAvailabilityGroupsGetResponse = DistributedAvailabilityGroup;

// @public
export interface DistributedAvailabilityGroupsListByInstanceNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DistributedAvailabilityGroupsListByInstanceNextResponse = DistributedAvailabilityGroupsListResult;

// @public
export interface DistributedAvailabilityGroupsListByInstanceOptionalParams extends coreClient.OperationOptions {
}

// @public
export type DistributedAvailabilityGroupsListByInstanceResponse = DistributedAvailabilityGroupsListResult;

// @public
export interface DistributedAvailabilityGroupsListResult {
    readonly nextLink?: string;
    readonly value?: DistributedAvailabilityGroup[];
}

// @public
export interface DistributedAvailabilityGroupsUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type DistributedAvailabilityGroupsUpdateResponse = DistributedAvailabilityGroup;

// @public
export type DNSRefreshOperationStatus = string;

// @public
export type DtcName = string;

// @public
export interface EditionCapability {
    readonly name?: string;
    readonly readScale?: ReadScaleCapability;
    reason?: string;
    readonly status?: CapabilityStatus;
    readonly supportedServiceLevelObjectives?: ServiceObjectiveCapability[];
    readonly supportedStorageCapabilities?: StorageCapability[];
    readonly zoneRedundant?: boolean;
}

// @public
export interface ElasticPool extends TrackedResource {
    readonly creationDate?: Date;
    highAvailabilityReplicaCount?: number;
    readonly kind?: string;
    licenseType?: ElasticPoolLicenseType;
    maintenanceConfigurationId?: string;
    maxSizeBytes?: number;
    perDatabaseSettings?: ElasticPoolPerDatabaseSettings;
    sku?: Sku;
    readonly state?: ElasticPoolState;
    zoneRedundant?: boolean;
}

// @public
export interface ElasticPoolActivities {
    listByElasticPool(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: ElasticPoolActivitiesListByElasticPoolOptionalParams): PagedAsyncIterableIterator<ElasticPoolActivity>;
}

// @public
export interface ElasticPoolActivitiesListByElasticPoolOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ElasticPoolActivitiesListByElasticPoolResponse = ElasticPoolActivityListResult;

// @public
export interface ElasticPoolActivity extends ProxyResource {
    readonly elasticPoolName?: string;
    readonly endTime?: Date;
    readonly errorCode?: number;
    readonly errorMessage?: string;
    readonly errorSeverity?: number;
    location?: string;
    readonly operation?: string;
    readonly operationId?: string;
    readonly percentComplete?: number;
    readonly requestedDatabaseDtuCap?: number;
    readonly requestedDatabaseDtuGuarantee?: number;
    readonly requestedDatabaseDtuMax?: number;
    readonly requestedDatabaseDtuMin?: number;
    readonly requestedDtu?: number;
    readonly requestedDtuGuarantee?: number;
    readonly requestedElasticPoolName?: string;
    readonly requestedStorageLimitInGB?: number;
    readonly requestedStorageLimitInMB?: number;
    readonly serverName?: string;
    readonly startTime?: Date;
    readonly state?: string;
}

// @public
export interface ElasticPoolActivityListResult {
    value: ElasticPoolActivity[];
}

// @public
export interface ElasticPoolDatabaseActivities {
    listByElasticPool(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: ElasticPoolDatabaseActivitiesListByElasticPoolOptionalParams): PagedAsyncIterableIterator<ElasticPoolDatabaseActivity>;
}

// @public
export interface ElasticPoolDatabaseActivitiesListByElasticPoolOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ElasticPoolDatabaseActivitiesListByElasticPoolResponse = ElasticPoolDatabaseActivityListResult;

// @public
export interface ElasticPoolDatabaseActivity extends ProxyResource {
    readonly currentElasticPoolName?: string;
    readonly currentServiceObjective?: string;
    readonly databaseName?: string;
    readonly endTime?: Date;
    readonly errorCode?: number;
    readonly errorMessage?: string;
    readonly errorSeverity?: number;
    location?: string;
    readonly operation?: string;
    readonly operationId?: string;
    readonly percentComplete?: number;
    readonly requestedElasticPoolName?: string;
    readonly requestedServiceObjective?: string;
    readonly serverName?: string;
    readonly startTime?: Date;
    readonly state?: string;
}

// @public
export interface ElasticPoolDatabaseActivityListResult {
    value: ElasticPoolDatabaseActivity[];
}

// @public
export interface ElasticPoolEditionCapability {
    readonly name?: string;
    reason?: string;
    readonly status?: CapabilityStatus;
    readonly supportedElasticPoolPerformanceLevels?: ElasticPoolPerformanceLevelCapability[];
    readonly zoneRedundant?: boolean;
}

// @public
export type ElasticPoolLicenseType = string;

// @public
export interface ElasticPoolListResult {
    readonly nextLink?: string;
    readonly value?: ElasticPool[];
}

// @public
export interface ElasticPoolOperation extends ProxyResource {
    readonly description?: string;
    readonly elasticPoolName?: string;
    readonly errorCode?: number;
    readonly errorDescription?: string;
    readonly errorSeverity?: number;
    readonly estimatedCompletionTime?: Date;
    readonly isCancellable?: boolean;
    readonly isUserError?: boolean;
    readonly operation?: string;
    readonly operationFriendlyName?: string;
    readonly percentComplete?: number;
    readonly serverName?: string;
    readonly startTime?: Date;
    readonly state?: string;
}

// @public
export interface ElasticPoolOperationListResult {
    readonly nextLink?: string;
    readonly value?: ElasticPoolOperation[];
}

// @public
export interface ElasticPoolOperations {
    cancel(resourceGroupName: string, serverName: string, elasticPoolName: string, operationId: string, options?: ElasticPoolOperationsCancelOptionalParams): Promise<void>;
    listByElasticPool(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: ElasticPoolOperationsListByElasticPoolOptionalParams): PagedAsyncIterableIterator<ElasticPoolOperation>;
}

// @public
export interface ElasticPoolOperationsCancelOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface ElasticPoolOperationsListByElasticPoolNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ElasticPoolOperationsListByElasticPoolNextResponse = ElasticPoolOperationListResult;

// @public
export interface ElasticPoolOperationsListByElasticPoolOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ElasticPoolOperationsListByElasticPoolResponse = ElasticPoolOperationListResult;

// @public
export interface ElasticPoolPerDatabaseMaxPerformanceLevelCapability {
    readonly limit?: number;
    reason?: string;
    readonly status?: CapabilityStatus;
    readonly supportedPerDatabaseMinPerformanceLevels?: ElasticPoolPerDatabaseMinPerformanceLevelCapability[];
    readonly unit?: PerformanceLevelUnit;
}

// @public
export interface ElasticPoolPerDatabaseMinPerformanceLevelCapability {
    readonly limit?: number;
    reason?: string;
    readonly status?: CapabilityStatus;
    readonly unit?: PerformanceLevelUnit;
}

// @public
export interface ElasticPoolPerDatabaseSettings {
    maxCapacity?: number;
    minCapacity?: number;
}

// @public
export interface ElasticPoolPerformanceLevelCapability {
    readonly includedMaxSize?: MaxSizeCapability;
    readonly maxDatabaseCount?: number;
    readonly performanceLevel?: PerformanceLevelCapability;
    reason?: string;
    readonly sku?: Sku;
    readonly status?: CapabilityStatus;
    readonly supportedLicenseTypes?: LicenseTypeCapability[];
    readonly supportedMaintenanceConfigurations?: MaintenanceConfigurationCapability[];
    readonly supportedMaxSizes?: MaxSizeRangeCapability[];
    readonly supportedPerDatabaseMaxPerformanceLevels?: ElasticPoolPerDatabaseMaxPerformanceLevelCapability[];
    readonly supportedPerDatabaseMaxSizes?: MaxSizeRangeCapability[];
    readonly zoneRedundant?: boolean;
}

// @public
export interface ElasticPools {
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, elasticPoolName: string, parameters: ElasticPool, options?: ElasticPoolsCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ElasticPoolsCreateOrUpdateResponse>, ElasticPoolsCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, elasticPoolName: string, parameters: ElasticPool, options?: ElasticPoolsCreateOrUpdateOptionalParams): Promise<ElasticPoolsCreateOrUpdateResponse>;
    beginDelete(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: ElasticPoolsDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: ElasticPoolsDeleteOptionalParams): Promise<void>;
    beginFailover(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: ElasticPoolsFailoverOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginFailoverAndWait(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: ElasticPoolsFailoverOptionalParams): Promise<void>;
    beginUpdate(resourceGroupName: string, serverName: string, elasticPoolName: string, parameters: ElasticPoolUpdate, options?: ElasticPoolsUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ElasticPoolsUpdateResponse>, ElasticPoolsUpdateResponse>>;
    beginUpdateAndWait(resourceGroupName: string, serverName: string, elasticPoolName: string, parameters: ElasticPoolUpdate, options?: ElasticPoolsUpdateOptionalParams): Promise<ElasticPoolsUpdateResponse>;
    get(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: ElasticPoolsGetOptionalParams): Promise<ElasticPoolsGetResponse>;
    listByServer(resourceGroupName: string, serverName: string, options?: ElasticPoolsListByServerOptionalParams): PagedAsyncIterableIterator<ElasticPool>;
    listMetricDefinitions(resourceGroupName: string, serverName: string, elasticPoolName: string, options?: ElasticPoolsListMetricDefinitionsOptionalParams): PagedAsyncIterableIterator<MetricDefinition>;
    listMetrics(resourceGroupName: string, serverName: string, elasticPoolName: string, filter: string, options?: ElasticPoolsListMetricsOptionalParams): PagedAsyncIterableIterator<Metric>;
}

// @public
export interface ElasticPoolsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ElasticPoolsCreateOrUpdateResponse = ElasticPool;

// @public
export interface ElasticPoolsDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface ElasticPoolsFailoverOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface ElasticPoolsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ElasticPoolsGetResponse = ElasticPool;

// @public
export interface ElasticPoolsListByServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ElasticPoolsListByServerNextResponse = ElasticPoolListResult;

// @public
export interface ElasticPoolsListByServerOptionalParams extends coreClient.OperationOptions {
    skip?: number;
}

// @public
export type ElasticPoolsListByServerResponse = ElasticPoolListResult;

// @public
export interface ElasticPoolsListMetricDefinitionsOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ElasticPoolsListMetricDefinitionsResponse = MetricDefinitionListResult;

// @public
export interface ElasticPoolsListMetricsOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ElasticPoolsListMetricsResponse = MetricListResult;

// @public
export type ElasticPoolState = string;

// @public
export interface ElasticPoolsUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ElasticPoolsUpdateResponse = ElasticPool;

// @public
export interface ElasticPoolUpdate {
    highAvailabilityReplicaCount?: number;
    licenseType?: ElasticPoolLicenseType;
    maintenanceConfigurationId?: string;
    maxSizeBytes?: number;
    perDatabaseSettings?: ElasticPoolPerDatabaseSettings;
    sku?: Sku;
    tags?: {
        [propertyName: string]: string;
    };
    zoneRedundant?: boolean;
}

// @public
export interface EncryptionProtector extends ProxyResource {
    autoRotationEnabled?: boolean;
    readonly kind?: string;
    readonly location?: string;
    serverKeyName?: string;
    serverKeyType?: ServerKeyType;
    readonly subregion?: string;
    readonly thumbprint?: string;
    readonly uri?: string;
}

// @public
export interface EncryptionProtectorListResult {
    readonly nextLink?: string;
    readonly value?: EncryptionProtector[];
}

// @public
export type EncryptionProtectorName = string;

// @public
export interface EncryptionProtectors {
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, encryptionProtectorName: EncryptionProtectorName, parameters: EncryptionProtector, options?: EncryptionProtectorsCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<EncryptionProtectorsCreateOrUpdateResponse>, EncryptionProtectorsCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, encryptionProtectorName: EncryptionProtectorName, parameters: EncryptionProtector, options?: EncryptionProtectorsCreateOrUpdateOptionalParams): Promise<EncryptionProtectorsCreateOrUpdateResponse>;
    beginRevalidate(resourceGroupName: string, serverName: string, encryptionProtectorName: EncryptionProtectorName, options?: EncryptionProtectorsRevalidateOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginRevalidateAndWait(resourceGroupName: string, serverName: string, encryptionProtectorName: EncryptionProtectorName, options?: EncryptionProtectorsRevalidateOptionalParams): Promise<void>;
    get(resourceGroupName: string, serverName: string, encryptionProtectorName: EncryptionProtectorName, options?: EncryptionProtectorsGetOptionalParams): Promise<EncryptionProtectorsGetResponse>;
    listByServer(resourceGroupName: string, serverName: string, options?: EncryptionProtectorsListByServerOptionalParams): PagedAsyncIterableIterator<EncryptionProtector>;
}

// @public
export interface EncryptionProtectorsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type EncryptionProtectorsCreateOrUpdateResponse = EncryptionProtector;

// @public
export interface EncryptionProtectorsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type EncryptionProtectorsGetResponse = EncryptionProtector;

// @public
export interface EncryptionProtectorsListByServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type EncryptionProtectorsListByServerNextResponse = EncryptionProtectorListResult;

// @public
export interface EncryptionProtectorsListByServerOptionalParams extends coreClient.OperationOptions {
}

// @public
export type EncryptionProtectorsListByServerResponse = EncryptionProtectorListResult;

// @public
export interface EncryptionProtectorsRevalidateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface EndpointCertificate extends ProxyResource {
    publicBlob?: string;
}

// @public
export interface EndpointCertificateListResult {
    readonly nextLink?: string;
    readonly value?: EndpointCertificate[];
}

// @public
export interface EndpointCertificates {
    get(resourceGroupName: string, managedInstanceName: string, endpointType: string, options?: EndpointCertificatesGetOptionalParams): Promise<EndpointCertificatesGetResponse>;
    listByInstance(resourceGroupName: string, managedInstanceName: string, options?: EndpointCertificatesListByInstanceOptionalParams): PagedAsyncIterableIterator<EndpointCertificate>;
}

// @public
export interface EndpointCertificatesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type EndpointCertificatesGetResponse = EndpointCertificate;

// @public
export interface EndpointCertificatesListByInstanceNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type EndpointCertificatesListByInstanceNextResponse = EndpointCertificateListResult;

// @public
export interface EndpointCertificatesListByInstanceOptionalParams extends coreClient.OperationOptions {
}

// @public
export type EndpointCertificatesListByInstanceResponse = EndpointCertificateListResult;

// @public
export interface EndpointDependency {
    readonly domainName?: string;
    readonly endpointDetails?: EndpointDetail[];
}

// @public
export interface EndpointDetail {
    readonly port?: number;
}

// @public
export interface ExportDatabaseDefinition {
    administratorLogin: string;
    administratorLoginPassword: string;
    authenticationType?: string;
    networkIsolation?: NetworkIsolationSettings;
    storageKey: string;
    storageKeyType: StorageKeyType;
    storageUri: string;
}

// @public
export interface ExtendedDatabaseBlobAuditingPolicies {
    createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, parameters: ExtendedDatabaseBlobAuditingPolicy, options?: ExtendedDatabaseBlobAuditingPoliciesCreateOrUpdateOptionalParams): Promise<ExtendedDatabaseBlobAuditingPoliciesCreateOrUpdateResponse>;
    get(resourceGroupName: string, serverName: string, databaseName: string, options?: ExtendedDatabaseBlobAuditingPoliciesGetOptionalParams): Promise<ExtendedDatabaseBlobAuditingPoliciesGetResponse>;
    listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: ExtendedDatabaseBlobAuditingPoliciesListByDatabaseOptionalParams): PagedAsyncIterableIterator<ExtendedDatabaseBlobAuditingPolicy>;
}

// @public
export interface ExtendedDatabaseBlobAuditingPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ExtendedDatabaseBlobAuditingPoliciesCreateOrUpdateResponse = ExtendedDatabaseBlobAuditingPolicy;

// @public
export interface ExtendedDatabaseBlobAuditingPoliciesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ExtendedDatabaseBlobAuditingPoliciesGetResponse = ExtendedDatabaseBlobAuditingPolicy;

// @public
export interface ExtendedDatabaseBlobAuditingPoliciesListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ExtendedDatabaseBlobAuditingPoliciesListByDatabaseNextResponse = ExtendedDatabaseBlobAuditingPolicyListResult;

// @public
export interface ExtendedDatabaseBlobAuditingPoliciesListByDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ExtendedDatabaseBlobAuditingPoliciesListByDatabaseResponse = ExtendedDatabaseBlobAuditingPolicyListResult;

// @public
export interface ExtendedDatabaseBlobAuditingPolicy extends ProxyResource {
    auditActionsAndGroups?: string[];
    isAzureMonitorTargetEnabled?: boolean;
    isManagedIdentityInUse?: boolean;
    isStorageSecondaryKeyInUse?: boolean;
    predicateExpression?: string;
    queueDelayMs?: number;
    retentionDays?: number;
    state?: BlobAuditingPolicyState;
    storageAccountAccessKey?: string;
    storageAccountSubscriptionId?: string;
    storageEndpoint?: string;
}

// @public
export interface ExtendedDatabaseBlobAuditingPolicyListResult {
    readonly nextLink?: string;
    readonly value?: ExtendedDatabaseBlobAuditingPolicy[];
}

// @public
export interface ExtendedServerBlobAuditingPolicies {
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, parameters: ExtendedServerBlobAuditingPolicy, options?: ExtendedServerBlobAuditingPoliciesCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ExtendedServerBlobAuditingPoliciesCreateOrUpdateResponse>, ExtendedServerBlobAuditingPoliciesCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, parameters: ExtendedServerBlobAuditingPolicy, options?: ExtendedServerBlobAuditingPoliciesCreateOrUpdateOptionalParams): Promise<ExtendedServerBlobAuditingPoliciesCreateOrUpdateResponse>;
    get(resourceGroupName: string, serverName: string, options?: ExtendedServerBlobAuditingPoliciesGetOptionalParams): Promise<ExtendedServerBlobAuditingPoliciesGetResponse>;
    listByServer(resourceGroupName: string, serverName: string, options?: ExtendedServerBlobAuditingPoliciesListByServerOptionalParams): PagedAsyncIterableIterator<ExtendedServerBlobAuditingPolicy>;
}

// @public
export interface ExtendedServerBlobAuditingPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ExtendedServerBlobAuditingPoliciesCreateOrUpdateResponse = ExtendedServerBlobAuditingPolicy;

// @public
export interface ExtendedServerBlobAuditingPoliciesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ExtendedServerBlobAuditingPoliciesGetResponse = ExtendedServerBlobAuditingPolicy;

// @public
export interface ExtendedServerBlobAuditingPoliciesListByServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ExtendedServerBlobAuditingPoliciesListByServerNextResponse = ExtendedServerBlobAuditingPolicyListResult;

// @public
export interface ExtendedServerBlobAuditingPoliciesListByServerOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ExtendedServerBlobAuditingPoliciesListByServerResponse = ExtendedServerBlobAuditingPolicyListResult;

// @public
export interface ExtendedServerBlobAuditingPolicy extends ProxyResource {
    auditActionsAndGroups?: string[];
    isAzureMonitorTargetEnabled?: boolean;
    isDevopsAuditEnabled?: boolean;
    isManagedIdentityInUse?: boolean;
    isStorageSecondaryKeyInUse?: boolean;
    predicateExpression?: string;
    queueDelayMs?: number;
    retentionDays?: number;
    state?: BlobAuditingPolicyState;
    storageAccountAccessKey?: string;
    storageAccountSubscriptionId?: string;
    storageEndpoint?: string;
}

// @public
export interface ExtendedServerBlobAuditingPolicyListResult {
    readonly nextLink?: string;
    readonly value?: ExtendedServerBlobAuditingPolicy[];
}

// @public
export type ExternalGovernanceStatus = string;

// @public
export interface FailoverGroup extends ProxyResource {
    databases?: string[];
    readonly location?: string;
    partnerServers?: PartnerInfo[];
    readOnlyEndpoint?: FailoverGroupReadOnlyEndpoint;
    readWriteEndpoint?: FailoverGroupReadWriteEndpoint;
    readonly replicationRole?: FailoverGroupReplicationRole;
    readonly replicationState?: string;
    tags?: {
        [propertyName: string]: string;
    };
}

// @public
export interface FailoverGroupListResult {
    readonly nextLink?: string;
    readonly value?: FailoverGroup[];
}

// @public
export interface FailoverGroupReadOnlyEndpoint {
    failoverPolicy?: ReadOnlyEndpointFailoverPolicy;
}

// @public
export interface FailoverGroupReadWriteEndpoint {
    failoverPolicy: ReadWriteEndpointFailoverPolicy;
    failoverWithDataLossGracePeriodMinutes?: number;
}

// @public
export type FailoverGroupReplicationRole = string;

// @public
export interface FailoverGroups {
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, failoverGroupName: string, parameters: FailoverGroup, options?: FailoverGroupsCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<FailoverGroupsCreateOrUpdateResponse>, FailoverGroupsCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, failoverGroupName: string, parameters: FailoverGroup, options?: FailoverGroupsCreateOrUpdateOptionalParams): Promise<FailoverGroupsCreateOrUpdateResponse>;
    beginDelete(resourceGroupName: string, serverName: string, failoverGroupName: string, options?: FailoverGroupsDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, serverName: string, failoverGroupName: string, options?: FailoverGroupsDeleteOptionalParams): Promise<void>;
    beginFailover(resourceGroupName: string, serverName: string, failoverGroupName: string, options?: FailoverGroupsFailoverOptionalParams): Promise<SimplePollerLike<OperationState<FailoverGroupsFailoverResponse>, FailoverGroupsFailoverResponse>>;
    beginFailoverAndWait(resourceGroupName: string, serverName: string, failoverGroupName: string, options?: FailoverGroupsFailoverOptionalParams): Promise<FailoverGroupsFailoverResponse>;
    beginForceFailoverAllowDataLoss(resourceGroupName: string, serverName: string, failoverGroupName: string, options?: FailoverGroupsForceFailoverAllowDataLossOptionalParams): Promise<SimplePollerLike<OperationState<FailoverGroupsForceFailoverAllowDataLossResponse>, FailoverGroupsForceFailoverAllowDataLossResponse>>;
    beginForceFailoverAllowDataLossAndWait(resourceGroupName: string, serverName: string, failoverGroupName: string, options?: FailoverGroupsForceFailoverAllowDataLossOptionalParams): Promise<FailoverGroupsForceFailoverAllowDataLossResponse>;
    beginUpdate(resourceGroupName: string, serverName: string, failoverGroupName: string, parameters: FailoverGroupUpdate, options?: FailoverGroupsUpdateOptionalParams): Promise<SimplePollerLike<OperationState<FailoverGroupsUpdateResponse>, FailoverGroupsUpdateResponse>>;
    beginUpdateAndWait(resourceGroupName: string, serverName: string, failoverGroupName: string, parameters: FailoverGroupUpdate, options?: FailoverGroupsUpdateOptionalParams): Promise<FailoverGroupsUpdateResponse>;
    get(resourceGroupName: string, serverName: string, failoverGroupName: string, options?: FailoverGroupsGetOptionalParams): Promise<FailoverGroupsGetResponse>;
    listByServer(resourceGroupName: string, serverName: string, options?: FailoverGroupsListByServerOptionalParams): PagedAsyncIterableIterator<FailoverGroup>;
}

// @public
export interface FailoverGroupsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type FailoverGroupsCreateOrUpdateResponse = FailoverGroup;

// @public
export interface FailoverGroupsDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface FailoverGroupsFailoverOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type FailoverGroupsFailoverResponse = FailoverGroup;

// @public
export interface FailoverGroupsForceFailoverAllowDataLossOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type FailoverGroupsForceFailoverAllowDataLossResponse = FailoverGroup;

// @public
export interface FailoverGroupsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type FailoverGroupsGetResponse = FailoverGroup;

// @public
export interface FailoverGroupsListByServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type FailoverGroupsListByServerNextResponse = FailoverGroupListResult;

// @public
export interface FailoverGroupsListByServerOptionalParams extends coreClient.OperationOptions {
}

// @public
export type FailoverGroupsListByServerResponse = FailoverGroupListResult;

// @public
export interface FailoverGroupsUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type FailoverGroupsUpdateResponse = FailoverGroup;

// @public
export interface FailoverGroupUpdate {
    databases?: string[];
    readOnlyEndpoint?: FailoverGroupReadOnlyEndpoint;
    readWriteEndpoint?: FailoverGroupReadWriteEndpoint;
    tags?: {
        [propertyName: string]: string;
    };
}

// @public
export interface FirewallRule extends ProxyResourceWithWritableName {
    endIpAddress?: string;
    startIpAddress?: string;
}

// @public
export interface FirewallRuleList {
    // (undocumented)
    values?: FirewallRule[];
}

// @public
export interface FirewallRuleListResult {
    readonly nextLink?: string;
    readonly value?: FirewallRule[];
}

// @public
export interface FirewallRules {
    createOrUpdate(resourceGroupName: string, serverName: string, firewallRuleName: string, parameters: FirewallRule, options?: FirewallRulesCreateOrUpdateOptionalParams): Promise<FirewallRulesCreateOrUpdateResponse>;
    delete(resourceGroupName: string, serverName: string, firewallRuleName: string, options?: FirewallRulesDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, serverName: string, firewallRuleName: string, options?: FirewallRulesGetOptionalParams): Promise<FirewallRulesGetResponse>;
    listByServer(resourceGroupName: string, serverName: string, options?: FirewallRulesListByServerOptionalParams): PagedAsyncIterableIterator<FirewallRule>;
    replace(resourceGroupName: string, serverName: string, parameters: FirewallRuleList, options?: FirewallRulesReplaceOptionalParams): Promise<FirewallRulesReplaceResponse>;
}

// @public
export interface FirewallRulesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type FirewallRulesCreateOrUpdateResponse = FirewallRule;

// @public
export interface FirewallRulesDeleteOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface FirewallRulesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type FirewallRulesGetResponse = FirewallRule;

// @public
export interface FirewallRulesListByServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type FirewallRulesListByServerNextResponse = FirewallRuleListResult;

// @public
export interface FirewallRulesListByServerOptionalParams extends coreClient.OperationOptions {
}

// @public
export type FirewallRulesListByServerResponse = FirewallRuleListResult;

// @public
export interface FirewallRulesReplaceOptionalParams extends coreClient.OperationOptions {
}

// @public
export type FirewallRulesReplaceResponse = FirewallRule;

// @public
export interface GeoBackupPolicies {
    createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, geoBackupPolicyName: GeoBackupPolicyName, parameters: GeoBackupPolicy, options?: GeoBackupPoliciesCreateOrUpdateOptionalParams): Promise<GeoBackupPoliciesCreateOrUpdateResponse>;
    get(resourceGroupName: string, serverName: string, databaseName: string, geoBackupPolicyName: GeoBackupPolicyName, options?: GeoBackupPoliciesGetOptionalParams): Promise<GeoBackupPoliciesGetResponse>;
    listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: GeoBackupPoliciesListByDatabaseOptionalParams): PagedAsyncIterableIterator<GeoBackupPolicy>;
}

// @public
export interface GeoBackupPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type GeoBackupPoliciesCreateOrUpdateResponse = GeoBackupPolicy;

// @public
export interface GeoBackupPoliciesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type GeoBackupPoliciesGetResponse = GeoBackupPolicy;

// @public
export interface GeoBackupPoliciesListByDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type GeoBackupPoliciesListByDatabaseResponse = GeoBackupPolicyListResult;

// @public
export interface GeoBackupPolicy extends ProxyResource {
    readonly kind?: string;
    readonly location?: string;
    state: GeoBackupPolicyState;
    readonly storageType?: string;
}

// @public
export interface GeoBackupPolicyListResult {
    value?: GeoBackupPolicy[];
}

// @public
export type GeoBackupPolicyName = string;

// @public
export type GeoBackupPolicyState = "Disabled" | "Enabled";

// @public
export function getContinuationToken(page: unknown): string | undefined;

// @public
export type IdentityType = string;

// @public
export type ImplementationMethod = "TSql" | "AzurePowerShell";

// @public
export interface ImportExistingDatabaseDefinition {
    administratorLogin: string;
    administratorLoginPassword: string;
    authenticationType?: string;
    networkIsolation?: NetworkIsolationSettings;
    storageKey: string;
    storageKeyType: StorageKeyType;
    storageUri: string;
}

// @public
export interface ImportExportExtensionsOperationListResult {
    readonly nextLink?: string;
    readonly value?: ImportExportExtensionsOperationResult[];
}

// @public
export interface ImportExportExtensionsOperationResult extends ProxyResource {
    readonly databaseName?: string;
    readonly errorMessage?: string;
    readonly lastModifiedTime?: string;
    readonly requestId?: string;
    readonly requestType?: string;
    readonly serverName?: string;
    readonly status?: string;
}

// @public
export interface ImportExportOperationResult extends ProxyResource {
    readonly blobUri?: string;
    readonly databaseName?: string;
    readonly errorMessage?: string;
    readonly lastModifiedTime?: string;
    readonly privateEndpointConnections?: PrivateEndpointConnectionRequestStatus[];
    readonly queuedTime?: string;
    readonly requestId?: string;
    readonly requestType?: string;
    readonly serverName?: string;
    readonly status?: string;
}

// @public
export interface ImportNewDatabaseDefinition {
    administratorLogin: string;
    administratorLoginPassword: string;
    authenticationType?: string;
    databaseName?: string;
    edition?: string;
    maxSizeBytes?: string;
    networkIsolation?: NetworkIsolationSettings;
    serviceObjectiveName?: string;
    storageKey: string;
    storageKeyType: StorageKeyType;
    storageUri: string;
}

// @public
export interface InstanceFailoverGroup extends ProxyResource {
    managedInstancePairs?: ManagedInstancePairInfo[];
    partnerRegions?: PartnerRegionInfo[];
    readOnlyEndpoint?: InstanceFailoverGroupReadOnlyEndpoint;
    readWriteEndpoint?: InstanceFailoverGroupReadWriteEndpoint;
    readonly replicationRole?: InstanceFailoverGroupReplicationRole;
    readonly replicationState?: string;
    secondaryType?: SecondaryInstanceType;
}

// @public
export interface InstanceFailoverGroupListResult {
    readonly nextLink?: string;
    readonly value?: InstanceFailoverGroup[];
}

// @public
export interface InstanceFailoverGroupReadOnlyEndpoint {
    failoverPolicy?: ReadOnlyEndpointFailoverPolicy;
}

// @public
export interface InstanceFailoverGroupReadWriteEndpoint {
    failoverPolicy: ReadWriteEndpointFailoverPolicy;
    failoverWithDataLossGracePeriodMinutes?: number;
}

// @public
export type InstanceFailoverGroupReplicationRole = string;

// @public
export interface InstanceFailoverGroups {
    beginCreateOrUpdate(resourceGroupName: string, locationName: string, failoverGroupName: string, parameters: InstanceFailoverGroup, options?: InstanceFailoverGroupsCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<InstanceFailoverGroupsCreateOrUpdateResponse>, InstanceFailoverGroupsCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, locationName: string, failoverGroupName: string, parameters: InstanceFailoverGroup, options?: InstanceFailoverGroupsCreateOrUpdateOptionalParams): Promise<InstanceFailoverGroupsCreateOrUpdateResponse>;
    beginDelete(resourceGroupName: string, locationName: string, failoverGroupName: string, options?: InstanceFailoverGroupsDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, locationName: string, failoverGroupName: string, options?: InstanceFailoverGroupsDeleteOptionalParams): Promise<void>;
    beginFailover(resourceGroupName: string, locationName: string, failoverGroupName: string, options?: InstanceFailoverGroupsFailoverOptionalParams): Promise<SimplePollerLike<OperationState<InstanceFailoverGroupsFailoverResponse>, InstanceFailoverGroupsFailoverResponse>>;
    beginFailoverAndWait(resourceGroupName: string, locationName: string, failoverGroupName: string, options?: InstanceFailoverGroupsFailoverOptionalParams): Promise<InstanceFailoverGroupsFailoverResponse>;
    beginForceFailoverAllowDataLoss(resourceGroupName: string, locationName: string, failoverGroupName: string, options?: InstanceFailoverGroupsForceFailoverAllowDataLossOptionalParams): Promise<SimplePollerLike<OperationState<InstanceFailoverGroupsForceFailoverAllowDataLossResponse>, InstanceFailoverGroupsForceFailoverAllowDataLossResponse>>;
    beginForceFailoverAllowDataLossAndWait(resourceGroupName: string, locationName: string, failoverGroupName: string, options?: InstanceFailoverGroupsForceFailoverAllowDataLossOptionalParams): Promise<InstanceFailoverGroupsForceFailoverAllowDataLossResponse>;
    get(resourceGroupName: string, locationName: string, failoverGroupName: string, options?: InstanceFailoverGroupsGetOptionalParams): Promise<InstanceFailoverGroupsGetResponse>;
    listByLocation(resourceGroupName: string, locationName: string, options?: InstanceFailoverGroupsListByLocationOptionalParams): PagedAsyncIterableIterator<InstanceFailoverGroup>;
}

// @public
export interface InstanceFailoverGroupsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type InstanceFailoverGroupsCreateOrUpdateResponse = InstanceFailoverGroup;

// @public
export interface InstanceFailoverGroupsDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface InstanceFailoverGroupsFailoverOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type InstanceFailoverGroupsFailoverResponse = InstanceFailoverGroup;

// @public
export interface InstanceFailoverGroupsForceFailoverAllowDataLossOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type InstanceFailoverGroupsForceFailoverAllowDataLossResponse = InstanceFailoverGroup;

// @public
export interface InstanceFailoverGroupsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type InstanceFailoverGroupsGetResponse = InstanceFailoverGroup;

// @public
export interface InstanceFailoverGroupsListByLocationNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type InstanceFailoverGroupsListByLocationNextResponse = InstanceFailoverGroupListResult;

// @public
export interface InstanceFailoverGroupsListByLocationOptionalParams extends coreClient.OperationOptions {
}

// @public
export type InstanceFailoverGroupsListByLocationResponse = InstanceFailoverGroupListResult;

// @public
export interface InstancePool extends TrackedResource {
    licenseType?: InstancePoolLicenseType;
    sku?: Sku;
    subnetId?: string;
    vCores?: number;
}

// @public
export interface InstancePoolEditionCapability {
    readonly name?: string;
    reason?: string;
    readonly status?: CapabilityStatus;
    readonly supportedFamilies?: InstancePoolFamilyCapability[];
}

// @public
export interface InstancePoolFamilyCapability {
    readonly name?: string;
    reason?: string;
    readonly status?: CapabilityStatus;
    readonly supportedLicenseTypes?: LicenseTypeCapability[];
    readonly supportedVcoresValues?: InstancePoolVcoresCapability[];
}

// @public
export type InstancePoolLicenseType = string;

// @public
export interface InstancePoolListResult {
    readonly nextLink?: string;
    readonly value?: InstancePool[];
}

// @public
export interface InstancePools {
    beginCreateOrUpdate(resourceGroupName: string, instancePoolName: string, parameters: InstancePool, options?: InstancePoolsCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<InstancePoolsCreateOrUpdateResponse>, InstancePoolsCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, instancePoolName: string, parameters: InstancePool, options?: InstancePoolsCreateOrUpdateOptionalParams): Promise<InstancePoolsCreateOrUpdateResponse>;
    beginDelete(resourceGroupName: string, instancePoolName: string, options?: InstancePoolsDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, instancePoolName: string, options?: InstancePoolsDeleteOptionalParams): Promise<void>;
    beginUpdate(resourceGroupName: string, instancePoolName: string, parameters: InstancePoolUpdate, options?: InstancePoolsUpdateOptionalParams): Promise<SimplePollerLike<OperationState<InstancePoolsUpdateResponse>, InstancePoolsUpdateResponse>>;
    beginUpdateAndWait(resourceGroupName: string, instancePoolName: string, parameters: InstancePoolUpdate, options?: InstancePoolsUpdateOptionalParams): Promise<InstancePoolsUpdateResponse>;
    get(resourceGroupName: string, instancePoolName: string, options?: InstancePoolsGetOptionalParams): Promise<InstancePoolsGetResponse>;
    list(options?: InstancePoolsListOptionalParams): PagedAsyncIterableIterator<InstancePool>;
    listByResourceGroup(resourceGroupName: string, options?: InstancePoolsListByResourceGroupOptionalParams): PagedAsyncIterableIterator<InstancePool>;
}

// @public
export interface InstancePoolsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type InstancePoolsCreateOrUpdateResponse = InstancePool;

// @public
export interface InstancePoolsDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface InstancePoolsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type InstancePoolsGetResponse = InstancePool;

// @public
export interface InstancePoolsListByResourceGroupNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type InstancePoolsListByResourceGroupNextResponse = InstancePoolListResult;

// @public
export interface InstancePoolsListByResourceGroupOptionalParams extends coreClient.OperationOptions {
}

// @public
export type InstancePoolsListByResourceGroupResponse = InstancePoolListResult;

// @public
export interface InstancePoolsListNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type InstancePoolsListNextResponse = InstancePoolListResult;

// @public
export interface InstancePoolsListOptionalParams extends coreClient.OperationOptions {
}

// @public
export type InstancePoolsListResponse = InstancePoolListResult;

// @public
export interface InstancePoolsUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type InstancePoolsUpdateResponse = InstancePool;

// @public
export interface InstancePoolUpdate {
    tags?: {
        [propertyName: string]: string;
    };
}

// @public
export interface InstancePoolVcoresCapability {
    readonly name?: string;
    reason?: string;
    readonly status?: CapabilityStatus;
    readonly storageLimit?: MaxSizeCapability;
    readonly value?: number;
}

// @public
export interface IPv6FirewallRule extends ProxyResourceWithWritableName {
    endIPv6Address?: string;
    startIPv6Address?: string;
}

// @public
export interface IPv6FirewallRuleListResult {
    readonly nextLink?: string;
    readonly value?: IPv6FirewallRule[];
}

// @public
export interface IPv6FirewallRules {
    createOrUpdate(resourceGroupName: string, serverName: string, firewallRuleName: string, parameters: IPv6FirewallRule, options?: IPv6FirewallRulesCreateOrUpdateOptionalParams): Promise<IPv6FirewallRulesCreateOrUpdateResponse>;
    delete(resourceGroupName: string, serverName: string, firewallRuleName: string, options?: IPv6FirewallRulesDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, serverName: string, firewallRuleName: string, options?: IPv6FirewallRulesGetOptionalParams): Promise<IPv6FirewallRulesGetResponse>;
    listByServer(resourceGroupName: string, serverName: string, options?: IPv6FirewallRulesListByServerOptionalParams): PagedAsyncIterableIterator<IPv6FirewallRule>;
}

// @public
export interface IPv6FirewallRulesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type IPv6FirewallRulesCreateOrUpdateResponse = IPv6FirewallRule;

// @public
export interface IPv6FirewallRulesDeleteOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface IPv6FirewallRulesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type IPv6FirewallRulesGetResponse = IPv6FirewallRule;

// @public
export interface IPv6FirewallRulesListByServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type IPv6FirewallRulesListByServerNextResponse = IPv6FirewallRuleListResult;

// @public
export interface IPv6FirewallRulesListByServerOptionalParams extends coreClient.OperationOptions {
}

// @public
export type IPv6FirewallRulesListByServerResponse = IPv6FirewallRuleListResult;

// @public
export type IsRetryable = "Yes" | "No";

// @public
export interface Job extends ProxyResource {
    description?: string;
    schedule?: JobSchedule;
    readonly version?: number;
}

// @public
export interface JobAgent extends TrackedResource {
    databaseId?: string;
    sku?: Sku;
    readonly state?: JobAgentState;
}

// @public
export interface JobAgentListResult {
    readonly nextLink?: string;
    readonly value?: JobAgent[];
}

// @public
export interface JobAgents {
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, parameters: JobAgent, options?: JobAgentsCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<JobAgentsCreateOrUpdateResponse>, JobAgentsCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, jobAgentName: string, parameters: JobAgent, options?: JobAgentsCreateOrUpdateOptionalParams): Promise<JobAgentsCreateOrUpdateResponse>;
    beginDelete(resourceGroupName: string, serverName: string, jobAgentName: string, options?: JobAgentsDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, serverName: string, jobAgentName: string, options?: JobAgentsDeleteOptionalParams): Promise<void>;
    beginUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, parameters: JobAgentUpdate, options?: JobAgentsUpdateOptionalParams): Promise<SimplePollerLike<OperationState<JobAgentsUpdateResponse>, JobAgentsUpdateResponse>>;
    beginUpdateAndWait(resourceGroupName: string, serverName: string, jobAgentName: string, parameters: JobAgentUpdate, options?: JobAgentsUpdateOptionalParams): Promise<JobAgentsUpdateResponse>;
    get(resourceGroupName: string, serverName: string, jobAgentName: string, options?: JobAgentsGetOptionalParams): Promise<JobAgentsGetResponse>;
    listByServer(resourceGroupName: string, serverName: string, options?: JobAgentsListByServerOptionalParams): PagedAsyncIterableIterator<JobAgent>;
}

// @public
export interface JobAgentsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type JobAgentsCreateOrUpdateResponse = JobAgent;

// @public
export interface JobAgentsDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface JobAgentsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobAgentsGetResponse = JobAgent;

// @public
export interface JobAgentsListByServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobAgentsListByServerNextResponse = JobAgentListResult;

// @public
export interface JobAgentsListByServerOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobAgentsListByServerResponse = JobAgentListResult;

// @public
export type JobAgentState = string;

// @public
export interface JobAgentsUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type JobAgentsUpdateResponse = JobAgent;

// @public
export interface JobAgentUpdate {
    tags?: {
        [propertyName: string]: string;
    };
}

// @public
export interface JobCredential extends ProxyResource {
    password?: string;
    username?: string;
}

// @public
export interface JobCredentialListResult {
    readonly nextLink?: string;
    readonly value?: JobCredential[];
}

// @public
export interface JobCredentials {
    createOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, credentialName: string, parameters: JobCredential, options?: JobCredentialsCreateOrUpdateOptionalParams): Promise<JobCredentialsCreateOrUpdateResponse>;
    delete(resourceGroupName: string, serverName: string, jobAgentName: string, credentialName: string, options?: JobCredentialsDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, serverName: string, jobAgentName: string, credentialName: string, options?: JobCredentialsGetOptionalParams): Promise<JobCredentialsGetResponse>;
    listByAgent(resourceGroupName: string, serverName: string, jobAgentName: string, options?: JobCredentialsListByAgentOptionalParams): PagedAsyncIterableIterator<JobCredential>;
}

// @public
export interface JobCredentialsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobCredentialsCreateOrUpdateResponse = JobCredential;

// @public
export interface JobCredentialsDeleteOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface JobCredentialsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobCredentialsGetResponse = JobCredential;

// @public
export interface JobCredentialsListByAgentNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobCredentialsListByAgentNextResponse = JobCredentialListResult;

// @public
export interface JobCredentialsListByAgentOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobCredentialsListByAgentResponse = JobCredentialListResult;

// @public
export interface JobExecution extends ProxyResource {
    readonly createTime?: Date;
    currentAttempts?: number;
    readonly currentAttemptStartTime?: Date;
    readonly endTime?: Date;
    readonly jobExecutionId?: string;
    readonly jobVersion?: number;
    readonly lastMessage?: string;
    readonly lifecycle?: JobExecutionLifecycle;
    readonly provisioningState?: ProvisioningState;
    readonly startTime?: Date;
    readonly stepId?: number;
    readonly stepName?: string;
    readonly target?: JobExecutionTarget;
}

// @public
export type JobExecutionLifecycle = string;

// @public
export interface JobExecutionListResult {
    readonly nextLink?: string;
    readonly value?: JobExecution[];
}

// @public
export interface JobExecutions {
    beginCreate(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options?: JobExecutionsCreateOptionalParams): Promise<SimplePollerLike<OperationState<JobExecutionsCreateResponse>, JobExecutionsCreateResponse>>;
    beginCreateAndWait(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options?: JobExecutionsCreateOptionalParams): Promise<JobExecutionsCreateResponse>;
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, options?: JobExecutionsCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<JobExecutionsCreateOrUpdateResponse>, JobExecutionsCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, options?: JobExecutionsCreateOrUpdateOptionalParams): Promise<JobExecutionsCreateOrUpdateResponse>;
    cancel(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, options?: JobExecutionsCancelOptionalParams): Promise<void>;
    get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, options?: JobExecutionsGetOptionalParams): Promise<JobExecutionsGetResponse>;
    listByAgent(resourceGroupName: string, serverName: string, jobAgentName: string, options?: JobExecutionsListByAgentOptionalParams): PagedAsyncIterableIterator<JobExecution>;
    listByJob(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options?: JobExecutionsListByJobOptionalParams): PagedAsyncIterableIterator<JobExecution>;
}

// @public
export interface JobExecutionsCancelOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface JobExecutionsCreateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface JobExecutionsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type JobExecutionsCreateOrUpdateResponse = JobExecution;

// @public
export type JobExecutionsCreateResponse = JobExecution;

// @public
export interface JobExecutionsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobExecutionsGetResponse = JobExecution;

// @public
export interface JobExecutionsListByAgentNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobExecutionsListByAgentNextResponse = JobExecutionListResult;

// @public
export interface JobExecutionsListByAgentOptionalParams extends coreClient.OperationOptions {
    createTimeMax?: Date;
    createTimeMin?: Date;
    endTimeMax?: Date;
    endTimeMin?: Date;
    isActive?: boolean;
    skip?: number;
    top?: number;
}

// @public
export type JobExecutionsListByAgentResponse = JobExecutionListResult;

// @public
export interface JobExecutionsListByJobNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobExecutionsListByJobNextResponse = JobExecutionListResult;

// @public
export interface JobExecutionsListByJobOptionalParams extends coreClient.OperationOptions {
    createTimeMax?: Date;
    createTimeMin?: Date;
    endTimeMax?: Date;
    endTimeMin?: Date;
    isActive?: boolean;
    skip?: number;
    top?: number;
}

// @public
export type JobExecutionsListByJobResponse = JobExecutionListResult;

// @public
export interface JobExecutionTarget {
    readonly databaseName?: string;
    readonly serverName?: string;
    readonly type?: JobTargetType;
}

// @public
export interface JobListResult {
    readonly nextLink?: string;
    readonly value?: Job[];
}

// @public
export interface Jobs {
    createOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, parameters: Job, options?: JobsCreateOrUpdateOptionalParams): Promise<JobsCreateOrUpdateResponse>;
    delete(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options?: JobsDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options?: JobsGetOptionalParams): Promise<JobsGetResponse>;
    listByAgent(resourceGroupName: string, serverName: string, jobAgentName: string, options?: JobsListByAgentOptionalParams): PagedAsyncIterableIterator<Job>;
}

// @public
export interface JobSchedule {
    enabled?: boolean;
    endTime?: Date;
    interval?: string;
    startTime?: Date;
    type?: JobScheduleType;
}

// @public
export type JobScheduleType = "Once" | "Recurring";

// @public
export interface JobsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobsCreateOrUpdateResponse = Job;

// @public
export interface JobsDeleteOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface JobsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobsGetResponse = Job;

// @public
export interface JobsListByAgentNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobsListByAgentNextResponse = JobListResult;

// @public
export interface JobsListByAgentOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobsListByAgentResponse = JobListResult;

// @public
export interface JobStep extends ProxyResource {
    action?: JobStepAction;
    credential?: string;
    executionOptions?: JobStepExecutionOptions;
    output?: JobStepOutput;
    stepId?: number;
    targetGroup?: string;
}

// @public
export interface JobStepAction {
    source?: JobStepActionSource;
    type?: JobStepActionType;
    value: string;
}

// @public
export type JobStepActionSource = string;

// @public
export type JobStepActionType = string;

// @public
export interface JobStepExecutionOptions {
    initialRetryIntervalSeconds?: number;
    maximumRetryIntervalSeconds?: number;
    retryAttempts?: number;
    retryIntervalBackoffMultiplier?: number;
    timeoutSeconds?: number;
}

// @public
export interface JobStepExecutions {
    get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, stepName: string, options?: JobStepExecutionsGetOptionalParams): Promise<JobStepExecutionsGetResponse>;
    listByJobExecution(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, options?: JobStepExecutionsListByJobExecutionOptionalParams): PagedAsyncIterableIterator<JobExecution>;
}

// @public
export interface JobStepExecutionsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobStepExecutionsGetResponse = JobExecution;

// @public
export interface JobStepExecutionsListByJobExecutionNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobStepExecutionsListByJobExecutionNextResponse = JobExecutionListResult;

// @public
export interface JobStepExecutionsListByJobExecutionOptionalParams extends coreClient.OperationOptions {
    createTimeMax?: Date;
    createTimeMin?: Date;
    endTimeMax?: Date;
    endTimeMin?: Date;
    isActive?: boolean;
    skip?: number;
    top?: number;
}

// @public
export type JobStepExecutionsListByJobExecutionResponse = JobExecutionListResult;

// @public
export interface JobStepListResult {
    readonly nextLink?: string;
    readonly value?: JobStep[];
}

// @public
export interface JobStepOutput {
    credential: string;
    databaseName: string;
    resourceGroupName?: string;
    schemaName?: string;
    serverName: string;
    subscriptionId?: string;
    tableName: string;
    type?: JobStepOutputType;
}

// @public
export type JobStepOutputType = string;

// @public
export interface JobSteps {
    createOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, stepName: string, parameters: JobStep, options?: JobStepsCreateOrUpdateOptionalParams): Promise<JobStepsCreateOrUpdateResponse>;
    delete(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, stepName: string, options?: JobStepsDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, stepName: string, options?: JobStepsGetOptionalParams): Promise<JobStepsGetResponse>;
    getByVersion(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobVersion: number, stepName: string, options?: JobStepsGetByVersionOptionalParams): Promise<JobStepsGetByVersionResponse>;
    listByJob(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options?: JobStepsListByJobOptionalParams): PagedAsyncIterableIterator<JobStep>;
    listByVersion(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobVersion: number, options?: JobStepsListByVersionOptionalParams): PagedAsyncIterableIterator<JobStep>;
}

// @public
export interface JobStepsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobStepsCreateOrUpdateResponse = JobStep;

// @public
export interface JobStepsDeleteOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface JobStepsGetByVersionOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobStepsGetByVersionResponse = JobStep;

// @public
export interface JobStepsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobStepsGetResponse = JobStep;

// @public
export interface JobStepsListByJobNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobStepsListByJobNextResponse = JobStepListResult;

// @public
export interface JobStepsListByJobOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobStepsListByJobResponse = JobStepListResult;

// @public
export interface JobStepsListByVersionNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobStepsListByVersionNextResponse = JobStepListResult;

// @public
export interface JobStepsListByVersionOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobStepsListByVersionResponse = JobStepListResult;

// @public
export interface JobTarget {
    databaseName?: string;
    elasticPoolName?: string;
    membershipType?: JobTargetGroupMembershipType;
    refreshCredential?: string;
    serverName?: string;
    shardMapName?: string;
    type: JobTargetType;
}

// @public
export interface JobTargetExecutions {
    get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, stepName: string, targetId: string, options?: JobTargetExecutionsGetOptionalParams): Promise<JobTargetExecutionsGetResponse>;
    listByJobExecution(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, options?: JobTargetExecutionsListByJobExecutionOptionalParams): PagedAsyncIterableIterator<JobExecution>;
    listByStep(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobExecutionId: string, stepName: string, options?: JobTargetExecutionsListByStepOptionalParams): PagedAsyncIterableIterator<JobExecution>;
}

// @public
export interface JobTargetExecutionsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobTargetExecutionsGetResponse = JobExecution;

// @public
export interface JobTargetExecutionsListByJobExecutionNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobTargetExecutionsListByJobExecutionNextResponse = JobExecutionListResult;

// @public
export interface JobTargetExecutionsListByJobExecutionOptionalParams extends coreClient.OperationOptions {
    createTimeMax?: Date;
    createTimeMin?: Date;
    endTimeMax?: Date;
    endTimeMin?: Date;
    isActive?: boolean;
    skip?: number;
    top?: number;
}

// @public
export type JobTargetExecutionsListByJobExecutionResponse = JobExecutionListResult;

// @public
export interface JobTargetExecutionsListByStepNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobTargetExecutionsListByStepNextResponse = JobExecutionListResult;

// @public
export interface JobTargetExecutionsListByStepOptionalParams extends coreClient.OperationOptions {
    createTimeMax?: Date;
    createTimeMin?: Date;
    endTimeMax?: Date;
    endTimeMin?: Date;
    isActive?: boolean;
    skip?: number;
    top?: number;
}

// @public
export type JobTargetExecutionsListByStepResponse = JobExecutionListResult;

// @public
export interface JobTargetGroup extends ProxyResource {
    members?: JobTarget[];
}

// @public
export interface JobTargetGroupListResult {
    readonly nextLink?: string;
    readonly value?: JobTargetGroup[];
}

// @public
export type JobTargetGroupMembershipType = "Include" | "Exclude";

// @public
export interface JobTargetGroups {
    createOrUpdate(resourceGroupName: string, serverName: string, jobAgentName: string, targetGroupName: string, parameters: JobTargetGroup, options?: JobTargetGroupsCreateOrUpdateOptionalParams): Promise<JobTargetGroupsCreateOrUpdateResponse>;
    delete(resourceGroupName: string, serverName: string, jobAgentName: string, targetGroupName: string, options?: JobTargetGroupsDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, serverName: string, jobAgentName: string, targetGroupName: string, options?: JobTargetGroupsGetOptionalParams): Promise<JobTargetGroupsGetResponse>;
    listByAgent(resourceGroupName: string, serverName: string, jobAgentName: string, options?: JobTargetGroupsListByAgentOptionalParams): PagedAsyncIterableIterator<JobTargetGroup>;
}

// @public
export interface JobTargetGroupsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobTargetGroupsCreateOrUpdateResponse = JobTargetGroup;

// @public
export interface JobTargetGroupsDeleteOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface JobTargetGroupsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobTargetGroupsGetResponse = JobTargetGroup;

// @public
export interface JobTargetGroupsListByAgentNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobTargetGroupsListByAgentNextResponse = JobTargetGroupListResult;

// @public
export interface JobTargetGroupsListByAgentOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobTargetGroupsListByAgentResponse = JobTargetGroupListResult;

// @public
export type JobTargetType = string;

// @public
export interface JobVersion extends ProxyResource {
}

// @public
export interface JobVersionListResult {
    readonly nextLink?: string;
    readonly value?: JobVersion[];
}

// @public
export interface JobVersions {
    get(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, jobVersion: number, options?: JobVersionsGetOptionalParams): Promise<JobVersionsGetResponse>;
    listByJob(resourceGroupName: string, serverName: string, jobAgentName: string, jobName: string, options?: JobVersionsListByJobOptionalParams): PagedAsyncIterableIterator<JobVersion>;
}

// @public
export interface JobVersionsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobVersionsGetResponse = JobVersion;

// @public
export interface JobVersionsListByJobNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobVersionsListByJobNextResponse = JobVersionListResult;

// @public
export interface JobVersionsListByJobOptionalParams extends coreClient.OperationOptions {
}

// @public
export type JobVersionsListByJobResponse = JobVersionListResult;

// @public
export enum KnownAdministratorName {
    ActiveDirectory = "ActiveDirectory"
}

// @public
export enum KnownAdministratorType {
    ActiveDirectory = "ActiveDirectory"
}

// @public
export enum KnownAdvancedThreatProtectionName {
    Default = "Default"
}

// @public
export enum KnownAggregationFunctionType {
    Avg = "avg",
    Max = "max",
    Min = "min",
    Stdev = "stdev",
    Sum = "sum"
}

// @public
export enum KnownAlwaysEncryptedEnclaveType {
    Default = "Default",
    VBS = "VBS"
}

// @public
export enum KnownAuthenticationName {
    Default = "Default"
}

// @public
export enum KnownAvailabilityZoneType {
    NoPreference = "NoPreference",
    One = "1",
    Three = "3",
    Two = "2"
}

// @public
export enum KnownBackupStorageRedundancy {
    Geo = "Geo",
    GeoZone = "GeoZone",
    Local = "Local",
    Zone = "Zone"
}

// @public
export enum KnownBaselineName {
    Default = "default"
}

// @public
export enum KnownCapabilityGroup {
    SupportedEditions = "supportedEditions",
    SupportedElasticPoolEditions = "supportedElasticPoolEditions",
    SupportedInstancePoolEditions = "supportedInstancePoolEditions",
    SupportedManagedInstanceEditions = "supportedManagedInstanceEditions",
    SupportedManagedInstanceVersions = "supportedManagedInstanceVersions"
}

// @public
export enum KnownCatalogCollationType {
    DatabaseDefault = "DATABASE_DEFAULT",
    SQLLatin1GeneralCP1CIAS = "SQL_Latin1_General_CP1_CI_AS"
}

// @public
export enum KnownColumnDataType {
    Bigint = "bigint",
    Binary = "binary",
    Bit = "bit",
    Char = "char",
    Date = "date",
    Datetime = "datetime",
    Datetime2 = "datetime2",
    Datetimeoffset = "datetimeoffset",
    Decimal = "decimal",
    Float = "float",
    Geography = "geography",
    Geometry = "geometry",
    Hierarchyid = "hierarchyid",
    Image = "image",
    Int = "int",
    Money = "money",
    Nchar = "nchar",
    Ntext = "ntext",
    Numeric = "numeric",
    Nvarchar = "nvarchar",
    Real = "real",
    Smalldatetime = "smalldatetime",
    Smallint = "smallint",
    Smallmoney = "smallmoney",
    SqlVariant = "sql_variant",
    Sysname = "sysname",
    Text = "text",
    Time = "time",
    Timestamp = "timestamp",
    Tinyint = "tinyint",
    Uniqueidentifier = "uniqueidentifier",
    Varbinary = "varbinary",
    Varchar = "varchar",
    Xml = "xml"
}

// @public
export enum KnownConnectionPolicyName {
    Default = "default"
}

// @public
export enum KnownCreatedByType {
    Application = "Application",
    Key = "Key",
    ManagedIdentity = "ManagedIdentity",
    User = "User"
}

// @public
export enum KnownCreateMode {
    Copy = "Copy",
    Default = "Default",
    OnlineSecondary = "OnlineSecondary",
    PointInTimeRestore = "PointInTimeRestore",
    Recovery = "Recovery",
    Restore = "Restore",
    RestoreExternalBackup = "RestoreExternalBackup",
    RestoreExternalBackupSecondary = "RestoreExternalBackupSecondary",
    RestoreLongTermRetentionBackup = "RestoreLongTermRetentionBackup",
    Secondary = "Secondary"
}

// @public
export enum KnownDatabaseIdentityType {
    None = "None",
    UserAssigned = "UserAssigned"
}

// @public
export enum KnownDatabaseKeyType {
    AzureKeyVault = "AzureKeyVault"
}

// @public
export enum KnownDatabaseLicenseType {
    BasePrice = "BasePrice",
    LicenseIncluded = "LicenseIncluded"
}

// @public
export enum KnownDatabaseReadScale {
    Disabled = "Disabled",
    Enabled = "Enabled"
}

// @public
export enum KnownDatabaseState {
    All = "All",
    Deleted = "Deleted",
    Live = "Live"
}

// @public
export enum KnownDatabaseStatus {
    AutoClosed = "AutoClosed",
    Copying = "Copying",
    Creating = "Creating",
    Disabled = "Disabled",
    EmergencyMode = "EmergencyMode",
    Inaccessible = "Inaccessible",
    Offline = "Offline",
    OfflineChangingDwPerformanceTiers = "OfflineChangingDwPerformanceTiers",
    OfflineSecondary = "OfflineSecondary",
    Online = "Online",
    OnlineChangingDwPerformanceTiers = "OnlineChangingDwPerformanceTiers",
    Paused = "Paused",
    Pausing = "Pausing",
    Recovering = "Recovering",
    RecoveryPending = "RecoveryPending",
    Restoring = "Restoring",
    Resuming = "Resuming",
    Scaling = "Scaling",
    Shutdown = "Shutdown",
    Standby = "Standby",
    Starting = "Starting",
    Stopped = "Stopped",
    Stopping = "Stopping",
    Suspect = "Suspect"
}

// @public
export enum KnownDataWarehouseUserActivityName {
    Current = "current"
}

// @public
export enum KnownDayOfWeek {
    Friday = "Friday",
    Monday = "Monday",
    Saturday = "Saturday",
    Sunday = "Sunday",
    Thursday = "Thursday",
    Tuesday = "Tuesday",
    Wednesday = "Wednesday"
}

// @public
export enum KnownDevOpsAuditingSettingsName {
    Default = "Default"
}

// @public
export enum KnownDiffBackupIntervalInHours {
    Twelve = 12,
    TwentyFour = 24
}

// @public
export enum KnownDNSRefreshOperationStatus {
    Failed = "Failed",
    InProgress = "InProgress",
    Succeeded = "Succeeded"
}

// @public
export enum KnownDtcName {
    Current = "current"
}

// @public
export enum KnownElasticPoolLicenseType {
    BasePrice = "BasePrice",
    LicenseIncluded = "LicenseIncluded"
}

// @public
export enum KnownElasticPoolState {
    Creating = "Creating",
    Disabled = "Disabled",
    Ready = "Ready"
}

// @public
export enum KnownEncryptionProtectorName {
    Current = "current"
}

// @public
export enum KnownExternalGovernanceStatus {
    Disabled = "Disabled",
    Enabled = "Enabled"
}

// @public
export enum KnownFailoverGroupReplicationRole {
    Primary = "Primary",
    Secondary = "Secondary"
}

// @public
export enum KnownGeoBackupPolicyName {
    Default = "Default"
}

// @public
export enum KnownIdentityType {
    None = "None",
    SystemAssigned = "SystemAssigned",
    SystemAssignedUserAssigned = "SystemAssigned,UserAssigned",
    UserAssigned = "UserAssigned"
}

// @public
export enum KnownInstanceFailoverGroupReplicationRole {
    Primary = "Primary",
    Secondary = "Secondary"
}

// @public
export enum KnownInstancePoolLicenseType {
    BasePrice = "BasePrice",
    LicenseIncluded = "LicenseIncluded"
}

// @public
export enum KnownJobAgentState {
    Creating = "Creating",
    Deleting = "Deleting",
    Disabled = "Disabled",
    Ready = "Ready",
    Updating = "Updating"
}

// @public
export enum KnownJobExecutionLifecycle {
    Canceled = "Canceled",
    Created = "Created",
    Failed = "Failed",
    InProgress = "InProgress",
    Skipped = "Skipped",
    Succeeded = "Succeeded",
    SucceededWithSkipped = "SucceededWithSkipped",
    TimedOut = "TimedOut",
    WaitingForChildJobExecutions = "WaitingForChildJobExecutions",
    WaitingForRetry = "WaitingForRetry"
}

// @public
export enum KnownJobStepActionSource {
    Inline = "Inline"
}

// @public
export enum KnownJobStepActionType {
    TSql = "TSql"
}

// @public
export enum KnownJobStepOutputType {
    SqlDatabase = "SqlDatabase"
}

// @public
export enum KnownJobTargetType {
    SqlDatabase = "SqlDatabase",
    SqlElasticPool = "SqlElasticPool",
    SqlServer = "SqlServer",
    SqlShardMap = "SqlShardMap",
    TargetGroup = "TargetGroup"
}

// @public
export enum KnownLedgerDigestUploadsName {
    Current = "current"
}

// @public
export enum KnownLogSizeUnit {
    Gigabytes = "Gigabytes",
    Megabytes = "Megabytes",
    Percent = "Percent",
    Petabytes = "Petabytes",
    Terabytes = "Terabytes"
}

// @public
export enum KnownLongTermRetentionPolicyName {
    Default = "default"
}

// @public
export enum KnownManagedDatabaseCreateMode {
    Default = "Default",
    PointInTimeRestore = "PointInTimeRestore",
    Recovery = "Recovery",
    RestoreExternalBackup = "RestoreExternalBackup",
    RestoreLongTermRetentionBackup = "RestoreLongTermRetentionBackup"
}

// @public
export enum KnownManagedDatabaseStatus {
    Creating = "Creating",
    DbCopying = "DbCopying",
    DbMoving = "DbMoving",
    Inaccessible = "Inaccessible",
    Offline = "Offline",
    Online = "Online",
    Restoring = "Restoring",
    Shutdown = "Shutdown",
    Starting = "Starting",
    Stopped = "Stopped",
    Stopping = "Stopping",
    Updating = "Updating"
}

// @public
export enum KnownManagedInstanceAdministratorType {
    ActiveDirectory = "ActiveDirectory"
}

// @public
export enum KnownManagedInstanceLicenseType {
    BasePrice = "BasePrice",
    LicenseIncluded = "LicenseIncluded"
}

// @public
export enum KnownManagedInstanceLongTermRetentionPolicyName {
    Default = "default"
}

// @public
export enum KnownManagedInstancePropertiesProvisioningState {
    Accepted = "Accepted",
    Canceled = "Canceled",
    Created = "Created",
    Creating = "Creating",
    Deleted = "Deleted",
    Deleting = "Deleting",
    Failed = "Failed",
    NotSpecified = "NotSpecified",
    Registering = "Registering",
    Running = "Running",
    Succeeded = "Succeeded",
    TimedOut = "TimedOut",
    Unknown = "Unknown",
    Unrecognized = "Unrecognized",
    Updating = "Updating"
}

// @public
export enum KnownManagedInstanceProxyOverride {
    Default = "Default",
    Proxy = "Proxy",
    Redirect = "Redirect"
}

// @public
export enum KnownManagedLedgerDigestUploadsName {
    Current = "current"
}

// @public
export enum KnownManagedLedgerDigestUploadsState {
    Disabled = "Disabled",
    Enabled = "Enabled"
}

// @public
export enum KnownManagedServerCreateMode {
    Default = "Default",
    PointInTimeRestore = "PointInTimeRestore"
}

// @public
export enum KnownManagedShortTermRetentionPolicyName {
    Default = "default"
}

// @public
export enum KnownManagementOperationState {
    CancelInProgress = "CancelInProgress",
    Cancelled = "Cancelled",
    Failed = "Failed",
    InProgress = "InProgress",
    Pending = "Pending",
    Succeeded = "Succeeded"
}

// @public
export enum KnownMaxSizeUnit {
    Gigabytes = "Gigabytes",
    Megabytes = "Megabytes",
    Petabytes = "Petabytes",
    Terabytes = "Terabytes"
}

// @public
export enum KnownMetricType {
    Cpu = "cpu",
    Dtu = "dtu",
    Duration = "duration",
    Io = "io",
    LogIo = "logIo"
}

// @public
export enum KnownMoveOperationMode {
    Copy = "Copy",
    Move = "Move"
}

// @public
export enum KnownOperationMode {
    PolybaseImport = "PolybaseImport"
}

// @public
export enum KnownOperationOrigin {
    System = "system",
    User = "user"
}

// @public
export enum KnownPauseDelayTimeUnit {
    Minutes = "Minutes"
}

// @public
export enum KnownPerformanceLevelUnit {
    DTU = "DTU",
    VCores = "VCores"
}

// @public
export enum KnownPrimaryAggregationType {
    Average = "Average",
    Count = "Count",
    Maximum = "Maximum",
    Minimum = "Minimum",
    None = "None",
    Total = "Total"
}

// @public
export enum KnownPrincipalType {
    Application = "Application",
    Group = "Group",
    User = "User"
}

// @public
export enum KnownPrivateEndpointProvisioningState {
    Approving = "Approving",
    Dropping = "Dropping",
    Failed = "Failed",
    Ready = "Ready",
    Rejecting = "Rejecting"
}

// @public
export enum KnownPrivateLinkServiceConnectionStateActionsRequire {
    None = "None"
}

// @public
export enum KnownPrivateLinkServiceConnectionStateStatus {
    Approved = "Approved",
    Disconnected = "Disconnected",
    Pending = "Pending",
    Rejected = "Rejected"
}

// @public
export enum KnownProvisioningState {
    Canceled = "Canceled",
    Created = "Created",
    Failed = "Failed",
    InProgress = "InProgress",
    Succeeded = "Succeeded"
}

// @public
export enum KnownQueryMetricUnitType {
    Count = "count",
    KB = "KB",
    Microseconds = "microseconds",
    Percentage = "percentage"
}

// @public
export enum KnownQueryTimeGrainType {
    P1D = "P1D",
    PT1H = "PT1H"
}

// @public
export enum KnownReadOnlyEndpointFailoverPolicy {
    Disabled = "Disabled",
    Enabled = "Enabled"
}

// @public
export enum KnownReadWriteEndpointFailoverPolicy {
    Automatic = "Automatic",
    Manual = "Manual"
}

// @public
export enum KnownRecommendedActionCurrentState {
    Active = "Active",
    Error = "Error",
    Executing = "Executing",
    Expired = "Expired",
    Ignored = "Ignored",
    Monitoring = "Monitoring",
    Pending = "Pending",
    PendingRevert = "PendingRevert",
    Resolved = "Resolved",
    RevertCancelled = "RevertCancelled",
    Reverted = "Reverted",
    Reverting = "Reverting",
    Success = "Success",
    Verifying = "Verifying"
}

// @public
export enum KnownReplicationLinkType {
    GEO = "GEO",
    Named = "NAMED",
    Standby = "STANDBY"
}

// @public
export enum KnownReplicationMode {
    Async = "Async",
    Sync = "Sync"
}

// @public
export enum KnownReplicationState {
    CatchUP = "CATCH_UP",
    Pending = "PENDING",
    Seeding = "SEEDING",
    Suspended = "SUSPENDED"
}

// @public
export enum KnownReplicaType {
    Primary = "Primary",
    ReadableSecondary = "ReadableSecondary"
}

// @public
export enum KnownRestoreDetailsName {
    Default = "Default"
}

// @public
export enum KnownRuleSeverity {
    High = "High",
    Informational = "Informational",
    Low = "Low",
    Medium = "Medium",
    Obsolete = "Obsolete"
}

// @public
export enum KnownRuleStatus {
    Finding = "Finding",
    InternalError = "InternalError",
    NonFinding = "NonFinding"
}

// @public
export enum KnownRuleType {
    BaselineExpected = "BaselineExpected",
    Binary = "Binary",
    NegativeList = "NegativeList",
    PositiveList = "PositiveList"
}

// @public
export enum KnownSampleName {
    AdventureWorksLT = "AdventureWorksLT",
    WideWorldImportersFull = "WideWorldImportersFull",
    WideWorldImportersStd = "WideWorldImportersStd"
}

// @public
export enum KnownSecondaryInstanceType {
    Geo = "Geo",
    Standby = "Standby"
}

// @public
export enum KnownSecondaryType {
    Geo = "Geo",
    Named = "Named",
    Standby = "Standby"
}

// @public
export enum KnownSecurityAlertPolicyName {
    Default = "Default"
}

// @public
export enum KnownServerConfigurationOptionName {
    AllowPolybaseExport = "allowPolybaseExport"
}

// @public
export enum KnownServerConnectionType {
    Default = "Default",
    Proxy = "Proxy",
    Redirect = "Redirect"
}

// @public
export enum KnownServerKeyType {
    AzureKeyVault = "AzureKeyVault",
    ServiceManaged = "ServiceManaged"
}

// @public
export enum KnownServerNetworkAccessFlag {
    Disabled = "Disabled",
    Enabled = "Enabled"
}

// @public
export enum KnownServerPublicNetworkAccessFlag {
    Disabled = "Disabled",
    Enabled = "Enabled",
    SecuredByPerimeter = "SecuredByPerimeter"
}

// @public
export enum KnownServerTrustGroupPropertiesTrustScopesItem {
    GlobalTransactions = "GlobalTransactions",
    ServiceBroker = "ServiceBroker"
}

// @public
export enum KnownServerWorkspaceFeature {
    Connected = "Connected",
    Disconnected = "Disconnected"
}

// @public
export enum KnownServiceObjectiveName {
    Basic = "Basic",
    DS100 = "DS100",
    DS1000 = "DS1000",
    DS1200 = "DS1200",
    DS1500 = "DS1500",
    DS200 = "DS200",
    DS2000 = "DS2000",
    DS300 = "DS300",
    DS400 = "DS400",
    DS500 = "DS500",
    DS600 = "DS600",
    DW100 = "DW100",
    DW1000 = "DW1000",
    DW10000C = "DW10000c",
    DW1000C = "DW1000c",
    DW1200 = "DW1200",
    DW1500 = "DW1500",
    DW15000C = "DW15000c",
    DW1500C = "DW1500c",
    DW200 = "DW200",
    DW2000 = "DW2000",
    DW2000C = "DW2000c",
    DW2500C = "DW2500c",
    DW300 = "DW300",
    DW3000 = "DW3000",
    DW30000C = "DW30000c",
    DW3000C = "DW3000c",
    DW400 = "DW400",
    DW500 = "DW500",
    DW5000C = "DW5000c",
    DW600 = "DW600",
    DW6000 = "DW6000",
    DW6000C = "DW6000c",
    DW7500C = "DW7500c",
    ElasticPool = "ElasticPool",
    Free = "Free",
    P1 = "P1",
    P11 = "P11",
    P15 = "P15",
    P2 = "P2",
    P3 = "P3",
    P4 = "P4",
    P6 = "P6",
    PRS1 = "PRS1",
    PRS2 = "PRS2",
    PRS4 = "PRS4",
    PRS6 = "PRS6",
    S0 = "S0",
    S1 = "S1",
    S12 = "S12",
    S2 = "S2",
    S3 = "S3",
    S4 = "S4",
    S6 = "S6",
    S7 = "S7",
    S9 = "S9",
    System = "System",
    System0 = "System0",
    System1 = "System1",
    System2 = "System2",
    System2L = "System2L",
    System3 = "System3",
    System3L = "System3L",
    System4 = "System4",
    System4L = "System4L"
}

// @public
export enum KnownServicePrincipalType {
    None = "None",
    SystemAssigned = "SystemAssigned"
}

// @public
export enum KnownShortTermRetentionPolicyName {
    Default = "default"
}

// @public
export enum KnownSqlAgentConfigurationPropertiesState {
    Disabled = "Disabled",
    Enabled = "Enabled"
}

// @public
export enum KnownSQLVulnerabilityAssessmentName {
    Default = "default"
}

// @public
export enum KnownSqlVulnerabilityAssessmentName {
    Default = "default"
}

// @public
export enum KnownStartStopScheduleName {
    Default = "default"
}

// @public
export enum KnownStorageCapabilityStorageAccountType {
    GRS = "GRS",
    LRS = "LRS",
    ZRS = "ZRS"
}

// @public
export enum KnownStorageKeyType {
    SharedAccessKey = "SharedAccessKey",
    StorageAccessKey = "StorageAccessKey"
}

// @public
export enum KnownSyncAgentState {
    NeverConnected = "NeverConnected",
    Offline = "Offline",
    Online = "Online"
}

// @public
export enum KnownSyncConflictResolutionPolicy {
    HubWin = "HubWin",
    MemberWin = "MemberWin"
}

// @public
export enum KnownSyncDirection {
    Bidirectional = "Bidirectional",
    OneWayHubToMember = "OneWayHubToMember",
    OneWayMemberToHub = "OneWayMemberToHub"
}

// @public
export enum KnownSyncGroupLogType {
    All = "All",
    Error = "Error",
    Success = "Success",
    Warning = "Warning"
}

// @public
export enum KnownSyncGroupState {
    Error = "Error",
    Good = "Good",
    NotReady = "NotReady",
    Progressing = "Progressing",
    Warning = "Warning"
}

// @public
export enum KnownSyncGroupsType {
    All = "All",
    Error = "Error",
    Success = "Success",
    Warning = "Warning"
}

// @public
export enum KnownSyncMemberDbType {
    AzureSqlDatabase = "AzureSqlDatabase",
    SqlServerDatabase = "SqlServerDatabase"
}

// @public
export enum KnownSyncMemberState {
    DeProvisioned = "DeProvisioned",
    DeProvisionFailed = "DeProvisionFailed",
    DeProvisioning = "DeProvisioning",
    DisabledBackupRestore = "DisabledBackupRestore",
    DisabledTombstoneCleanup = "DisabledTombstoneCleanup",
    Provisioned = "Provisioned",
    ProvisionFailed = "ProvisionFailed",
    Provisioning = "Provisioning",
    ReprovisionFailed = "ReprovisionFailed",
    Reprovisioning = "Reprovisioning",
    SyncCancelled = "SyncCancelled",
    SyncCancelling = "SyncCancelling",
    SyncFailed = "SyncFailed",
    SyncInProgress = "SyncInProgress",
    SyncSucceeded = "SyncSucceeded",
    SyncSucceededWithWarnings = "SyncSucceededWithWarnings",
    UnProvisioned = "UnProvisioned",
    UnReprovisioned = "UnReprovisioned"
}

// @public
export enum KnownTableTemporalType {
    HistoryTable = "HistoryTable",
    NonTemporalTable = "NonTemporalTable",
    SystemVersionedTemporalTable = "SystemVersionedTemporalTable"
}

// @public
export enum KnownTransparentDataEncryptionName {
    Current = "current"
}

// @public
export enum KnownUnitDefinitionType {
    Bytes = "Bytes",
    BytesPerSecond = "BytesPerSecond",
    Count = "Count",
    CountPerSecond = "CountPerSecond",
    Percent = "Percent",
    Seconds = "Seconds"
}

// @public
export enum KnownUnitType {
    Bytes = "bytes",
    BytesPerSecond = "bytesPerSecond",
    Count = "count",
    CountPerSecond = "countPerSecond",
    Percent = "percent",
    Seconds = "seconds"
}

// @public
export enum KnownUpsertManagedServerOperationStepStatus {
    Canceled = "Canceled",
    Completed = "Completed",
    Failed = "Failed",
    InProgress = "InProgress",
    NotStarted = "NotStarted",
    SlowedDown = "SlowedDown"
}

// @public
export enum KnownVirtualNetworkRuleState {
    Deleting = "Deleting",
    Failed = "Failed",
    Initializing = "Initializing",
    InProgress = "InProgress",
    Ready = "Ready",
    Unknown = "Unknown"
}

// @public
export enum KnownVulnerabilityAssessmentName {
    Default = "default"
}

// @public
export enum KnownVulnerabilityAssessmentScanState {
    Failed = "Failed",
    FailedToRun = "FailedToRun",
    InProgress = "InProgress",
    Passed = "Passed"
}

// @public
export enum KnownVulnerabilityAssessmentScanTriggerType {
    OnDemand = "OnDemand",
    Recurring = "Recurring"
}

// @public
export interface LedgerDigestUploads extends ProxyResource {
    digestStorageEndpoint?: string;
    readonly state?: LedgerDigestUploadsState;
}

// @public
export interface LedgerDigestUploadsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type LedgerDigestUploadsCreateOrUpdateResponse = LedgerDigestUploads;

// @public
export interface LedgerDigestUploadsDisableOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type LedgerDigestUploadsDisableResponse = LedgerDigestUploads;

// @public
export interface LedgerDigestUploadsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type LedgerDigestUploadsGetResponse = LedgerDigestUploads;

// @public
export interface LedgerDigestUploadsListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type LedgerDigestUploadsListByDatabaseNextResponse = LedgerDigestUploadsListResult;

// @public
export interface LedgerDigestUploadsListByDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type LedgerDigestUploadsListByDatabaseResponse = LedgerDigestUploadsListResult;

// @public
export interface LedgerDigestUploadsListResult {
    readonly nextLink?: string;
    readonly value?: LedgerDigestUploads[];
}

// @public
export type LedgerDigestUploadsName = string;

// @public
export interface LedgerDigestUploadsOperations {
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, ledgerDigestUploads: LedgerDigestUploadsName, parameters: LedgerDigestUploads, options?: LedgerDigestUploadsCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<LedgerDigestUploadsCreateOrUpdateResponse>, LedgerDigestUploadsCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, databaseName: string, ledgerDigestUploads: LedgerDigestUploadsName, parameters: LedgerDigestUploads, options?: LedgerDigestUploadsCreateOrUpdateOptionalParams): Promise<LedgerDigestUploadsCreateOrUpdateResponse>;
    beginDisable(resourceGroupName: string, serverName: string, databaseName: string, ledgerDigestUploads: LedgerDigestUploadsName, options?: LedgerDigestUploadsDisableOptionalParams): Promise<SimplePollerLike<OperationState<LedgerDigestUploadsDisableResponse>, LedgerDigestUploadsDisableResponse>>;
    beginDisableAndWait(resourceGroupName: string, serverName: string, databaseName: string, ledgerDigestUploads: LedgerDigestUploadsName, options?: LedgerDigestUploadsDisableOptionalParams): Promise<LedgerDigestUploadsDisableResponse>;
    get(resourceGroupName: string, serverName: string, databaseName: string, ledgerDigestUploads: LedgerDigestUploadsName, options?: LedgerDigestUploadsGetOptionalParams): Promise<LedgerDigestUploadsGetResponse>;
    listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: LedgerDigestUploadsListByDatabaseOptionalParams): PagedAsyncIterableIterator<LedgerDigestUploads>;
}

// @public
export type LedgerDigestUploadsState = "Enabled" | "Disabled";

// @public
export interface LicenseTypeCapability {
    readonly name?: string;
    reason?: string;
    readonly status?: CapabilityStatus;
}

// @public
export interface LocationCapabilities {
    readonly name?: string;
    reason?: string;
    readonly status?: CapabilityStatus;
    readonly supportedManagedInstanceVersions?: ManagedInstanceVersionCapability[];
    readonly supportedServerVersions?: ServerVersionCapability[];
}

// @public
export interface LogicalDatabaseTransparentDataEncryption extends ProxyResource {
    state?: TransparentDataEncryptionState;
}

// @public
export interface LogicalDatabaseTransparentDataEncryptionListResult {
    readonly nextLink?: string;
    readonly value?: LogicalDatabaseTransparentDataEncryption[];
}

// @public
export interface LogicalServerAdvancedThreatProtectionListResult {
    readonly nextLink?: string;
    readonly value?: ServerAdvancedThreatProtection[];
}

// @public
export interface LogicalServerSecurityAlertPolicyListResult {
    readonly nextLink?: string;
    readonly value?: ServerSecurityAlertPolicy[];
}

// @public
export interface LogSizeCapability {
    readonly limit?: number;
    readonly unit?: LogSizeUnit;
}

// @public
export type LogSizeUnit = string;

// @public
export interface LongTermRetentionBackup extends ProxyResource {
    readonly backupExpirationTime?: Date;
    readonly backupStorageRedundancy?: BackupStorageRedundancy;
    readonly backupTime?: Date;
    readonly databaseDeletionTime?: Date;
    readonly databaseName?: string;
    requestedBackupStorageRedundancy?: BackupStorageRedundancy;
    readonly serverCreateTime?: Date;
    readonly serverName?: string;
}

// @public
export interface LongTermRetentionBackupListResult {
    readonly nextLink?: string;
    readonly value?: LongTermRetentionBackup[];
}

// @public
export interface LongTermRetentionBackupOperationResult extends ProxyResource {
    readonly fromBackupResourceId?: string;
    readonly message?: string;
    readonly operationType?: string;
    readonly requestId?: string;
    readonly status?: string;
    readonly targetBackupStorageRedundancy?: BackupStorageRedundancy;
    readonly toBackupResourceId?: string;
}

// @public
export interface LongTermRetentionBackups {
    beginCopy(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, parameters: CopyLongTermRetentionBackupParameters, options?: LongTermRetentionBackupsCopyOptionalParams): Promise<SimplePollerLike<OperationState<LongTermRetentionBackupsCopyResponse>, LongTermRetentionBackupsCopyResponse>>;
    beginCopyAndWait(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, parameters: CopyLongTermRetentionBackupParameters, options?: LongTermRetentionBackupsCopyOptionalParams): Promise<LongTermRetentionBackupsCopyResponse>;
    beginCopyByResourceGroup(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, parameters: CopyLongTermRetentionBackupParameters, options?: LongTermRetentionBackupsCopyByResourceGroupOptionalParams): Promise<SimplePollerLike<OperationState<LongTermRetentionBackupsCopyByResourceGroupResponse>, LongTermRetentionBackupsCopyByResourceGroupResponse>>;
    beginCopyByResourceGroupAndWait(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, parameters: CopyLongTermRetentionBackupParameters, options?: LongTermRetentionBackupsCopyByResourceGroupOptionalParams): Promise<LongTermRetentionBackupsCopyByResourceGroupResponse>;
    beginDelete(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsDeleteOptionalParams): Promise<void>;
    beginDeleteByResourceGroup(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsDeleteByResourceGroupOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteByResourceGroupAndWait(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsDeleteByResourceGroupOptionalParams): Promise<void>;
    beginUpdate(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, parameters: UpdateLongTermRetentionBackupParameters, options?: LongTermRetentionBackupsUpdateOptionalParams): Promise<SimplePollerLike<OperationState<LongTermRetentionBackupsUpdateResponse>, LongTermRetentionBackupsUpdateResponse>>;
    beginUpdateAndWait(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, parameters: UpdateLongTermRetentionBackupParameters, options?: LongTermRetentionBackupsUpdateOptionalParams): Promise<LongTermRetentionBackupsUpdateResponse>;
    beginUpdateByResourceGroup(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, parameters: UpdateLongTermRetentionBackupParameters, options?: LongTermRetentionBackupsUpdateByResourceGroupOptionalParams): Promise<SimplePollerLike<OperationState<LongTermRetentionBackupsUpdateByResourceGroupResponse>, LongTermRetentionBackupsUpdateByResourceGroupResponse>>;
    beginUpdateByResourceGroupAndWait(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, parameters: UpdateLongTermRetentionBackupParameters, options?: LongTermRetentionBackupsUpdateByResourceGroupOptionalParams): Promise<LongTermRetentionBackupsUpdateByResourceGroupResponse>;
    get(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsGetOptionalParams): Promise<LongTermRetentionBackupsGetResponse>;
    getByResourceGroup(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsGetByResourceGroupOptionalParams): Promise<LongTermRetentionBackupsGetByResourceGroupResponse>;
    listByDatabase(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, options?: LongTermRetentionBackupsListByDatabaseOptionalParams): PagedAsyncIterableIterator<LongTermRetentionBackup>;
    listByLocation(locationName: string, options?: LongTermRetentionBackupsListByLocationOptionalParams): PagedAsyncIterableIterator<LongTermRetentionBackup>;
    listByResourceGroupDatabase(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, options?: LongTermRetentionBackupsListByResourceGroupDatabaseOptionalParams): PagedAsyncIterableIterator<LongTermRetentionBackup>;
    listByResourceGroupLocation(resourceGroupName: string, locationName: string, options?: LongTermRetentionBackupsListByResourceGroupLocationOptionalParams): PagedAsyncIterableIterator<LongTermRetentionBackup>;
    listByResourceGroupServer(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, options?: LongTermRetentionBackupsListByResourceGroupServerOptionalParams): PagedAsyncIterableIterator<LongTermRetentionBackup>;
    listByServer(locationName: string, longTermRetentionServerName: string, options?: LongTermRetentionBackupsListByServerOptionalParams): PagedAsyncIterableIterator<LongTermRetentionBackup>;
}

// @public
export interface LongTermRetentionBackupsCopyByResourceGroupOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type LongTermRetentionBackupsCopyByResourceGroupResponse = LongTermRetentionBackupOperationResult;

// @public
export interface LongTermRetentionBackupsCopyOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type LongTermRetentionBackupsCopyResponse = LongTermRetentionBackupOperationResult;

// @public
export interface LongTermRetentionBackupsDeleteByResourceGroupOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface LongTermRetentionBackupsDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface LongTermRetentionBackupsGetByResourceGroupOptionalParams extends coreClient.OperationOptions {
}

// @public
export type LongTermRetentionBackupsGetByResourceGroupResponse = LongTermRetentionBackup;

// @public
export interface LongTermRetentionBackupsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type LongTermRetentionBackupsGetResponse = LongTermRetentionBackup;

// @public
export interface LongTermRetentionBackupsListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type LongTermRetentionBackupsListByDatabaseNextResponse = LongTermRetentionBackupListResult;

// @public
export interface LongTermRetentionBackupsListByDatabaseOptionalParams extends coreClient.OperationOptions {
    databaseState?: DatabaseState;
    onlyLatestPerDatabase?: boolean;
}

// @public
export type LongTermRetentionBackupsListByDatabaseResponse = LongTermRetentionBackupListResult;

// @public
export interface LongTermRetentionBackupsListByLocationNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type LongTermRetentionBackupsListByLocationNextResponse = LongTermRetentionBackupListResult;

// @public
export interface LongTermRetentionBackupsListByLocationOptionalParams extends coreClient.OperationOptions {
    databaseState?: DatabaseState;
    onlyLatestPerDatabase?: boolean;
}

// @public
export type LongTermRetentionBackupsListByLocationResponse = LongTermRetentionBackupListResult;

// @public
export interface LongTermRetentionBackupsListByResourceGroupDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type LongTermRetentionBackupsListByResourceGroupDatabaseNextResponse = LongTermRetentionBackupListResult;

// @public
export interface LongTermRetentionBackupsListByResourceGroupDatabaseOptionalParams extends coreClient.OperationOptions {
    databaseState?: DatabaseState;
    onlyLatestPerDatabase?: boolean;
}

// @public
export type LongTermRetentionBackupsListByResourceGroupDatabaseResponse = LongTermRetentionBackupListResult;

// @public
export interface LongTermRetentionBackupsListByResourceGroupLocationNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type LongTermRetentionBackupsListByResourceGroupLocationNextResponse = LongTermRetentionBackupListResult;

// @public
export interface LongTermRetentionBackupsListByResourceGroupLocationOptionalParams extends coreClient.OperationOptions {
    databaseState?: DatabaseState;
    onlyLatestPerDatabase?: boolean;
}

// @public
export type LongTermRetentionBackupsListByResourceGroupLocationResponse = LongTermRetentionBackupListResult;

// @public
export interface LongTermRetentionBackupsListByResourceGroupServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type LongTermRetentionBackupsListByResourceGroupServerNextResponse = LongTermRetentionBackupListResult;

// @public
export interface LongTermRetentionBackupsListByResourceGroupServerOptionalParams extends coreClient.OperationOptions {
    databaseState?: DatabaseState;
    onlyLatestPerDatabase?: boolean;
}

// @public
export type LongTermRetentionBackupsListByResourceGroupServerResponse = LongTermRetentionBackupListResult;

// @public
export interface LongTermRetentionBackupsListByServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type LongTermRetentionBackupsListByServerNextResponse = LongTermRetentionBackupListResult;

// @public
export interface LongTermRetentionBackupsListByServerOptionalParams extends coreClient.OperationOptions {
    databaseState?: DatabaseState;
    onlyLatestPerDatabase?: boolean;
}

// @public
export type LongTermRetentionBackupsListByServerResponse = LongTermRetentionBackupListResult;

// @public
export interface LongTermRetentionBackupsUpdateByResourceGroupOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type LongTermRetentionBackupsUpdateByResourceGroupResponse = LongTermRetentionBackupOperationResult;

// @public
export interface LongTermRetentionBackupsUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type LongTermRetentionBackupsUpdateResponse = LongTermRetentionBackupOperationResult;

// @public
export interface LongTermRetentionManagedInstanceBackups {
    beginDelete(locationName: string, managedInstanceName: string, databaseName: string, backupName: string, options?: LongTermRetentionManagedInstanceBackupsDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(locationName: string, managedInstanceName: string, databaseName: string, backupName: string, options?: LongTermRetentionManagedInstanceBackupsDeleteOptionalParams): Promise<void>;
    beginDeleteByResourceGroup(resourceGroupName: string, locationName: string, managedInstanceName: string, databaseName: string, backupName: string, options?: LongTermRetentionManagedInstanceBackupsDeleteByResourceGroupOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteByResourceGroupAndWait(resourceGroupName: string, locationName: string, managedInstanceName: string, databaseName: string, backupName: string, options?: LongTermRetentionManagedInstanceBackupsDeleteByResourceGroupOptionalParams): Promise<void>;
    get(locationName: string, managedInstanceName: string, databaseName: string, backupName: string, options?: LongTermRetentionManagedInstanceBackupsGetOptionalParams): Promise<LongTermRetentionManagedInstanceBackupsGetResponse>;
    getByResourceGroup(resourceGroupName: string, locationName: string, managedInstanceName: string, databaseName: string, backupName: string, options?: LongTermRetentionManagedInstanceBackupsGetByResourceGroupOptionalParams): Promise<LongTermRetentionManagedInstanceBackupsGetByResourceGroupResponse>;
    listByDatabase(locationName: string, managedInstanceName: string, databaseName: string, options?: LongTermRetentionManagedInstanceBackupsListByDatabaseOptionalParams): PagedAsyncIterableIterator<ManagedInstanceLongTermRetentionBackup>;
    listByInstance(locationName: string, managedInstanceName: string, options?: LongTermRetentionManagedInstanceBackupsListByInstanceOptionalParams): PagedAsyncIterableIterator<ManagedInstanceLongTermRetentionBackup>;
    listByLocation(locationName: string, options?: LongTermRetentionManagedInstanceBackupsListByLocationOptionalParams): PagedAsyncIterableIterator<ManagedInstanceLongTermRetentionBackup>;
    listByResourceGroupDatabase(resourceGroupName: string, locationName: string, managedInstanceName: string, databaseName: string, options?: LongTermRetentionManagedInstanceBackupsListByResourceGroupDatabaseOptionalParams): PagedAsyncIterableIterator<ManagedInstanceLongTermRetentionBackup>;
    listByResourceGroupInstance(resourceGroupName: string, locationName: string, managedInstanceName: string, options?: LongTermRetentionManagedInstanceBackupsListByResourceGroupInstanceOptionalParams): PagedAsyncIterableIterator<ManagedInstanceLongTermRetentionBackup>;
    listByResourceGroupLocation(resourceGroupName: string, locationName: string, options?: LongTermRetentionManagedInstanceBackupsListByResourceGroupLocationOptionalParams): PagedAsyncIterableIterator<ManagedInstanceLongTermRetentionBackup>;
}

// @public
export interface LongTermRetentionManagedInstanceBackupsDeleteByResourceGroupOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface LongTermRetentionManagedInstanceBackupsDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface LongTermRetentionManagedInstanceBackupsGetByResourceGroupOptionalParams extends coreClient.OperationOptions {
}

// @public
export type LongTermRetentionManagedInstanceBackupsGetByResourceGroupResponse = ManagedInstanceLongTermRetentionBackup;

// @public
export interface LongTermRetentionManagedInstanceBackupsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type LongTermRetentionManagedInstanceBackupsGetResponse = ManagedInstanceLongTermRetentionBackup;

// @public
export interface LongTermRetentionManagedInstanceBackupsListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type LongTermRetentionManagedInstanceBackupsListByDatabaseNextResponse = ManagedInstanceLongTermRetentionBackupListResult;

// @public
export interface LongTermRetentionManagedInstanceBackupsListByDatabaseOptionalParams extends coreClient.OperationOptions {
    databaseState?: DatabaseState;
    onlyLatestPerDatabase?: boolean;
}

// @public
export type LongTermRetentionManagedInstanceBackupsListByDatabaseResponse = ManagedInstanceLongTermRetentionBackupListResult;

// @public
export interface LongTermRetentionManagedInstanceBackupsListByInstanceNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type LongTermRetentionManagedInstanceBackupsListByInstanceNextResponse = ManagedInstanceLongTermRetentionBackupListResult;

// @public
export interface LongTermRetentionManagedInstanceBackupsListByInstanceOptionalParams extends coreClient.OperationOptions {
    databaseState?: DatabaseState;
    onlyLatestPerDatabase?: boolean;
}

// @public
export type LongTermRetentionManagedInstanceBackupsListByInstanceResponse = ManagedInstanceLongTermRetentionBackupListResult;

// @public
export interface LongTermRetentionManagedInstanceBackupsListByLocationNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type LongTermRetentionManagedInstanceBackupsListByLocationNextResponse = ManagedInstanceLongTermRetentionBackupListResult;

// @public
export interface LongTermRetentionManagedInstanceBackupsListByLocationOptionalParams extends coreClient.OperationOptions {
    databaseState?: DatabaseState;
    onlyLatestPerDatabase?: boolean;
}

// @public
export type LongTermRetentionManagedInstanceBackupsListByLocationResponse = ManagedInstanceLongTermRetentionBackupListResult;

// @public
export interface LongTermRetentionManagedInstanceBackupsListByResourceGroupDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type LongTermRetentionManagedInstanceBackupsListByResourceGroupDatabaseNextResponse = ManagedInstanceLongTermRetentionBackupListResult;

// @public
export interface LongTermRetentionManagedInstanceBackupsListByResourceGroupDatabaseOptionalParams extends coreClient.OperationOptions {
    databaseState?: DatabaseState;
    onlyLatestPerDatabase?: boolean;
}

// @public
export type LongTermRetentionManagedInstanceBackupsListByResourceGroupDatabaseResponse = ManagedInstanceLongTermRetentionBackupListResult;

// @public
export interface LongTermRetentionManagedInstanceBackupsListByResourceGroupInstanceNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type LongTermRetentionManagedInstanceBackupsListByResourceGroupInstanceNextResponse = ManagedInstanceLongTermRetentionBackupListResult;

// @public
export interface LongTermRetentionManagedInstanceBackupsListByResourceGroupInstanceOptionalParams extends coreClient.OperationOptions {
    databaseState?: DatabaseState;
    onlyLatestPerDatabase?: boolean;
}

// @public
export type LongTermRetentionManagedInstanceBackupsListByResourceGroupInstanceResponse = ManagedInstanceLongTermRetentionBackupListResult;

// @public
export interface LongTermRetentionManagedInstanceBackupsListByResourceGroupLocationNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type LongTermRetentionManagedInstanceBackupsListByResourceGroupLocationNextResponse = ManagedInstanceLongTermRetentionBackupListResult;

// @public
export interface LongTermRetentionManagedInstanceBackupsListByResourceGroupLocationOptionalParams extends coreClient.OperationOptions {
    databaseState?: DatabaseState;
    onlyLatestPerDatabase?: boolean;
}

// @public
export type LongTermRetentionManagedInstanceBackupsListByResourceGroupLocationResponse = ManagedInstanceLongTermRetentionBackupListResult;

// @public
export interface LongTermRetentionPolicies {
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, policyName: LongTermRetentionPolicyName, parameters: LongTermRetentionPolicy, options?: LongTermRetentionPoliciesCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<LongTermRetentionPoliciesCreateOrUpdateResponse>, LongTermRetentionPoliciesCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, databaseName: string, policyName: LongTermRetentionPolicyName, parameters: LongTermRetentionPolicy, options?: LongTermRetentionPoliciesCreateOrUpdateOptionalParams): Promise<LongTermRetentionPoliciesCreateOrUpdateResponse>;
    get(resourceGroupName: string, serverName: string, databaseName: string, policyName: LongTermRetentionPolicyName, options?: LongTermRetentionPoliciesGetOptionalParams): Promise<LongTermRetentionPoliciesGetResponse>;
    listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: LongTermRetentionPoliciesListByDatabaseOptionalParams): PagedAsyncIterableIterator<LongTermRetentionPolicy>;
}

// @public
export interface LongTermRetentionPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type LongTermRetentionPoliciesCreateOrUpdateResponse = LongTermRetentionPolicy;

// @public
export interface LongTermRetentionPoliciesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type LongTermRetentionPoliciesGetResponse = LongTermRetentionPolicy;

// @public
export interface LongTermRetentionPoliciesListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type LongTermRetentionPoliciesListByDatabaseNextResponse = LongTermRetentionPolicyListResult;

// @public
export interface LongTermRetentionPoliciesListByDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type LongTermRetentionPoliciesListByDatabaseResponse = LongTermRetentionPolicyListResult;

// @public
export interface LongTermRetentionPolicy extends ProxyResource {
    monthlyRetention?: string;
    weeklyRetention?: string;
    weekOfYear?: number;
    yearlyRetention?: string;
}

// @public
export interface LongTermRetentionPolicyListResult {
    readonly nextLink?: string;
    readonly value?: LongTermRetentionPolicy[];
}

// @public
export type LongTermRetentionPolicyName = string;

// @public
export interface MaintenanceConfigurationCapability {
    readonly name?: string;
    reason?: string;
    readonly status?: CapabilityStatus;
    readonly zoneRedundant?: boolean;
}

// @public
export interface MaintenanceWindowOptions extends ProxyResource {
    allowMultipleMaintenanceWindowsPerCycle?: boolean;
    defaultDurationInMinutes?: number;
    isEnabled?: boolean;
    maintenanceWindowCycles?: MaintenanceWindowTimeRange[];
    minCycles?: number;
    minDurationInMinutes?: number;
    timeGranularityInMinutes?: number;
}

// @public
export interface MaintenanceWindowOptionsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type MaintenanceWindowOptionsGetResponse = MaintenanceWindowOptions;

// @public
export interface MaintenanceWindowOptionsOperations {
    get(resourceGroupName: string, serverName: string, databaseName: string, maintenanceWindowOptionsName: string, options?: MaintenanceWindowOptionsGetOptionalParams): Promise<MaintenanceWindowOptionsGetResponse>;
}

// @public
export interface MaintenanceWindows extends ProxyResource {
    // (undocumented)
    timeRanges?: MaintenanceWindowTimeRange[];
}

// @public
export interface MaintenanceWindowsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface MaintenanceWindowsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type MaintenanceWindowsGetResponse = MaintenanceWindows;

// @public
export interface MaintenanceWindowsOperations {
    createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, maintenanceWindowName: string, parameters: MaintenanceWindows, options?: MaintenanceWindowsCreateOrUpdateOptionalParams): Promise<void>;
    get(resourceGroupName: string, serverName: string, databaseName: string, maintenanceWindowName: string, options?: MaintenanceWindowsGetOptionalParams): Promise<MaintenanceWindowsGetResponse>;
}

// @public
export interface MaintenanceWindowTimeRange {
    dayOfWeek?: DayOfWeek;
    duration?: string;
    startTime?: string;
}

// @public
export interface ManagedBackupShortTermRetentionPolicies {
    beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, policyName: ManagedShortTermRetentionPolicyName, parameters: ManagedBackupShortTermRetentionPolicy, options?: ManagedBackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ManagedBackupShortTermRetentionPoliciesCreateOrUpdateResponse>, ManagedBackupShortTermRetentionPoliciesCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, managedInstanceName: string, databaseName: string, policyName: ManagedShortTermRetentionPolicyName, parameters: ManagedBackupShortTermRetentionPolicy, options?: ManagedBackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams): Promise<ManagedBackupShortTermRetentionPoliciesCreateOrUpdateResponse>;
    beginUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, policyName: ManagedShortTermRetentionPolicyName, parameters: ManagedBackupShortTermRetentionPolicy, options?: ManagedBackupShortTermRetentionPoliciesUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ManagedBackupShortTermRetentionPoliciesUpdateResponse>, ManagedBackupShortTermRetentionPoliciesUpdateResponse>>;
    beginUpdateAndWait(resourceGroupName: string, managedInstanceName: string, databaseName: string, policyName: ManagedShortTermRetentionPolicyName, parameters: ManagedBackupShortTermRetentionPolicy, options?: ManagedBackupShortTermRetentionPoliciesUpdateOptionalParams): Promise<ManagedBackupShortTermRetentionPoliciesUpdateResponse>;
    get(resourceGroupName: string, managedInstanceName: string, databaseName: string, policyName: ManagedShortTermRetentionPolicyName, options?: ManagedBackupShortTermRetentionPoliciesGetOptionalParams): Promise<ManagedBackupShortTermRetentionPoliciesGetResponse>;
    listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: ManagedBackupShortTermRetentionPoliciesListByDatabaseOptionalParams): PagedAsyncIterableIterator<ManagedBackupShortTermRetentionPolicy>;
}

// @public
export interface ManagedBackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ManagedBackupShortTermRetentionPoliciesCreateOrUpdateResponse = ManagedBackupShortTermRetentionPolicy;

// @public
export interface ManagedBackupShortTermRetentionPoliciesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedBackupShortTermRetentionPoliciesGetResponse = ManagedBackupShortTermRetentionPolicy;

// @public
export interface ManagedBackupShortTermRetentionPoliciesListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedBackupShortTermRetentionPoliciesListByDatabaseNextResponse = ManagedBackupShortTermRetentionPolicyListResult;

// @public
export interface ManagedBackupShortTermRetentionPoliciesListByDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedBackupShortTermRetentionPoliciesListByDatabaseResponse = ManagedBackupShortTermRetentionPolicyListResult;

// @public
export interface ManagedBackupShortTermRetentionPoliciesUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ManagedBackupShortTermRetentionPoliciesUpdateResponse = ManagedBackupShortTermRetentionPolicy;

// @public
export interface ManagedBackupShortTermRetentionPolicy extends ProxyResource {
    retentionDays?: number;
}

// @public
export interface ManagedBackupShortTermRetentionPolicyListResult {
    readonly nextLink?: string;
    readonly value?: ManagedBackupShortTermRetentionPolicy[];
}

// @public
export interface ManagedDatabase extends TrackedResource {
    autoCompleteRestore?: boolean;
    catalogCollation?: CatalogCollationType;
    collation?: string;
    createMode?: ManagedDatabaseCreateMode;
    readonly creationDate?: Date;
    crossSubscriptionRestorableDroppedDatabaseId?: string;
    crossSubscriptionSourceDatabaseId?: string;
    crossSubscriptionTargetManagedInstanceId?: string;
    readonly defaultSecondaryLocation?: string;
    readonly earliestRestorePoint?: Date;
    readonly failoverGroupId?: string;
    lastBackupName?: string;
    longTermRetentionBackupResourceId?: string;
    recoverableDatabaseId?: string;
    restorableDroppedDatabaseId?: string;
    restorePointInTime?: Date;
    sourceDatabaseId?: string;
    readonly status?: ManagedDatabaseStatus;
    storageContainerIdentity?: string;
    storageContainerSasToken?: string;
    storageContainerUri?: string;
}

// @public
export interface ManagedDatabaseAdvancedThreatProtection extends ProxyResource {
    readonly creationTime?: Date;
    state?: AdvancedThreatProtectionState;
    readonly systemData?: SystemData;
}

// @public
export interface ManagedDatabaseAdvancedThreatProtectionListResult {
    readonly nextLink?: string;
    readonly value?: ManagedDatabaseAdvancedThreatProtection[];
}

// @public
export interface ManagedDatabaseAdvancedThreatProtectionSettings {
    createOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, advancedThreatProtectionName: AdvancedThreatProtectionName, parameters: ManagedDatabaseAdvancedThreatProtection, options?: ManagedDatabaseAdvancedThreatProtectionSettingsCreateOrUpdateOptionalParams): Promise<ManagedDatabaseAdvancedThreatProtectionSettingsCreateOrUpdateResponse>;
    get(resourceGroupName: string, managedInstanceName: string, databaseName: string, advancedThreatProtectionName: AdvancedThreatProtectionName, options?: ManagedDatabaseAdvancedThreatProtectionSettingsGetOptionalParams): Promise<ManagedDatabaseAdvancedThreatProtectionSettingsGetResponse>;
    listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: ManagedDatabaseAdvancedThreatProtectionSettingsListByDatabaseOptionalParams): PagedAsyncIterableIterator<ManagedDatabaseAdvancedThreatProtection>;
}

// @public
export interface ManagedDatabaseAdvancedThreatProtectionSettingsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseAdvancedThreatProtectionSettingsCreateOrUpdateResponse = ManagedDatabaseAdvancedThreatProtection;

// @public
export interface ManagedDatabaseAdvancedThreatProtectionSettingsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseAdvancedThreatProtectionSettingsGetResponse = ManagedDatabaseAdvancedThreatProtection;

// @public
export interface ManagedDatabaseAdvancedThreatProtectionSettingsListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseAdvancedThreatProtectionSettingsListByDatabaseNextResponse = ManagedDatabaseAdvancedThreatProtectionListResult;

// @public
export interface ManagedDatabaseAdvancedThreatProtectionSettingsListByDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseAdvancedThreatProtectionSettingsListByDatabaseResponse = ManagedDatabaseAdvancedThreatProtectionListResult;

// @public
export interface ManagedDatabaseColumns {
    get(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options?: ManagedDatabaseColumnsGetOptionalParams): Promise<ManagedDatabaseColumnsGetResponse>;
    listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: ManagedDatabaseColumnsListByDatabaseOptionalParams): PagedAsyncIterableIterator<DatabaseColumn>;
    listByTable(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, options?: ManagedDatabaseColumnsListByTableOptionalParams): PagedAsyncIterableIterator<DatabaseColumn>;
}

// @public
export interface ManagedDatabaseColumnsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseColumnsGetResponse = DatabaseColumn;

// @public
export interface ManagedDatabaseColumnsListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseColumnsListByDatabaseNextResponse = DatabaseColumnListResult;

// @public
export interface ManagedDatabaseColumnsListByDatabaseOptionalParams extends coreClient.OperationOptions {
    column?: string[];
    orderBy?: string[];
    schema?: string[];
    skiptoken?: string;
    table?: string[];
}

// @public
export type ManagedDatabaseColumnsListByDatabaseResponse = DatabaseColumnListResult;

// @public
export interface ManagedDatabaseColumnsListByTableNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseColumnsListByTableNextResponse = DatabaseColumnListResult;

// @public
export interface ManagedDatabaseColumnsListByTableOptionalParams extends coreClient.OperationOptions {
    filter?: string;
}

// @public
export type ManagedDatabaseColumnsListByTableResponse = DatabaseColumnListResult;

// @public
export type ManagedDatabaseCreateMode = string;

// @public
export interface ManagedDatabaseListResult {
    readonly nextLink?: string;
    readonly value?: ManagedDatabase[];
}

// @public
export interface ManagedDatabaseMoveDefinition {
    destinationManagedDatabaseId: string;
}

// @public
export interface ManagedDatabaseMoveOperationListResult {
    readonly nextLink?: string;
    readonly value?: ManagedDatabaseMoveOperationResult[];
}

// @public
export interface ManagedDatabaseMoveOperationResult extends ProxyResource {
    readonly errorCode?: number;
    readonly errorDescription?: string;
    readonly errorSeverity?: number;
    readonly isCancellable?: boolean;
    readonly isUserError?: boolean;
    readonly operation?: string;
    readonly operationFriendlyName?: string;
    readonly operationMode?: MoveOperationMode;
    readonly sourceDatabaseName?: string;
    readonly sourceManagedInstanceId?: string;
    readonly sourceManagedInstanceName?: string;
    readonly startTime?: Date;
    readonly state?: ManagementOperationState;
    readonly targetDatabaseName?: string;
    readonly targetManagedInstanceId?: string;
    readonly targetManagedInstanceName?: string;
}

// @public
export interface ManagedDatabaseMoveOperations {
    get(resourceGroupName: string, locationName: string, operationId: string, options?: ManagedDatabaseMoveOperationsGetOptionalParams): Promise<ManagedDatabaseMoveOperationsGetResponse>;
    listByLocation(resourceGroupName: string, locationName: string, options?: ManagedDatabaseMoveOperationsListByLocationOptionalParams): PagedAsyncIterableIterator<ManagedDatabaseMoveOperationResult>;
}

// @public
export interface ManagedDatabaseMoveOperationsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseMoveOperationsGetResponse = ManagedDatabaseMoveOperationResult;

// @public
export interface ManagedDatabaseMoveOperationsListByLocationNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseMoveOperationsListByLocationNextResponse = ManagedDatabaseMoveOperationListResult;

// @public
export interface ManagedDatabaseMoveOperationsListByLocationOptionalParams extends coreClient.OperationOptions {
    filter?: string;
    onlyLatestPerDatabase?: boolean;
}

// @public
export type ManagedDatabaseMoveOperationsListByLocationResponse = ManagedDatabaseMoveOperationListResult;

// @public
export interface ManagedDatabaseQueries {
    get(resourceGroupName: string, managedInstanceName: string, databaseName: string, queryId: string, options?: ManagedDatabaseQueriesGetOptionalParams): Promise<ManagedDatabaseQueriesGetResponse>;
    listByQuery(resourceGroupName: string, managedInstanceName: string, databaseName: string, queryId: string, options?: ManagedDatabaseQueriesListByQueryOptionalParams): PagedAsyncIterableIterator<QueryStatistics>;
}

// @public
export interface ManagedDatabaseQueriesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseQueriesGetResponse = ManagedInstanceQuery;

// @public
export interface ManagedDatabaseQueriesListByQueryNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseQueriesListByQueryNextResponse = ManagedInstanceQueryStatistics;

// @public
export interface ManagedDatabaseQueriesListByQueryOptionalParams extends coreClient.OperationOptions {
    endTime?: string;
    interval?: QueryTimeGrainType;
    startTime?: string;
}

// @public
export type ManagedDatabaseQueriesListByQueryResponse = ManagedInstanceQueryStatistics;

// @public
export interface ManagedDatabaseRecommendedSensitivityLabels {
    update(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: RecommendedSensitivityLabelUpdateList, options?: ManagedDatabaseRecommendedSensitivityLabelsUpdateOptionalParams): Promise<void>;
}

// @public
export interface ManagedDatabaseRecommendedSensitivityLabelsUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface ManagedDatabaseRestoreDetails {
    get(resourceGroupName: string, managedInstanceName: string, databaseName: string, restoreDetailsName: RestoreDetailsName, options?: ManagedDatabaseRestoreDetailsGetOptionalParams): Promise<ManagedDatabaseRestoreDetailsGetResponse>;
}

// @public
export interface ManagedDatabaseRestoreDetailsBackupSetProperties {
    readonly backupSizeMB?: number;
    readonly firstStripeName?: string;
    readonly numberOfStripes?: number;
    readonly restoreFinishedTimestampUtc?: Date;
    readonly restoreStartedTimestampUtc?: Date;
    readonly status?: string;
}

// @public
export interface ManagedDatabaseRestoreDetailsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseRestoreDetailsGetResponse = ManagedDatabaseRestoreDetailsResult;

// @public
export interface ManagedDatabaseRestoreDetailsResult extends ProxyResource {
    readonly blockReason?: string;
    readonly currentBackupType?: string;
    readonly currentRestoredSizeMB?: number;
    readonly currentRestorePlanSizeMB?: number;
    readonly currentRestoringFileName?: string;
    readonly diffBackupSets?: ManagedDatabaseRestoreDetailsBackupSetProperties[];
    readonly fullBackupSets?: ManagedDatabaseRestoreDetailsBackupSetProperties[];
    readonly lastRestoredFileName?: string;
    readonly lastRestoredFileTime?: Date;
    readonly lastUploadedFileName?: string;
    readonly lastUploadedFileTime?: Date;
    readonly logBackupSets?: ManagedDatabaseRestoreDetailsBackupSetProperties[];
    readonly numberOfFilesDetected?: number;
    readonly numberOfFilesQueued?: number;
    readonly numberOfFilesRestored?: number;
    readonly numberOfFilesRestoring?: number;
    readonly numberOfFilesSkipped?: number;
    readonly numberOfFilesUnrestorable?: number;
    readonly percentCompleted?: number;
    readonly status?: string;
    readonly typePropertiesType?: string;
    readonly unrestorableFiles?: ManagedDatabaseRestoreDetailsUnrestorableFileProperties[];
}

// @public
export interface ManagedDatabaseRestoreDetailsUnrestorableFileProperties {
    readonly name?: string;
}

// @public
export interface ManagedDatabases {
    beginCancelMove(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: ManagedDatabaseMoveDefinition, options?: ManagedDatabasesCancelMoveOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginCancelMoveAndWait(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: ManagedDatabaseMoveDefinition, options?: ManagedDatabasesCancelMoveOptionalParams): Promise<void>;
    beginCompleteMove(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: ManagedDatabaseMoveDefinition, options?: ManagedDatabasesCompleteMoveOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginCompleteMoveAndWait(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: ManagedDatabaseMoveDefinition, options?: ManagedDatabasesCompleteMoveOptionalParams): Promise<void>;
    beginCompleteRestore(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: CompleteDatabaseRestoreDefinition, options?: ManagedDatabasesCompleteRestoreOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginCompleteRestoreAndWait(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: CompleteDatabaseRestoreDefinition, options?: ManagedDatabasesCompleteRestoreOptionalParams): Promise<void>;
    beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: ManagedDatabase, options?: ManagedDatabasesCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ManagedDatabasesCreateOrUpdateResponse>, ManagedDatabasesCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: ManagedDatabase, options?: ManagedDatabasesCreateOrUpdateOptionalParams): Promise<ManagedDatabasesCreateOrUpdateResponse>;
    beginDelete(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: ManagedDatabasesDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: ManagedDatabasesDeleteOptionalParams): Promise<void>;
    beginStartMove(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: ManagedDatabaseStartMoveDefinition, options?: ManagedDatabasesStartMoveOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginStartMoveAndWait(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: ManagedDatabaseStartMoveDefinition, options?: ManagedDatabasesStartMoveOptionalParams): Promise<void>;
    beginUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: ManagedDatabaseUpdate, options?: ManagedDatabasesUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ManagedDatabasesUpdateResponse>, ManagedDatabasesUpdateResponse>>;
    beginUpdateAndWait(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: ManagedDatabaseUpdate, options?: ManagedDatabasesUpdateOptionalParams): Promise<ManagedDatabasesUpdateResponse>;
    get(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: ManagedDatabasesGetOptionalParams): Promise<ManagedDatabasesGetResponse>;
    listByInstance(resourceGroupName: string, managedInstanceName: string, options?: ManagedDatabasesListByInstanceOptionalParams): PagedAsyncIterableIterator<ManagedDatabase>;
    listInaccessibleByInstance(resourceGroupName: string, managedInstanceName: string, options?: ManagedDatabasesListInaccessibleByInstanceOptionalParams): PagedAsyncIterableIterator<ManagedDatabase>;
}

// @public
export interface ManagedDatabasesCancelMoveOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface ManagedDatabaseSchemas {
    get(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, options?: ManagedDatabaseSchemasGetOptionalParams): Promise<ManagedDatabaseSchemasGetResponse>;
    listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: ManagedDatabaseSchemasListByDatabaseOptionalParams): PagedAsyncIterableIterator<DatabaseSchema>;
}

// @public
export interface ManagedDatabaseSchemasGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseSchemasGetResponse = DatabaseSchema;

// @public
export interface ManagedDatabaseSchemasListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseSchemasListByDatabaseNextResponse = DatabaseSchemaListResult;

// @public
export interface ManagedDatabaseSchemasListByDatabaseOptionalParams extends coreClient.OperationOptions {
    filter?: string;
}

// @public
export type ManagedDatabaseSchemasListByDatabaseResponse = DatabaseSchemaListResult;

// @public
export interface ManagedDatabasesCompleteMoveOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface ManagedDatabasesCompleteRestoreOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface ManagedDatabasesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ManagedDatabasesCreateOrUpdateResponse = ManagedDatabase;

// @public
export interface ManagedDatabasesDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface ManagedDatabaseSecurityAlertPolicies {
    createOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, securityAlertPolicyName: SecurityAlertPolicyName, parameters: ManagedDatabaseSecurityAlertPolicy, options?: ManagedDatabaseSecurityAlertPoliciesCreateOrUpdateOptionalParams): Promise<ManagedDatabaseSecurityAlertPoliciesCreateOrUpdateResponse>;
    get(resourceGroupName: string, managedInstanceName: string, databaseName: string, securityAlertPolicyName: SecurityAlertPolicyName, options?: ManagedDatabaseSecurityAlertPoliciesGetOptionalParams): Promise<ManagedDatabaseSecurityAlertPoliciesGetResponse>;
    listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: ManagedDatabaseSecurityAlertPoliciesListByDatabaseOptionalParams): PagedAsyncIterableIterator<ManagedDatabaseSecurityAlertPolicy>;
}

// @public
export interface ManagedDatabaseSecurityAlertPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseSecurityAlertPoliciesCreateOrUpdateResponse = ManagedDatabaseSecurityAlertPolicy;

// @public
export interface ManagedDatabaseSecurityAlertPoliciesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseSecurityAlertPoliciesGetResponse = ManagedDatabaseSecurityAlertPolicy;

// @public
export interface ManagedDatabaseSecurityAlertPoliciesListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseSecurityAlertPoliciesListByDatabaseNextResponse = ManagedDatabaseSecurityAlertPolicyListResult;

// @public
export interface ManagedDatabaseSecurityAlertPoliciesListByDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseSecurityAlertPoliciesListByDatabaseResponse = ManagedDatabaseSecurityAlertPolicyListResult;

// @public
export interface ManagedDatabaseSecurityAlertPolicy extends ProxyResource {
    readonly creationTime?: Date;
    disabledAlerts?: string[];
    emailAccountAdmins?: boolean;
    emailAddresses?: string[];
    retentionDays?: number;
    state?: SecurityAlertPolicyState;
    storageAccountAccessKey?: string;
    storageEndpoint?: string;
}

// @public
export interface ManagedDatabaseSecurityAlertPolicyListResult {
    readonly nextLink?: string;
    readonly value?: ManagedDatabaseSecurityAlertPolicy[];
}

// @public
export interface ManagedDatabaseSecurityEvents {
    listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: ManagedDatabaseSecurityEventsListByDatabaseOptionalParams): PagedAsyncIterableIterator<SecurityEvent>;
}

// @public
export interface ManagedDatabaseSecurityEventsListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseSecurityEventsListByDatabaseNextResponse = SecurityEventCollection;

// @public
export interface ManagedDatabaseSecurityEventsListByDatabaseOptionalParams extends coreClient.OperationOptions {
    filter?: string;
    skip?: number;
    skiptoken?: string;
    top?: number;
}

// @public
export type ManagedDatabaseSecurityEventsListByDatabaseResponse = SecurityEventCollection;

// @public
export interface ManagedDatabaseSensitivityLabels {
    createOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, parameters: SensitivityLabel, options?: ManagedDatabaseSensitivityLabelsCreateOrUpdateOptionalParams): Promise<ManagedDatabaseSensitivityLabelsCreateOrUpdateResponse>;
    delete(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options?: ManagedDatabaseSensitivityLabelsDeleteOptionalParams): Promise<void>;
    disableRecommendation(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options?: ManagedDatabaseSensitivityLabelsDisableRecommendationOptionalParams): Promise<void>;
    enableRecommendation(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options?: ManagedDatabaseSensitivityLabelsEnableRecommendationOptionalParams): Promise<void>;
    get(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, sensitivityLabelSource: SensitivityLabelSource, options?: ManagedDatabaseSensitivityLabelsGetOptionalParams): Promise<ManagedDatabaseSensitivityLabelsGetResponse>;
    listCurrentByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: ManagedDatabaseSensitivityLabelsListCurrentByDatabaseOptionalParams): PagedAsyncIterableIterator<SensitivityLabel>;
    listRecommendedByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseOptionalParams): PagedAsyncIterableIterator<SensitivityLabel>;
    update(resourceGroupName: string, managedInstanceName: string, databaseName: string, parameters: SensitivityLabelUpdateList, options?: ManagedDatabaseSensitivityLabelsUpdateOptionalParams): Promise<void>;
}

// @public
export interface ManagedDatabaseSensitivityLabelsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseSensitivityLabelsCreateOrUpdateResponse = SensitivityLabel;

// @public
export interface ManagedDatabaseSensitivityLabelsDeleteOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface ManagedDatabaseSensitivityLabelsDisableRecommendationOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface ManagedDatabaseSensitivityLabelsEnableRecommendationOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface ManagedDatabaseSensitivityLabelsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseSensitivityLabelsGetResponse = SensitivityLabel;

// @public
export interface ManagedDatabaseSensitivityLabelsListCurrentByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseSensitivityLabelsListCurrentByDatabaseNextResponse = SensitivityLabelListResult;

// @public
export interface ManagedDatabaseSensitivityLabelsListCurrentByDatabaseOptionalParams extends coreClient.OperationOptions {
    // (undocumented)
    count?: boolean;
    filter?: string;
    // (undocumented)
    skipToken?: string;
}

// @public
export type ManagedDatabaseSensitivityLabelsListCurrentByDatabaseResponse = SensitivityLabelListResult;

// @public
export interface ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseNextResponse = SensitivityLabelListResult;

// @public
export interface ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseOptionalParams extends coreClient.OperationOptions {
    filter?: string;
    includeDisabledRecommendations?: boolean;
    // (undocumented)
    skipToken?: string;
}

// @public
export type ManagedDatabaseSensitivityLabelsListRecommendedByDatabaseResponse = SensitivityLabelListResult;

// @public
export interface ManagedDatabaseSensitivityLabelsUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface ManagedDatabasesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabasesGetResponse = ManagedDatabase;

// @public
export interface ManagedDatabasesListByInstanceNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabasesListByInstanceNextResponse = ManagedDatabaseListResult;

// @public
export interface ManagedDatabasesListByInstanceOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabasesListByInstanceResponse = ManagedDatabaseListResult;

// @public
export interface ManagedDatabasesListInaccessibleByInstanceNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabasesListInaccessibleByInstanceNextResponse = ManagedDatabaseListResult;

// @public
export interface ManagedDatabasesListInaccessibleByInstanceOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabasesListInaccessibleByInstanceResponse = ManagedDatabaseListResult;

// @public
export interface ManagedDatabasesStartMoveOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface ManagedDatabaseStartMoveDefinition {
    destinationManagedDatabaseId: string;
    operationMode?: MoveOperationMode;
}

// @public
export type ManagedDatabaseStatus = string;

// @public
export interface ManagedDatabasesUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ManagedDatabasesUpdateResponse = ManagedDatabase;

// @public
export interface ManagedDatabaseTables {
    get(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, tableName: string, options?: ManagedDatabaseTablesGetOptionalParams): Promise<ManagedDatabaseTablesGetResponse>;
    listBySchema(resourceGroupName: string, managedInstanceName: string, databaseName: string, schemaName: string, options?: ManagedDatabaseTablesListBySchemaOptionalParams): PagedAsyncIterableIterator<DatabaseTable>;
}

// @public
export interface ManagedDatabaseTablesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseTablesGetResponse = DatabaseTable;

// @public
export interface ManagedDatabaseTablesListBySchemaNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseTablesListBySchemaNextResponse = DatabaseTableListResult;

// @public
export interface ManagedDatabaseTablesListBySchemaOptionalParams extends coreClient.OperationOptions {
    filter?: string;
}

// @public
export type ManagedDatabaseTablesListBySchemaResponse = DatabaseTableListResult;

// @public
export interface ManagedDatabaseTransparentDataEncryption {
    createOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, tdeName: TransparentDataEncryptionName, parameters: ManagedTransparentDataEncryption, options?: ManagedDatabaseTransparentDataEncryptionCreateOrUpdateOptionalParams): Promise<ManagedDatabaseTransparentDataEncryptionCreateOrUpdateResponse>;
    get(resourceGroupName: string, managedInstanceName: string, databaseName: string, tdeName: TransparentDataEncryptionName, options?: ManagedDatabaseTransparentDataEncryptionGetOptionalParams): Promise<ManagedDatabaseTransparentDataEncryptionGetResponse>;
    listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: ManagedDatabaseTransparentDataEncryptionListByDatabaseOptionalParams): PagedAsyncIterableIterator<ManagedTransparentDataEncryption>;
}

// @public
export interface ManagedDatabaseTransparentDataEncryptionCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseTransparentDataEncryptionCreateOrUpdateResponse = ManagedTransparentDataEncryption;

// @public
export interface ManagedDatabaseTransparentDataEncryptionGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseTransparentDataEncryptionGetResponse = ManagedTransparentDataEncryption;

// @public
export interface ManagedDatabaseTransparentDataEncryptionListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseTransparentDataEncryptionListByDatabaseNextResponse = ManagedTransparentDataEncryptionListResult;

// @public
export interface ManagedDatabaseTransparentDataEncryptionListByDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseTransparentDataEncryptionListByDatabaseResponse = ManagedTransparentDataEncryptionListResult;

// @public
export interface ManagedDatabaseUpdate {
    autoCompleteRestore?: boolean;
    catalogCollation?: CatalogCollationType;
    collation?: string;
    createMode?: ManagedDatabaseCreateMode;
    readonly creationDate?: Date;
    crossSubscriptionRestorableDroppedDatabaseId?: string;
    crossSubscriptionSourceDatabaseId?: string;
    crossSubscriptionTargetManagedInstanceId?: string;
    readonly defaultSecondaryLocation?: string;
    readonly earliestRestorePoint?: Date;
    readonly failoverGroupId?: string;
    lastBackupName?: string;
    longTermRetentionBackupResourceId?: string;
    recoverableDatabaseId?: string;
    restorableDroppedDatabaseId?: string;
    restorePointInTime?: Date;
    sourceDatabaseId?: string;
    readonly status?: ManagedDatabaseStatus;
    storageContainerIdentity?: string;
    storageContainerSasToken?: string;
    storageContainerUri?: string;
    tags?: {
        [propertyName: string]: string;
    };
}

// @public
export interface ManagedDatabaseVulnerabilityAssessmentRuleBaselines {
    createOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, ruleId: string, baselineName: VulnerabilityAssessmentPolicyBaselineName, parameters: DatabaseVulnerabilityAssessmentRuleBaseline, options?: ManagedDatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateOptionalParams): Promise<ManagedDatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateResponse>;
    delete(resourceGroupName: string, managedInstanceName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, ruleId: string, baselineName: VulnerabilityAssessmentPolicyBaselineName, options?: ManagedDatabaseVulnerabilityAssessmentRuleBaselinesDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, managedInstanceName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, ruleId: string, baselineName: VulnerabilityAssessmentPolicyBaselineName, options?: ManagedDatabaseVulnerabilityAssessmentRuleBaselinesGetOptionalParams): Promise<ManagedDatabaseVulnerabilityAssessmentRuleBaselinesGetResponse>;
}

// @public
export interface ManagedDatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseVulnerabilityAssessmentRuleBaselinesCreateOrUpdateResponse = DatabaseVulnerabilityAssessmentRuleBaseline;

// @public
export interface ManagedDatabaseVulnerabilityAssessmentRuleBaselinesDeleteOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface ManagedDatabaseVulnerabilityAssessmentRuleBaselinesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseVulnerabilityAssessmentRuleBaselinesGetResponse = DatabaseVulnerabilityAssessmentRuleBaseline;

// @public
export interface ManagedDatabaseVulnerabilityAssessments {
    createOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, parameters: DatabaseVulnerabilityAssessment, options?: ManagedDatabaseVulnerabilityAssessmentsCreateOrUpdateOptionalParams): Promise<ManagedDatabaseVulnerabilityAssessmentsCreateOrUpdateResponse>;
    delete(resourceGroupName: string, managedInstanceName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, options?: ManagedDatabaseVulnerabilityAssessmentsDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, managedInstanceName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, options?: ManagedDatabaseVulnerabilityAssessmentsGetOptionalParams): Promise<ManagedDatabaseVulnerabilityAssessmentsGetResponse>;
    listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: ManagedDatabaseVulnerabilityAssessmentsListByDatabaseOptionalParams): PagedAsyncIterableIterator<DatabaseVulnerabilityAssessment>;
}

// @public
export interface ManagedDatabaseVulnerabilityAssessmentScans {
    beginInitiateScan(resourceGroupName: string, managedInstanceName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, scanId: string, options?: ManagedDatabaseVulnerabilityAssessmentScansInitiateScanOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginInitiateScanAndWait(resourceGroupName: string, managedInstanceName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, scanId: string, options?: ManagedDatabaseVulnerabilityAssessmentScansInitiateScanOptionalParams): Promise<void>;
    export(resourceGroupName: string, managedInstanceName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, scanId: string, options?: ManagedDatabaseVulnerabilityAssessmentScansExportOptionalParams): Promise<ManagedDatabaseVulnerabilityAssessmentScansExportResponse>;
    get(resourceGroupName: string, managedInstanceName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, scanId: string, options?: ManagedDatabaseVulnerabilityAssessmentScansGetOptionalParams): Promise<ManagedDatabaseVulnerabilityAssessmentScansGetResponse>;
    listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, options?: ManagedDatabaseVulnerabilityAssessmentScansListByDatabaseOptionalParams): PagedAsyncIterableIterator<VulnerabilityAssessmentScanRecord>;
}

// @public
export interface ManagedDatabaseVulnerabilityAssessmentScansExportOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseVulnerabilityAssessmentScansExportResponse = DatabaseVulnerabilityAssessmentScansExport;

// @public
export interface ManagedDatabaseVulnerabilityAssessmentScansGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseVulnerabilityAssessmentScansGetResponse = VulnerabilityAssessmentScanRecord;

// @public
export interface ManagedDatabaseVulnerabilityAssessmentScansInitiateScanOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface ManagedDatabaseVulnerabilityAssessmentScansListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseVulnerabilityAssessmentScansListByDatabaseNextResponse = VulnerabilityAssessmentScanRecordListResult;

// @public
export interface ManagedDatabaseVulnerabilityAssessmentScansListByDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseVulnerabilityAssessmentScansListByDatabaseResponse = VulnerabilityAssessmentScanRecordListResult;

// @public
export interface ManagedDatabaseVulnerabilityAssessmentsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseVulnerabilityAssessmentsCreateOrUpdateResponse = DatabaseVulnerabilityAssessment;

// @public
export interface ManagedDatabaseVulnerabilityAssessmentsDeleteOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface ManagedDatabaseVulnerabilityAssessmentsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseVulnerabilityAssessmentsGetResponse = DatabaseVulnerabilityAssessment;

// @public
export interface ManagedDatabaseVulnerabilityAssessmentsListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseVulnerabilityAssessmentsListByDatabaseNextResponse = DatabaseVulnerabilityAssessmentListResult;

// @public
export interface ManagedDatabaseVulnerabilityAssessmentsListByDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedDatabaseVulnerabilityAssessmentsListByDatabaseResponse = DatabaseVulnerabilityAssessmentListResult;

// @public
export interface ManagedInstance extends TrackedResource {
    administratorLogin?: string;
    administratorLoginPassword?: string;
    administrators?: ManagedInstanceExternalAdministrator;
    collation?: string;
    readonly currentBackupStorageRedundancy?: BackupStorageRedundancy;
    readonly dnsZone?: string;
    dnsZonePartner?: string;
    readonly fullyQualifiedDomainName?: string;
    identity?: ResourceIdentity;
    instancePoolId?: string;
    keyId?: string;
    licenseType?: ManagedInstanceLicenseType;
    maintenanceConfigurationId?: string;
    managedInstanceCreateMode?: ManagedServerCreateMode;
    minimalTlsVersion?: string;
    primaryUserAssignedIdentityId?: string;
    readonly privateEndpointConnections?: ManagedInstancePecProperty[];
    readonly provisioningState?: ManagedInstancePropertiesProvisioningState;
    proxyOverride?: ManagedInstanceProxyOverride;
    publicDataEndpointEnabled?: boolean;
    requestedBackupStorageRedundancy?: BackupStorageRedundancy;
    restorePointInTime?: Date;
    servicePrincipal?: ServicePrincipal;
    sku?: Sku;
    sourceManagedInstanceId?: string;
    readonly state?: string;
    storageSizeInGB?: number;
    subnetId?: string;
    timezoneId?: string;
    vCores?: number;
    zoneRedundant?: boolean;
}

// @public
export interface ManagedInstanceAdministrator extends ProxyResource {
    administratorType?: ManagedInstanceAdministratorType;
    login?: string;
    sid?: string;
    tenantId?: string;
}

// @public
export interface ManagedInstanceAdministratorListResult {
    readonly nextLink?: string;
    readonly value?: ManagedInstanceAdministrator[];
}

// @public
export interface ManagedInstanceAdministrators {
    beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, administratorName: AdministratorName, parameters: ManagedInstanceAdministrator, options?: ManagedInstanceAdministratorsCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ManagedInstanceAdministratorsCreateOrUpdateResponse>, ManagedInstanceAdministratorsCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, managedInstanceName: string, administratorName: AdministratorName, parameters: ManagedInstanceAdministrator, options?: ManagedInstanceAdministratorsCreateOrUpdateOptionalParams): Promise<ManagedInstanceAdministratorsCreateOrUpdateResponse>;
    beginDelete(resourceGroupName: string, managedInstanceName: string, administratorName: AdministratorName, options?: ManagedInstanceAdministratorsDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, managedInstanceName: string, administratorName: AdministratorName, options?: ManagedInstanceAdministratorsDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, managedInstanceName: string, administratorName: AdministratorName, options?: ManagedInstanceAdministratorsGetOptionalParams): Promise<ManagedInstanceAdministratorsGetResponse>;
    listByInstance(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstanceAdministratorsListByInstanceOptionalParams): PagedAsyncIterableIterator<ManagedInstanceAdministrator>;
}

// @public
export interface ManagedInstanceAdministratorsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ManagedInstanceAdministratorsCreateOrUpdateResponse = ManagedInstanceAdministrator;

// @public
export interface ManagedInstanceAdministratorsDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface ManagedInstanceAdministratorsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstanceAdministratorsGetResponse = ManagedInstanceAdministrator;

// @public
export interface ManagedInstanceAdministratorsListByInstanceNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstanceAdministratorsListByInstanceNextResponse = ManagedInstanceAdministratorListResult;

// @public
export interface ManagedInstanceAdministratorsListByInstanceOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstanceAdministratorsListByInstanceResponse = ManagedInstanceAdministratorListResult;

// @public
export type ManagedInstanceAdministratorType = string;

// @public
export interface ManagedInstanceAdvancedThreatProtection extends ProxyResource {
    readonly creationTime?: Date;
    state?: AdvancedThreatProtectionState;
    readonly systemData?: SystemData;
}

// @public
export interface ManagedInstanceAdvancedThreatProtectionListResult {
    readonly nextLink?: string;
    readonly value?: ManagedInstanceAdvancedThreatProtection[];
}

// @public
export interface ManagedInstanceAdvancedThreatProtectionSettings {
    beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, advancedThreatProtectionName: AdvancedThreatProtectionName, parameters: ManagedInstanceAdvancedThreatProtection, options?: ManagedInstanceAdvancedThreatProtectionSettingsCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ManagedInstanceAdvancedThreatProtectionSettingsCreateOrUpdateResponse>, ManagedInstanceAdvancedThreatProtectionSettingsCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, managedInstanceName: string, advancedThreatProtectionName: AdvancedThreatProtectionName, parameters: ManagedInstanceAdvancedThreatProtection, options?: ManagedInstanceAdvancedThreatProtectionSettingsCreateOrUpdateOptionalParams): Promise<ManagedInstanceAdvancedThreatProtectionSettingsCreateOrUpdateResponse>;
    get(resourceGroupName: string, managedInstanceName: string, advancedThreatProtectionName: AdvancedThreatProtectionName, options?: ManagedInstanceAdvancedThreatProtectionSettingsGetOptionalParams): Promise<ManagedInstanceAdvancedThreatProtectionSettingsGetResponse>;
    listByInstance(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstanceAdvancedThreatProtectionSettingsListByInstanceOptionalParams): PagedAsyncIterableIterator<ManagedInstanceAdvancedThreatProtection>;
}

// @public
export interface ManagedInstanceAdvancedThreatProtectionSettingsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ManagedInstanceAdvancedThreatProtectionSettingsCreateOrUpdateResponse = ManagedInstanceAdvancedThreatProtection;

// @public
export interface ManagedInstanceAdvancedThreatProtectionSettingsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstanceAdvancedThreatProtectionSettingsGetResponse = ManagedInstanceAdvancedThreatProtection;

// @public
export interface ManagedInstanceAdvancedThreatProtectionSettingsListByInstanceNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstanceAdvancedThreatProtectionSettingsListByInstanceNextResponse = ManagedInstanceAdvancedThreatProtectionListResult;

// @public
export interface ManagedInstanceAdvancedThreatProtectionSettingsListByInstanceOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstanceAdvancedThreatProtectionSettingsListByInstanceResponse = ManagedInstanceAdvancedThreatProtectionListResult;

// @public
export interface ManagedInstanceAzureADOnlyAuthentication extends ProxyResource {
    azureADOnlyAuthentication?: boolean;
}

// @public
export interface ManagedInstanceAzureADOnlyAuthentications {
    beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, authenticationName: AuthenticationName, parameters: ManagedInstanceAzureADOnlyAuthentication, options?: ManagedInstanceAzureADOnlyAuthenticationsCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ManagedInstanceAzureADOnlyAuthenticationsCreateOrUpdateResponse>, ManagedInstanceAzureADOnlyAuthenticationsCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, managedInstanceName: string, authenticationName: AuthenticationName, parameters: ManagedInstanceAzureADOnlyAuthentication, options?: ManagedInstanceAzureADOnlyAuthenticationsCreateOrUpdateOptionalParams): Promise<ManagedInstanceAzureADOnlyAuthenticationsCreateOrUpdateResponse>;
    beginDelete(resourceGroupName: string, managedInstanceName: string, authenticationName: AuthenticationName, options?: ManagedInstanceAzureADOnlyAuthenticationsDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, managedInstanceName: string, authenticationName: AuthenticationName, options?: ManagedInstanceAzureADOnlyAuthenticationsDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, managedInstanceName: string, authenticationName: AuthenticationName, options?: ManagedInstanceAzureADOnlyAuthenticationsGetOptionalParams): Promise<ManagedInstanceAzureADOnlyAuthenticationsGetResponse>;
    listByInstance(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstanceAzureADOnlyAuthenticationsListByInstanceOptionalParams): PagedAsyncIterableIterator<ManagedInstanceAzureADOnlyAuthentication>;
}

// @public
export interface ManagedInstanceAzureADOnlyAuthenticationsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ManagedInstanceAzureADOnlyAuthenticationsCreateOrUpdateResponse = ManagedInstanceAzureADOnlyAuthentication;

// @public
export interface ManagedInstanceAzureADOnlyAuthenticationsDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface ManagedInstanceAzureADOnlyAuthenticationsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstanceAzureADOnlyAuthenticationsGetResponse = ManagedInstanceAzureADOnlyAuthentication;

// @public
export interface ManagedInstanceAzureADOnlyAuthenticationsListByInstanceNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstanceAzureADOnlyAuthenticationsListByInstanceNextResponse = ManagedInstanceAzureADOnlyAuthListResult;

// @public
export interface ManagedInstanceAzureADOnlyAuthenticationsListByInstanceOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstanceAzureADOnlyAuthenticationsListByInstanceResponse = ManagedInstanceAzureADOnlyAuthListResult;

// @public
export interface ManagedInstanceAzureADOnlyAuthListResult {
    readonly nextLink?: string;
    readonly value?: ManagedInstanceAzureADOnlyAuthentication[];
}

// @public
export interface ManagedInstanceDtc extends ProxyResource {
    dtcEnabled?: boolean;
    readonly dtcHostNameDnsSuffix?: string;
    externalDnsSuffixSearchList?: string[];
    readonly provisioningState?: ProvisioningState;
    securitySettings?: ManagedInstanceDtcSecuritySettings;
}

// @public
export interface ManagedInstanceDtcListResult {
    readonly nextLink?: string;
    readonly value?: ManagedInstanceDtc[];
}

// @public
export interface ManagedInstanceDtcs {
    beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, dtcName: DtcName, parameters: ManagedInstanceDtc, options?: ManagedInstanceDtcsCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ManagedInstanceDtcsCreateOrUpdateResponse>, ManagedInstanceDtcsCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, managedInstanceName: string, dtcName: DtcName, parameters: ManagedInstanceDtc, options?: ManagedInstanceDtcsCreateOrUpdateOptionalParams): Promise<ManagedInstanceDtcsCreateOrUpdateResponse>;
    get(resourceGroupName: string, managedInstanceName: string, dtcName: DtcName, options?: ManagedInstanceDtcsGetOptionalParams): Promise<ManagedInstanceDtcsGetResponse>;
    listByManagedInstance(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstanceDtcsListByManagedInstanceOptionalParams): PagedAsyncIterableIterator<ManagedInstanceDtc>;
}

// @public
export interface ManagedInstanceDtcsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ManagedInstanceDtcsCreateOrUpdateResponse = ManagedInstanceDtc;

// @public
export interface ManagedInstanceDtcSecuritySettings {
    snaLu6Point2TransactionsEnabled?: boolean;
    transactionManagerCommunicationSettings?: ManagedInstanceDtcTransactionManagerCommunicationSettings;
    xaTransactionsDefaultTimeout?: number;
    xaTransactionsEnabled?: boolean;
    xaTransactionsMaximumTimeout?: number;
}

// @public
export interface ManagedInstanceDtcsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstanceDtcsGetResponse = ManagedInstanceDtc;

// @public
export interface ManagedInstanceDtcsListByManagedInstanceNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstanceDtcsListByManagedInstanceNextResponse = ManagedInstanceDtcListResult;

// @public
export interface ManagedInstanceDtcsListByManagedInstanceOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstanceDtcsListByManagedInstanceResponse = ManagedInstanceDtcListResult;

// @public
export interface ManagedInstanceDtcTransactionManagerCommunicationSettings {
    allowInboundEnabled?: boolean;
    allowOutboundEnabled?: boolean;
    authentication?: string;
}

// @public
export interface ManagedInstanceEditionCapability {
    readonly name?: string;
    reason?: string;
    readonly status?: CapabilityStatus;
    readonly supportedFamilies?: ManagedInstanceFamilyCapability[];
    readonly supportedStorageCapabilities?: StorageCapability[];
    readonly zoneRedundant?: boolean;
}

// @public
export interface ManagedInstanceEncryptionProtector extends ProxyResource {
    autoRotationEnabled?: boolean;
    readonly kind?: string;
    serverKeyName?: string;
    serverKeyType?: ServerKeyType;
    readonly thumbprint?: string;
    readonly uri?: string;
}

// @public
export interface ManagedInstanceEncryptionProtectorListResult {
    readonly nextLink?: string;
    readonly value?: ManagedInstanceEncryptionProtector[];
}

// @public
export interface ManagedInstanceEncryptionProtectors {
    beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, encryptionProtectorName: EncryptionProtectorName, parameters: ManagedInstanceEncryptionProtector, options?: ManagedInstanceEncryptionProtectorsCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ManagedInstanceEncryptionProtectorsCreateOrUpdateResponse>, ManagedInstanceEncryptionProtectorsCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, managedInstanceName: string, encryptionProtectorName: EncryptionProtectorName, parameters: ManagedInstanceEncryptionProtector, options?: ManagedInstanceEncryptionProtectorsCreateOrUpdateOptionalParams): Promise<ManagedInstanceEncryptionProtectorsCreateOrUpdateResponse>;
    beginRevalidate(resourceGroupName: string, managedInstanceName: string, encryptionProtectorName: EncryptionProtectorName, options?: ManagedInstanceEncryptionProtectorsRevalidateOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginRevalidateAndWait(resourceGroupName: string, managedInstanceName: string, encryptionProtectorName: EncryptionProtectorName, options?: ManagedInstanceEncryptionProtectorsRevalidateOptionalParams): Promise<void>;
    get(resourceGroupName: string, managedInstanceName: string, encryptionProtectorName: EncryptionProtectorName, options?: ManagedInstanceEncryptionProtectorsGetOptionalParams): Promise<ManagedInstanceEncryptionProtectorsGetResponse>;
    listByInstance(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstanceEncryptionProtectorsListByInstanceOptionalParams): PagedAsyncIterableIterator<ManagedInstanceEncryptionProtector>;
}

// @public
export interface ManagedInstanceEncryptionProtectorsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ManagedInstanceEncryptionProtectorsCreateOrUpdateResponse = ManagedInstanceEncryptionProtector;

// @public
export interface ManagedInstanceEncryptionProtectorsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstanceEncryptionProtectorsGetResponse = ManagedInstanceEncryptionProtector;

// @public
export interface ManagedInstanceEncryptionProtectorsListByInstanceNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstanceEncryptionProtectorsListByInstanceNextResponse = ManagedInstanceEncryptionProtectorListResult;

// @public
export interface ManagedInstanceEncryptionProtectorsListByInstanceOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstanceEncryptionProtectorsListByInstanceResponse = ManagedInstanceEncryptionProtectorListResult;

// @public
export interface ManagedInstanceEncryptionProtectorsRevalidateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface ManagedInstanceExternalAdministrator {
    administratorType?: AdministratorType;
    azureADOnlyAuthentication?: boolean;
    login?: string;
    principalType?: PrincipalType;
    sid?: string;
    tenantId?: string;
}

// @public
export interface ManagedInstanceFamilyCapability {
    readonly name?: string;
    reason?: string;
    readonly sku?: string;
    readonly status?: CapabilityStatus;
    readonly supportedLicenseTypes?: LicenseTypeCapability[];
    readonly supportedVcoresValues?: ManagedInstanceVcoresCapability[];
}

// @public
export interface ManagedInstanceKey extends ProxyResource {
    readonly autoRotationEnabled?: boolean;
    readonly creationDate?: Date;
    readonly kind?: string;
    serverKeyType?: ServerKeyType;
    readonly thumbprint?: string;
    uri?: string;
}

// @public
export interface ManagedInstanceKeyListResult {
    readonly nextLink?: string;
    readonly value?: ManagedInstanceKey[];
}

// @public
export interface ManagedInstanceKeys {
    beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, keyName: string, parameters: ManagedInstanceKey, options?: ManagedInstanceKeysCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ManagedInstanceKeysCreateOrUpdateResponse>, ManagedInstanceKeysCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, managedInstanceName: string, keyName: string, parameters: ManagedInstanceKey, options?: ManagedInstanceKeysCreateOrUpdateOptionalParams): Promise<ManagedInstanceKeysCreateOrUpdateResponse>;
    beginDelete(resourceGroupName: string, managedInstanceName: string, keyName: string, options?: ManagedInstanceKeysDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, managedInstanceName: string, keyName: string, options?: ManagedInstanceKeysDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, managedInstanceName: string, keyName: string, options?: ManagedInstanceKeysGetOptionalParams): Promise<ManagedInstanceKeysGetResponse>;
    listByInstance(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstanceKeysListByInstanceOptionalParams): PagedAsyncIterableIterator<ManagedInstanceKey>;
}

// @public
export interface ManagedInstanceKeysCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ManagedInstanceKeysCreateOrUpdateResponse = ManagedInstanceKey;

// @public
export interface ManagedInstanceKeysDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface ManagedInstanceKeysGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstanceKeysGetResponse = ManagedInstanceKey;

// @public
export interface ManagedInstanceKeysListByInstanceNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstanceKeysListByInstanceNextResponse = ManagedInstanceKeyListResult;

// @public
export interface ManagedInstanceKeysListByInstanceOptionalParams extends coreClient.OperationOptions {
    filter?: string;
}

// @public
export type ManagedInstanceKeysListByInstanceResponse = ManagedInstanceKeyListResult;

// @public
export type ManagedInstanceLicenseType = string;

// @public
export interface ManagedInstanceListResult {
    readonly nextLink?: string;
    readonly value?: ManagedInstance[];
}

// @public
export interface ManagedInstanceLongTermRetentionBackup extends ProxyResource {
    readonly backupExpirationTime?: Date;
    readonly backupStorageRedundancy?: BackupStorageRedundancy;
    readonly backupTime?: Date;
    readonly databaseDeletionTime?: Date;
    readonly databaseName?: string;
    readonly managedInstanceCreateTime?: Date;
    readonly managedInstanceName?: string;
}

// @public
export interface ManagedInstanceLongTermRetentionBackupListResult {
    readonly nextLink?: string;
    readonly value?: ManagedInstanceLongTermRetentionBackup[];
}

// @public
export interface ManagedInstanceLongTermRetentionPolicies {
    beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, policyName: ManagedInstanceLongTermRetentionPolicyName, parameters: ManagedInstanceLongTermRetentionPolicy, options?: ManagedInstanceLongTermRetentionPoliciesCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ManagedInstanceLongTermRetentionPoliciesCreateOrUpdateResponse>, ManagedInstanceLongTermRetentionPoliciesCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, managedInstanceName: string, databaseName: string, policyName: ManagedInstanceLongTermRetentionPolicyName, parameters: ManagedInstanceLongTermRetentionPolicy, options?: ManagedInstanceLongTermRetentionPoliciesCreateOrUpdateOptionalParams): Promise<ManagedInstanceLongTermRetentionPoliciesCreateOrUpdateResponse>;
    get(resourceGroupName: string, managedInstanceName: string, databaseName: string, policyName: ManagedInstanceLongTermRetentionPolicyName, options?: ManagedInstanceLongTermRetentionPoliciesGetOptionalParams): Promise<ManagedInstanceLongTermRetentionPoliciesGetResponse>;
    listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: ManagedInstanceLongTermRetentionPoliciesListByDatabaseOptionalParams): PagedAsyncIterableIterator<ManagedInstanceLongTermRetentionPolicy>;
}

// @public
export interface ManagedInstanceLongTermRetentionPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ManagedInstanceLongTermRetentionPoliciesCreateOrUpdateResponse = ManagedInstanceLongTermRetentionPolicy;

// @public
export interface ManagedInstanceLongTermRetentionPoliciesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstanceLongTermRetentionPoliciesGetResponse = ManagedInstanceLongTermRetentionPolicy;

// @public
export interface ManagedInstanceLongTermRetentionPoliciesListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstanceLongTermRetentionPoliciesListByDatabaseNextResponse = ManagedInstanceLongTermRetentionPolicyListResult;

// @public
export interface ManagedInstanceLongTermRetentionPoliciesListByDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstanceLongTermRetentionPoliciesListByDatabaseResponse = ManagedInstanceLongTermRetentionPolicyListResult;

// @public
export interface ManagedInstanceLongTermRetentionPolicy extends ProxyResource {
    monthlyRetention?: string;
    weeklyRetention?: string;
    weekOfYear?: number;
    yearlyRetention?: string;
}

// @public
export interface ManagedInstanceLongTermRetentionPolicyListResult {
    readonly nextLink?: string;
    readonly value?: ManagedInstanceLongTermRetentionPolicy[];
}

// @public
export type ManagedInstanceLongTermRetentionPolicyName = string;

// @public
export interface ManagedInstanceMaintenanceConfigurationCapability {
    readonly name?: string;
    reason?: string;
    readonly status?: CapabilityStatus;
}

// @public
export interface ManagedInstanceOperation extends ProxyResource {
    readonly description?: string;
    readonly errorCode?: number;
    readonly errorDescription?: string;
    readonly errorSeverity?: number;
    readonly estimatedCompletionTime?: Date;
    readonly isCancellable?: boolean;
    readonly isUserError?: boolean;
    readonly managedInstanceName?: string;
    readonly operation?: string;
    readonly operationFriendlyName?: string;
    readonly operationParameters?: ManagedInstanceOperationParametersPair;
    readonly operationSteps?: ManagedInstanceOperationSteps;
    readonly percentComplete?: number;
    readonly startTime?: Date;
    readonly state?: ManagementOperationState;
}

// @public
export interface ManagedInstanceOperationListResult {
    readonly nextLink?: string;
    readonly value?: ManagedInstanceOperation[];
}

// @public
export interface ManagedInstanceOperationParametersPair {
    readonly currentParameters?: UpsertManagedServerOperationParameters;
    readonly requestedParameters?: UpsertManagedServerOperationParameters;
}

// @public
export interface ManagedInstanceOperations {
    cancel(resourceGroupName: string, managedInstanceName: string, operationId: string, options?: ManagedInstanceOperationsCancelOptionalParams): Promise<void>;
    get(resourceGroupName: string, managedInstanceName: string, operationId: string, options?: ManagedInstanceOperationsGetOptionalParams): Promise<ManagedInstanceOperationsGetResponse>;
    listByManagedInstance(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstanceOperationsListByManagedInstanceOptionalParams): PagedAsyncIterableIterator<ManagedInstanceOperation>;
}

// @public
export interface ManagedInstanceOperationsCancelOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface ManagedInstanceOperationsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstanceOperationsGetResponse = ManagedInstanceOperation;

// @public
export interface ManagedInstanceOperationsListByManagedInstanceNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstanceOperationsListByManagedInstanceNextResponse = ManagedInstanceOperationListResult;

// @public
export interface ManagedInstanceOperationsListByManagedInstanceOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstanceOperationsListByManagedInstanceResponse = ManagedInstanceOperationListResult;

// @public
export interface ManagedInstanceOperationSteps {
    readonly currentStep?: number;
    readonly stepsList?: UpsertManagedServerOperationStep[];
    readonly totalSteps?: string;
}

// @public
export interface ManagedInstancePairInfo {
    partnerManagedInstanceId?: string;
    primaryManagedInstanceId?: string;
}

// @public
export interface ManagedInstancePecProperty {
    readonly id?: string;
    readonly properties?: ManagedInstancePrivateEndpointConnectionProperties;
}

// @public
export interface ManagedInstancePrivateEndpointConnection extends ProxyResource {
    privateEndpoint?: ManagedInstancePrivateEndpointProperty;
    privateLinkServiceConnectionState?: ManagedInstancePrivateLinkServiceConnectionStateProperty;
    readonly provisioningState?: string;
}

// @public
export interface ManagedInstancePrivateEndpointConnectionListResult {
    readonly nextLink?: string;
    readonly value?: ManagedInstancePrivateEndpointConnection[];
}

// @public
export interface ManagedInstancePrivateEndpointConnectionProperties {
    privateEndpoint?: ManagedInstancePrivateEndpointProperty;
    privateLinkServiceConnectionState?: ManagedInstancePrivateLinkServiceConnectionStateProperty;
    readonly provisioningState?: string;
}

// @public
export interface ManagedInstancePrivateEndpointConnections {
    beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, privateEndpointConnectionName: string, parameters: ManagedInstancePrivateEndpointConnection, options?: ManagedInstancePrivateEndpointConnectionsCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ManagedInstancePrivateEndpointConnectionsCreateOrUpdateResponse>, ManagedInstancePrivateEndpointConnectionsCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, managedInstanceName: string, privateEndpointConnectionName: string, parameters: ManagedInstancePrivateEndpointConnection, options?: ManagedInstancePrivateEndpointConnectionsCreateOrUpdateOptionalParams): Promise<ManagedInstancePrivateEndpointConnectionsCreateOrUpdateResponse>;
    beginDelete(resourceGroupName: string, managedInstanceName: string, privateEndpointConnectionName: string, options?: ManagedInstancePrivateEndpointConnectionsDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, managedInstanceName: string, privateEndpointConnectionName: string, options?: ManagedInstancePrivateEndpointConnectionsDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, managedInstanceName: string, privateEndpointConnectionName: string, options?: ManagedInstancePrivateEndpointConnectionsGetOptionalParams): Promise<ManagedInstancePrivateEndpointConnectionsGetResponse>;
    listByManagedInstance(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstancePrivateEndpointConnectionsListByManagedInstanceOptionalParams): PagedAsyncIterableIterator<ManagedInstancePrivateEndpointConnection>;
}

// @public
export interface ManagedInstancePrivateEndpointConnectionsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ManagedInstancePrivateEndpointConnectionsCreateOrUpdateResponse = ManagedInstancePrivateEndpointConnection;

// @public
export interface ManagedInstancePrivateEndpointConnectionsDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface ManagedInstancePrivateEndpointConnectionsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstancePrivateEndpointConnectionsGetResponse = ManagedInstancePrivateEndpointConnection;

// @public
export interface ManagedInstancePrivateEndpointConnectionsListByManagedInstanceNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstancePrivateEndpointConnectionsListByManagedInstanceNextResponse = ManagedInstancePrivateEndpointConnectionListResult;

// @public
export interface ManagedInstancePrivateEndpointConnectionsListByManagedInstanceOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstancePrivateEndpointConnectionsListByManagedInstanceResponse = ManagedInstancePrivateEndpointConnectionListResult;

// @public (undocumented)
export interface ManagedInstancePrivateEndpointProperty {
    id?: string;
}

// @public
export interface ManagedInstancePrivateLink extends ProxyResource {
    readonly properties?: ManagedInstancePrivateLinkProperties;
}

// @public
export interface ManagedInstancePrivateLinkListResult {
    readonly nextLink?: string;
    readonly value?: ManagedInstancePrivateLink[];
}

// @public
export interface ManagedInstancePrivateLinkProperties {
    readonly groupId?: string;
    readonly requiredMembers?: string[];
}

// @public
export interface ManagedInstancePrivateLinkResources {
    get(resourceGroupName: string, managedInstanceName: string, groupName: string, options?: ManagedInstancePrivateLinkResourcesGetOptionalParams): Promise<ManagedInstancePrivateLinkResourcesGetResponse>;
    listByManagedInstance(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstancePrivateLinkResourcesListByManagedInstanceOptionalParams): PagedAsyncIterableIterator<ManagedInstancePrivateLink>;
}

// @public
export interface ManagedInstancePrivateLinkResourcesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstancePrivateLinkResourcesGetResponse = ManagedInstancePrivateLink;

// @public
export interface ManagedInstancePrivateLinkResourcesListByManagedInstanceNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstancePrivateLinkResourcesListByManagedInstanceNextResponse = ManagedInstancePrivateLinkListResult;

// @public
export interface ManagedInstancePrivateLinkResourcesListByManagedInstanceOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstancePrivateLinkResourcesListByManagedInstanceResponse = ManagedInstancePrivateLinkListResult;

// @public (undocumented)
export interface ManagedInstancePrivateLinkServiceConnectionStateProperty {
    readonly actionsRequired?: string;
    description: string;
    status: string;
}

// @public
export type ManagedInstancePropertiesProvisioningState = string;

// @public
export type ManagedInstanceProxyOverride = string;

// @public
export interface ManagedInstanceQuery extends ProxyResource {
    queryText?: string;
}

// @public
export interface ManagedInstanceQueryStatistics {
    readonly nextLink?: string;
    readonly value?: QueryStatistics[];
}

// @public
export interface ManagedInstances {
    beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, parameters: ManagedInstance, options?: ManagedInstancesCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ManagedInstancesCreateOrUpdateResponse>, ManagedInstancesCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, managedInstanceName: string, parameters: ManagedInstance, options?: ManagedInstancesCreateOrUpdateOptionalParams): Promise<ManagedInstancesCreateOrUpdateResponse>;
    beginDelete(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstancesDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstancesDeleteOptionalParams): Promise<void>;
    beginFailover(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstancesFailoverOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginFailoverAndWait(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstancesFailoverOptionalParams): Promise<void>;
    beginStart(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstancesStartOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginStartAndWait(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstancesStartOptionalParams): Promise<void>;
    beginStop(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstancesStopOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginStopAndWait(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstancesStopOptionalParams): Promise<void>;
    beginUpdate(resourceGroupName: string, managedInstanceName: string, parameters: ManagedInstanceUpdate, options?: ManagedInstancesUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ManagedInstancesUpdateResponse>, ManagedInstancesUpdateResponse>>;
    beginUpdateAndWait(resourceGroupName: string, managedInstanceName: string, parameters: ManagedInstanceUpdate, options?: ManagedInstancesUpdateOptionalParams): Promise<ManagedInstancesUpdateResponse>;
    get(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstancesGetOptionalParams): Promise<ManagedInstancesGetResponse>;
    list(options?: ManagedInstancesListOptionalParams): PagedAsyncIterableIterator<ManagedInstance>;
    listByInstancePool(resourceGroupName: string, instancePoolName: string, options?: ManagedInstancesListByInstancePoolOptionalParams): PagedAsyncIterableIterator<ManagedInstance>;
    listByManagedInstance(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstancesListByManagedInstanceOptionalParams): PagedAsyncIterableIterator<TopQueries>;
    listByResourceGroup(resourceGroupName: string, options?: ManagedInstancesListByResourceGroupOptionalParams): PagedAsyncIterableIterator<ManagedInstance>;
    listOutboundNetworkDependenciesByManagedInstance(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstancesListOutboundNetworkDependenciesByManagedInstanceOptionalParams): PagedAsyncIterableIterator<OutboundEnvironmentEndpoint>;
}

// @public
export interface ManagedInstancesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ManagedInstancesCreateOrUpdateResponse = ManagedInstance;

// @public
export interface ManagedInstancesDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface ManagedInstancesFailoverOptionalParams extends coreClient.OperationOptions {
    replicaType?: ReplicaType;
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface ManagedInstancesGetOptionalParams extends coreClient.OperationOptions {
    expand?: string;
}

// @public
export type ManagedInstancesGetResponse = ManagedInstance;

// @public
export interface ManagedInstancesListByInstancePoolNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstancesListByInstancePoolNextResponse = ManagedInstanceListResult;

// @public
export interface ManagedInstancesListByInstancePoolOptionalParams extends coreClient.OperationOptions {
    expand?: string;
}

// @public
export type ManagedInstancesListByInstancePoolResponse = ManagedInstanceListResult;

// @public
export interface ManagedInstancesListByManagedInstanceNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstancesListByManagedInstanceNextResponse = TopQueriesListResult;

// @public
export interface ManagedInstancesListByManagedInstanceOptionalParams extends coreClient.OperationOptions {
    aggregationFunction?: AggregationFunctionType;
    databases?: string;
    endTime?: string;
    interval?: QueryTimeGrainType;
    numberOfQueries?: number;
    observationMetric?: MetricType;
    startTime?: string;
}

// @public
export type ManagedInstancesListByManagedInstanceResponse = TopQueriesListResult;

// @public
export interface ManagedInstancesListByResourceGroupNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstancesListByResourceGroupNextResponse = ManagedInstanceListResult;

// @public
export interface ManagedInstancesListByResourceGroupOptionalParams extends coreClient.OperationOptions {
    expand?: string;
}

// @public
export type ManagedInstancesListByResourceGroupResponse = ManagedInstanceListResult;

// @public
export interface ManagedInstancesListNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstancesListNextResponse = ManagedInstanceListResult;

// @public
export interface ManagedInstancesListOptionalParams extends coreClient.OperationOptions {
    expand?: string;
}

// @public
export interface ManagedInstancesListOutboundNetworkDependenciesByManagedInstanceNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstancesListOutboundNetworkDependenciesByManagedInstanceNextResponse = OutboundEnvironmentEndpointCollection;

// @public
export interface ManagedInstancesListOutboundNetworkDependenciesByManagedInstanceOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstancesListOutboundNetworkDependenciesByManagedInstanceResponse = OutboundEnvironmentEndpointCollection;

// @public
export type ManagedInstancesListResponse = ManagedInstanceListResult;

// @public
export interface ManagedInstancesStartOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface ManagedInstancesStopOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface ManagedInstancesUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ManagedInstancesUpdateResponse = ManagedInstance;

// @public
export interface ManagedInstanceTdeCertificates {
    beginCreate(resourceGroupName: string, managedInstanceName: string, parameters: TdeCertificate, options?: ManagedInstanceTdeCertificatesCreateOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginCreateAndWait(resourceGroupName: string, managedInstanceName: string, parameters: TdeCertificate, options?: ManagedInstanceTdeCertificatesCreateOptionalParams): Promise<void>;
}

// @public
export interface ManagedInstanceTdeCertificatesCreateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface ManagedInstanceUpdate {
    administratorLogin?: string;
    administratorLoginPassword?: string;
    administrators?: ManagedInstanceExternalAdministrator;
    collation?: string;
    readonly currentBackupStorageRedundancy?: BackupStorageRedundancy;
    readonly dnsZone?: string;
    dnsZonePartner?: string;
    readonly fullyQualifiedDomainName?: string;
    identity?: ResourceIdentity;
    instancePoolId?: string;
    keyId?: string;
    licenseType?: ManagedInstanceLicenseType;
    maintenanceConfigurationId?: string;
    managedInstanceCreateMode?: ManagedServerCreateMode;
    minimalTlsVersion?: string;
    primaryUserAssignedIdentityId?: string;
    readonly privateEndpointConnections?: ManagedInstancePecProperty[];
    readonly provisioningState?: ManagedInstancePropertiesProvisioningState;
    proxyOverride?: ManagedInstanceProxyOverride;
    publicDataEndpointEnabled?: boolean;
    requestedBackupStorageRedundancy?: BackupStorageRedundancy;
    restorePointInTime?: Date;
    servicePrincipal?: ServicePrincipal;
    sku?: Sku;
    sourceManagedInstanceId?: string;
    readonly state?: string;
    storageSizeInGB?: number;
    subnetId?: string;
    tags?: {
        [propertyName: string]: string;
    };
    timezoneId?: string;
    vCores?: number;
    zoneRedundant?: boolean;
}

// @public
export interface ManagedInstanceVcoresCapability {
    readonly includedMaxSize?: MaxSizeCapability;
    readonly instancePoolSupported?: boolean;
    readonly name?: string;
    reason?: string;
    readonly standaloneSupported?: boolean;
    readonly status?: CapabilityStatus;
    readonly supportedMaintenanceConfigurations?: ManagedInstanceMaintenanceConfigurationCapability[];
    readonly supportedStorageSizes?: MaxSizeRangeCapability[];
    readonly value?: number;
}

// @public
export interface ManagedInstanceVersionCapability {
    readonly name?: string;
    reason?: string;
    readonly status?: CapabilityStatus;
    readonly supportedEditions?: ManagedInstanceEditionCapability[];
    readonly supportedInstancePoolEditions?: InstancePoolEditionCapability[];
}

// @public
export interface ManagedInstanceVulnerabilityAssessment extends ProxyResource {
    recurringScans?: VulnerabilityAssessmentRecurringScansProperties;
    storageAccountAccessKey?: string;
    storageContainerPath?: string;
    storageContainerSasKey?: string;
}

// @public
export interface ManagedInstanceVulnerabilityAssessmentListResult {
    readonly nextLink?: string;
    readonly value?: ManagedInstanceVulnerabilityAssessment[];
}

// @public
export interface ManagedInstanceVulnerabilityAssessments {
    createOrUpdate(resourceGroupName: string, managedInstanceName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, parameters: ManagedInstanceVulnerabilityAssessment, options?: ManagedInstanceVulnerabilityAssessmentsCreateOrUpdateOptionalParams): Promise<ManagedInstanceVulnerabilityAssessmentsCreateOrUpdateResponse>;
    delete(resourceGroupName: string, managedInstanceName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, options?: ManagedInstanceVulnerabilityAssessmentsDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, managedInstanceName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, options?: ManagedInstanceVulnerabilityAssessmentsGetOptionalParams): Promise<ManagedInstanceVulnerabilityAssessmentsGetResponse>;
    listByInstance(resourceGroupName: string, managedInstanceName: string, options?: ManagedInstanceVulnerabilityAssessmentsListByInstanceOptionalParams): PagedAsyncIterableIterator<ManagedInstanceVulnerabilityAssessment>;
}

// @public
export interface ManagedInstanceVulnerabilityAssessmentsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstanceVulnerabilityAssessmentsCreateOrUpdateResponse = ManagedInstanceVulnerabilityAssessment;

// @public
export interface ManagedInstanceVulnerabilityAssessmentsDeleteOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface ManagedInstanceVulnerabilityAssessmentsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstanceVulnerabilityAssessmentsGetResponse = ManagedInstanceVulnerabilityAssessment;

// @public
export interface ManagedInstanceVulnerabilityAssessmentsListByInstanceNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstanceVulnerabilityAssessmentsListByInstanceNextResponse = ManagedInstanceVulnerabilityAssessmentListResult;

// @public
export interface ManagedInstanceVulnerabilityAssessmentsListByInstanceOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedInstanceVulnerabilityAssessmentsListByInstanceResponse = ManagedInstanceVulnerabilityAssessmentListResult;

// @public
export interface ManagedLedgerDigestUploads extends ProxyResource {
    digestStorageEndpoint?: string;
    readonly state?: ManagedLedgerDigestUploadsState;
}

// @public
export interface ManagedLedgerDigestUploadsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ManagedLedgerDigestUploadsCreateOrUpdateResponse = ManagedLedgerDigestUploads;

// @public
export interface ManagedLedgerDigestUploadsDisableOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ManagedLedgerDigestUploadsDisableResponse = ManagedLedgerDigestUploads;

// @public
export interface ManagedLedgerDigestUploadsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedLedgerDigestUploadsGetResponse = ManagedLedgerDigestUploads;

// @public
export interface ManagedLedgerDigestUploadsListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedLedgerDigestUploadsListByDatabaseNextResponse = ManagedLedgerDigestUploadsListResult;

// @public
export interface ManagedLedgerDigestUploadsListByDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedLedgerDigestUploadsListByDatabaseResponse = ManagedLedgerDigestUploadsListResult;

// @public
export interface ManagedLedgerDigestUploadsListResult {
    readonly nextLink?: string;
    readonly value?: ManagedLedgerDigestUploads[];
}

// @public
export type ManagedLedgerDigestUploadsName = string;

// @public
export interface ManagedLedgerDigestUploadsOperations {
    beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, databaseName: string, ledgerDigestUploads: ManagedLedgerDigestUploadsName, parameters: ManagedLedgerDigestUploads, options?: ManagedLedgerDigestUploadsCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ManagedLedgerDigestUploadsCreateOrUpdateResponse>, ManagedLedgerDigestUploadsCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, managedInstanceName: string, databaseName: string, ledgerDigestUploads: ManagedLedgerDigestUploadsName, parameters: ManagedLedgerDigestUploads, options?: ManagedLedgerDigestUploadsCreateOrUpdateOptionalParams): Promise<ManagedLedgerDigestUploadsCreateOrUpdateResponse>;
    beginDisable(resourceGroupName: string, managedInstanceName: string, databaseName: string, ledgerDigestUploads: ManagedLedgerDigestUploadsName, options?: ManagedLedgerDigestUploadsDisableOptionalParams): Promise<SimplePollerLike<OperationState<ManagedLedgerDigestUploadsDisableResponse>, ManagedLedgerDigestUploadsDisableResponse>>;
    beginDisableAndWait(resourceGroupName: string, managedInstanceName: string, databaseName: string, ledgerDigestUploads: ManagedLedgerDigestUploadsName, options?: ManagedLedgerDigestUploadsDisableOptionalParams): Promise<ManagedLedgerDigestUploadsDisableResponse>;
    get(resourceGroupName: string, managedInstanceName: string, databaseName: string, ledgerDigestUploads: ManagedLedgerDigestUploadsName, options?: ManagedLedgerDigestUploadsGetOptionalParams): Promise<ManagedLedgerDigestUploadsGetResponse>;
    listByDatabase(resourceGroupName: string, managedInstanceName: string, databaseName: string, options?: ManagedLedgerDigestUploadsListByDatabaseOptionalParams): PagedAsyncIterableIterator<ManagedLedgerDigestUploads>;
}

// @public
export type ManagedLedgerDigestUploadsState = string;

// @public
export interface ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies {
    beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, restorableDroppedDatabaseId: string, policyName: ManagedShortTermRetentionPolicyName, parameters: ManagedBackupShortTermRetentionPolicy, options?: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCreateOrUpdateResponse>, ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, managedInstanceName: string, restorableDroppedDatabaseId: string, policyName: ManagedShortTermRetentionPolicyName, parameters: ManagedBackupShortTermRetentionPolicy, options?: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams): Promise<ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCreateOrUpdateResponse>;
    beginUpdate(resourceGroupName: string, managedInstanceName: string, restorableDroppedDatabaseId: string, policyName: ManagedShortTermRetentionPolicyName, parameters: ManagedBackupShortTermRetentionPolicy, options?: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpdateResponse>, ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpdateResponse>>;
    beginUpdateAndWait(resourceGroupName: string, managedInstanceName: string, restorableDroppedDatabaseId: string, policyName: ManagedShortTermRetentionPolicyName, parameters: ManagedBackupShortTermRetentionPolicy, options?: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpdateOptionalParams): Promise<ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpdateResponse>;
    get(resourceGroupName: string, managedInstanceName: string, restorableDroppedDatabaseId: string, policyName: ManagedShortTermRetentionPolicyName, options?: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesGetOptionalParams): Promise<ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesGetResponse>;
    listByRestorableDroppedDatabase(resourceGroupName: string, managedInstanceName: string, restorableDroppedDatabaseId: string, options?: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesListByRestorableDroppedDatabaseOptionalParams): PagedAsyncIterableIterator<ManagedBackupShortTermRetentionPolicy>;
}

// @public
export interface ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCreateOrUpdateResponse = ManagedBackupShortTermRetentionPolicy;

// @public
export interface ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesGetResponse = ManagedBackupShortTermRetentionPolicy;

// @public
export interface ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesListByRestorableDroppedDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesListByRestorableDroppedDatabaseNextResponse = ManagedBackupShortTermRetentionPolicyListResult;

// @public
export interface ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesListByRestorableDroppedDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesListByRestorableDroppedDatabaseResponse = ManagedBackupShortTermRetentionPolicyListResult;

// @public
export interface ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesUpdateResponse = ManagedBackupShortTermRetentionPolicy;

// @public
export type ManagedServerCreateMode = string;

// @public
export interface ManagedServerDnsAlias extends ProxyResource {
    readonly azureDnsRecord?: string;
    readonly publicAzureDnsRecord?: string;
}

// @public
export interface ManagedServerDnsAliasAcquisition {
    oldManagedServerDnsAliasResourceId: string;
}

// @public
export interface ManagedServerDnsAliasCreation {
    createDnsRecord?: boolean;
}

// @public
export interface ManagedServerDnsAliases {
    beginAcquire(resourceGroupName: string, managedInstanceName: string, dnsAliasName: string, parameters: ManagedServerDnsAliasAcquisition, options?: ManagedServerDnsAliasesAcquireOptionalParams): Promise<SimplePollerLike<OperationState<ManagedServerDnsAliasesAcquireResponse>, ManagedServerDnsAliasesAcquireResponse>>;
    beginAcquireAndWait(resourceGroupName: string, managedInstanceName: string, dnsAliasName: string, parameters: ManagedServerDnsAliasAcquisition, options?: ManagedServerDnsAliasesAcquireOptionalParams): Promise<ManagedServerDnsAliasesAcquireResponse>;
    beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, dnsAliasName: string, parameters: ManagedServerDnsAliasCreation, options?: ManagedServerDnsAliasesCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ManagedServerDnsAliasesCreateOrUpdateResponse>, ManagedServerDnsAliasesCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, managedInstanceName: string, dnsAliasName: string, parameters: ManagedServerDnsAliasCreation, options?: ManagedServerDnsAliasesCreateOrUpdateOptionalParams): Promise<ManagedServerDnsAliasesCreateOrUpdateResponse>;
    beginDelete(resourceGroupName: string, managedInstanceName: string, dnsAliasName: string, options?: ManagedServerDnsAliasesDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, managedInstanceName: string, dnsAliasName: string, options?: ManagedServerDnsAliasesDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, managedInstanceName: string, dnsAliasName: string, options?: ManagedServerDnsAliasesGetOptionalParams): Promise<ManagedServerDnsAliasesGetResponse>;
    listByManagedInstance(resourceGroupName: string, managedInstanceName: string, options?: ManagedServerDnsAliasesListByManagedInstanceOptionalParams): PagedAsyncIterableIterator<ManagedServerDnsAlias>;
}

// @public
export interface ManagedServerDnsAliasesAcquireOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ManagedServerDnsAliasesAcquireResponse = ManagedServerDnsAlias;

// @public
export interface ManagedServerDnsAliasesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ManagedServerDnsAliasesCreateOrUpdateResponse = ManagedServerDnsAlias;

// @public
export interface ManagedServerDnsAliasesDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface ManagedServerDnsAliasesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedServerDnsAliasesGetResponse = ManagedServerDnsAlias;

// @public
export interface ManagedServerDnsAliasesListByManagedInstanceNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedServerDnsAliasesListByManagedInstanceNextResponse = ManagedServerDnsAliasListResult;

// @public
export interface ManagedServerDnsAliasesListByManagedInstanceOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedServerDnsAliasesListByManagedInstanceResponse = ManagedServerDnsAliasListResult;

// @public
export interface ManagedServerDnsAliasListResult {
    readonly nextLink?: string;
    readonly value?: ManagedServerDnsAlias[];
}

// @public
export interface ManagedServerSecurityAlertPolicies {
    beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, securityAlertPolicyName: SecurityAlertPolicyName, parameters: ManagedServerSecurityAlertPolicy, options?: ManagedServerSecurityAlertPoliciesCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ManagedServerSecurityAlertPoliciesCreateOrUpdateResponse>, ManagedServerSecurityAlertPoliciesCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, managedInstanceName: string, securityAlertPolicyName: SecurityAlertPolicyName, parameters: ManagedServerSecurityAlertPolicy, options?: ManagedServerSecurityAlertPoliciesCreateOrUpdateOptionalParams): Promise<ManagedServerSecurityAlertPoliciesCreateOrUpdateResponse>;
    get(resourceGroupName: string, managedInstanceName: string, securityAlertPolicyName: SecurityAlertPolicyName, options?: ManagedServerSecurityAlertPoliciesGetOptionalParams): Promise<ManagedServerSecurityAlertPoliciesGetResponse>;
    listByInstance(resourceGroupName: string, managedInstanceName: string, options?: ManagedServerSecurityAlertPoliciesListByInstanceOptionalParams): PagedAsyncIterableIterator<ManagedServerSecurityAlertPolicy>;
}

// @public
export interface ManagedServerSecurityAlertPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ManagedServerSecurityAlertPoliciesCreateOrUpdateResponse = ManagedServerSecurityAlertPolicy;

// @public
export interface ManagedServerSecurityAlertPoliciesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedServerSecurityAlertPoliciesGetResponse = ManagedServerSecurityAlertPolicy;

// @public
export interface ManagedServerSecurityAlertPoliciesListByInstanceNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedServerSecurityAlertPoliciesListByInstanceNextResponse = ManagedServerSecurityAlertPolicyListResult;

// @public
export interface ManagedServerSecurityAlertPoliciesListByInstanceOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ManagedServerSecurityAlertPoliciesListByInstanceResponse = ManagedServerSecurityAlertPolicyListResult;

// @public
export interface ManagedServerSecurityAlertPolicy extends ProxyResource {
    readonly creationTime?: Date;
    disabledAlerts?: string[];
    emailAccountAdmins?: boolean;
    emailAddresses?: string[];
    retentionDays?: number;
    state?: SecurityAlertsPolicyState;
    storageAccountAccessKey?: string;
    storageEndpoint?: string;
    readonly systemData?: SystemData;
}

// @public
export interface ManagedServerSecurityAlertPolicyListResult {
    readonly nextLink?: string;
    readonly value?: ManagedServerSecurityAlertPolicy[];
}

// @public
export type ManagedShortTermRetentionPolicyName = string;

// @public
export interface ManagedTransparentDataEncryption extends ProxyResource {
    state?: TransparentDataEncryptionState;
}

// @public
export interface ManagedTransparentDataEncryptionListResult {
    readonly nextLink?: string;
    readonly value?: ManagedTransparentDataEncryption[];
}

// @public
export type ManagementOperationState = string;

// @public
export interface MaxSizeCapability {
    readonly limit?: number;
    readonly unit?: MaxSizeUnit;
}

// @public
export interface MaxSizeRangeCapability {
    readonly logSize?: LogSizeCapability;
    readonly maxValue?: MaxSizeCapability;
    readonly minValue?: MaxSizeCapability;
    reason?: string;
    readonly scaleSize?: MaxSizeCapability;
    readonly status?: CapabilityStatus;
}

// @public
export type MaxSizeUnit = string;

// @public
export interface Metric {
    readonly endTime?: Date;
    readonly metricValues?: MetricValue[];
    readonly name?: MetricName;
    readonly startTime?: Date;
    readonly timeGrain?: string;
    readonly unit?: UnitType;
}

// @public
export interface MetricAvailability {
    readonly retention?: string;
    readonly timeGrain?: string;
}

// @public
export interface MetricDefinition {
    readonly metricAvailabilities?: MetricAvailability[];
    readonly name?: MetricName;
    readonly primaryAggregationType?: PrimaryAggregationType;
    readonly resourceUri?: string;
    readonly unit?: UnitDefinitionType;
}

// @public
export interface MetricDefinitionListResult {
    value: MetricDefinition[];
}

// @public
export interface MetricListResult {
    value: Metric[];
}

// @public
export interface MetricName {
    readonly localizedValue?: string;
    readonly value?: string;
}

// @public
export type MetricType = string;

// @public
export interface MetricValue {
    readonly average?: number;
    readonly count?: number;
    readonly maximum?: number;
    readonly minimum?: number;
    readonly timestamp?: Date;
    readonly total?: number;
}

// @public
export interface MinCapacityCapability {
    reason?: string;
    readonly status?: CapabilityStatus;
    readonly value?: number;
}

// @public
export type MoveOperationMode = string;

// @public
export interface Name {
    localizedValue?: string;
    value?: string;
}

// @public
export interface NetworkIsolationSettings {
    sqlServerResourceId?: string;
    storageAccountResourceId?: string;
}

// @public
export interface Operation {
    readonly display?: OperationDisplay;
    readonly name?: string;
    readonly origin?: OperationOrigin;
    readonly properties?: {
        [propertyName: string]: Record<string, unknown>;
    };
}

// @public
export interface OperationDisplay {
    readonly description?: string;
    readonly operation?: string;
    readonly provider?: string;
    readonly resource?: string;
}

// @public
export interface OperationImpact {
    readonly changeValueAbsolute?: number;
    readonly changeValueRelative?: number;
    readonly name?: string;
    readonly unit?: string;
}

// @public
export interface OperationListResult {
    readonly nextLink?: string;
    readonly value?: Operation[];
}

// @public
export type OperationMode = string;

// @public
export type OperationOrigin = string;

// @public
export interface Operations {
    list(options?: OperationsListOptionalParams): PagedAsyncIterableIterator<Operation>;
}

// @public
export interface OperationsListNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type OperationsListNextResponse = OperationListResult;

// @public
export interface OperationsListOptionalParams extends coreClient.OperationOptions {
}

// @public
export type OperationsListResponse = OperationListResult;

// @public
export interface OutboundEnvironmentEndpoint {
    readonly category?: string;
    readonly endpoints?: EndpointDependency[];
}

// @public
export interface OutboundEnvironmentEndpointCollection {
    readonly nextLink?: string;
    readonly value?: OutboundEnvironmentEndpoint[];
}

// @public
export interface OutboundFirewallRule extends ProxyResource {
    readonly provisioningState?: string;
}

// @public
export interface OutboundFirewallRuleListResult {
    readonly nextLink?: string;
    readonly value?: OutboundFirewallRule[];
}

// @public
export interface OutboundFirewallRules {
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, outboundRuleFqdn: string, parameters: OutboundFirewallRule, options?: OutboundFirewallRulesCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<OutboundFirewallRulesCreateOrUpdateResponse>, OutboundFirewallRulesCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, outboundRuleFqdn: string, parameters: OutboundFirewallRule, options?: OutboundFirewallRulesCreateOrUpdateOptionalParams): Promise<OutboundFirewallRulesCreateOrUpdateResponse>;
    beginDelete(resourceGroupName: string, serverName: string, outboundRuleFqdn: string, options?: OutboundFirewallRulesDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, serverName: string, outboundRuleFqdn: string, options?: OutboundFirewallRulesDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, serverName: string, outboundRuleFqdn: string, options?: OutboundFirewallRulesGetOptionalParams): Promise<OutboundFirewallRulesGetResponse>;
    listByServer(resourceGroupName: string, serverName: string, options?: OutboundFirewallRulesListByServerOptionalParams): PagedAsyncIterableIterator<OutboundFirewallRule>;
}

// @public
export interface OutboundFirewallRulesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type OutboundFirewallRulesCreateOrUpdateResponse = OutboundFirewallRule;

// @public
export interface OutboundFirewallRulesDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface OutboundFirewallRulesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type OutboundFirewallRulesGetResponse = OutboundFirewallRule;

// @public
export interface OutboundFirewallRulesListByServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type OutboundFirewallRulesListByServerNextResponse = OutboundFirewallRuleListResult;

// @public
export interface OutboundFirewallRulesListByServerOptionalParams extends coreClient.OperationOptions {
}

// @public
export type OutboundFirewallRulesListByServerResponse = OutboundFirewallRuleListResult;

// @public
export interface PartnerInfo {
    id: string;
    readonly location?: string;
    readonly replicationRole?: FailoverGroupReplicationRole;
}

// @public
export interface PartnerRegionInfo {
    location?: string;
    readonly replicationRole?: InstanceFailoverGroupReplicationRole;
}

// @public
export type PauseDelayTimeUnit = string;

// @public
export interface PerformanceLevelCapability {
    readonly unit?: PerformanceLevelUnit;
    readonly value?: number;
}

// @public
export type PerformanceLevelUnit = string;

// @public
export type PrimaryAggregationType = string;

// @public
export type PrincipalType = string;

// @public
export interface PrivateEndpointConnection extends ProxyResource {
    privateEndpoint?: PrivateEndpointProperty;
    privateLinkServiceConnectionState?: PrivateLinkServiceConnectionStateProperty;
    readonly provisioningState?: PrivateEndpointProvisioningState;
}

// @public
export interface PrivateEndpointConnectionListResult {
    readonly nextLink?: string;
    readonly value?: PrivateEndpointConnection[];
}

// @public
export interface PrivateEndpointConnectionProperties {
    readonly groupIds?: string[];
    privateEndpoint?: PrivateEndpointProperty;
    privateLinkServiceConnectionState?: PrivateLinkServiceConnectionStateProperty;
    readonly provisioningState?: PrivateEndpointProvisioningState;
}

// @public
export interface PrivateEndpointConnectionRequestStatus {
    readonly privateEndpointConnectionName?: string;
    readonly privateLinkServiceId?: string;
    readonly status?: string;
}

// @public
export interface PrivateEndpointConnections {
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, privateEndpointConnectionName: string, parameters: PrivateEndpointConnection, options?: PrivateEndpointConnectionsCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<PrivateEndpointConnectionsCreateOrUpdateResponse>, PrivateEndpointConnectionsCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, privateEndpointConnectionName: string, parameters: PrivateEndpointConnection, options?: PrivateEndpointConnectionsCreateOrUpdateOptionalParams): Promise<PrivateEndpointConnectionsCreateOrUpdateResponse>;
    beginDelete(resourceGroupName: string, serverName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, serverName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, serverName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsGetOptionalParams): Promise<PrivateEndpointConnectionsGetResponse>;
    listByServer(resourceGroupName: string, serverName: string, options?: PrivateEndpointConnectionsListByServerOptionalParams): PagedAsyncIterableIterator<PrivateEndpointConnection>;
}

// @public
export interface PrivateEndpointConnectionsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type PrivateEndpointConnectionsCreateOrUpdateResponse = PrivateEndpointConnection;

// @public
export interface PrivateEndpointConnectionsDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface PrivateEndpointConnectionsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type PrivateEndpointConnectionsGetResponse = PrivateEndpointConnection;

// @public
export interface PrivateEndpointConnectionsListByServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type PrivateEndpointConnectionsListByServerNextResponse = PrivateEndpointConnectionListResult;

// @public
export interface PrivateEndpointConnectionsListByServerOptionalParams extends coreClient.OperationOptions {
}

// @public
export type PrivateEndpointConnectionsListByServerResponse = PrivateEndpointConnectionListResult;

// @public (undocumented)
export interface PrivateEndpointProperty {
    id?: string;
}

// @public
export type PrivateEndpointProvisioningState = string;

// @public
export interface PrivateLinkResource extends ProxyResource {
    readonly properties?: PrivateLinkResourceProperties;
}

// @public
export interface PrivateLinkResourceListResult {
    readonly nextLink?: string;
    readonly value?: PrivateLinkResource[];
}

// @public
export interface PrivateLinkResourceProperties {
    readonly groupId?: string;
    readonly requiredMembers?: string[];
    readonly requiredZoneNames?: string[];
}

// @public
export interface PrivateLinkResources {
    get(resourceGroupName: string, serverName: string, groupName: string, options?: PrivateLinkResourcesGetOptionalParams): Promise<PrivateLinkResourcesGetResponse>;
    listByServer(resourceGroupName: string, serverName: string, options?: PrivateLinkResourcesListByServerOptionalParams): PagedAsyncIterableIterator<PrivateLinkResource>;
}

// @public
export interface PrivateLinkResourcesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type PrivateLinkResourcesGetResponse = PrivateLinkResource;

// @public
export interface PrivateLinkResourcesListByServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type PrivateLinkResourcesListByServerNextResponse = PrivateLinkResourceListResult;

// @public
export interface PrivateLinkResourcesListByServerOptionalParams extends coreClient.OperationOptions {
}

// @public
export type PrivateLinkResourcesListByServerResponse = PrivateLinkResourceListResult;

// @public
export type PrivateLinkServiceConnectionStateActionsRequire = string;

// @public (undocumented)
export interface PrivateLinkServiceConnectionStateProperty {
    readonly actionsRequired?: PrivateLinkServiceConnectionStateActionsRequire;
    description: string;
    status: PrivateLinkServiceConnectionStateStatus;
}

// @public
export type PrivateLinkServiceConnectionStateStatus = string;

// @public
export type ProvisioningState = string;

// @public
export interface ProxyResource extends Resource {
}

// @public
export interface ProxyResourceWithWritableName extends ResourceWithWritableName {
}

// @public
export interface QueryCheck {
    readonly columnNames?: string[];
    readonly expectedResult?: string[][];
    readonly query?: string;
}

// @public
export interface QueryMetricInterval {
    readonly executionCount?: number;
    readonly intervalStartTime?: string;
    readonly intervalType?: QueryTimeGrainType;
    metrics?: QueryMetricProperties[];
}

// @public
export interface QueryMetricProperties {
    readonly avg?: number;
    readonly displayName?: string;
    readonly max?: number;
    readonly min?: number;
    readonly name?: string;
    readonly stdev?: number;
    readonly sum?: number;
    readonly unit?: QueryMetricUnitType;
    readonly value?: number;
}

// @public
export type QueryMetricUnitType = string;

// @public (undocumented)
export interface QueryStatistics extends ProxyResource {
    readonly databaseName?: string;
    readonly endTime?: string;
    intervals?: QueryMetricInterval[];
    readonly queryId?: string;
    readonly startTime?: string;
}

// @public
export interface QueryStatisticsProperties {
    readonly databaseName?: string;
    readonly endTime?: string;
    intervals?: QueryMetricInterval[];
    readonly queryId?: string;
    readonly startTime?: string;
}

// @public
export type QueryTimeGrainType = string;

// @public
export type ReadOnlyEndpointFailoverPolicy = string;

// @public
export interface ReadScaleCapability {
    readonly maxNumberOfReplicas?: number;
    reason?: string;
    readonly status?: CapabilityStatus;
}

// @public
export type ReadWriteEndpointFailoverPolicy = string;

// @public
export interface RecommendedAction extends ProxyResource {
    readonly details?: {
        [propertyName: string]: Record<string, unknown>;
    };
    readonly errorDetails?: RecommendedActionErrorInfo;
    readonly estimatedImpact?: RecommendedActionImpactRecord[];
    readonly executeActionDuration?: string;
    readonly executeActionInitiatedBy?: RecommendedActionInitiatedBy;
    readonly executeActionInitiatedTime?: Date;
    readonly executeActionStartTime?: Date;
    readonly implementationDetails?: RecommendedActionImplementationInfo;
    readonly isArchivedAction?: boolean;
    readonly isExecutableAction?: boolean;
    readonly isRevertableAction?: boolean;
    readonly kind?: string;
    readonly lastRefresh?: Date;
    readonly linkedObjects?: string[];
    readonly location?: string;
    readonly observedImpact?: RecommendedActionImpactRecord[];
    readonly recommendationReason?: string;
    readonly revertActionDuration?: string;
    readonly revertActionInitiatedBy?: RecommendedActionInitiatedBy;
    readonly revertActionInitiatedTime?: Date;
    readonly revertActionStartTime?: Date;
    readonly score?: number;
    state?: RecommendedActionStateInfo;
    readonly timeSeries?: RecommendedActionMetricInfo[];
    readonly validSince?: Date;
}

// @public
export type RecommendedActionCurrentState = string;

// @public
export interface RecommendedActionErrorInfo {
    readonly errorCode?: string;
    readonly isRetryable?: IsRetryable;
}

// @public
export interface RecommendedActionImpactRecord {
    readonly absoluteValue?: number;
    readonly changeValueAbsolute?: number;
    readonly changeValueRelative?: number;
    readonly dimensionName?: string;
    readonly unit?: string;
}

// @public
export interface RecommendedActionImplementationInfo {
    readonly method?: ImplementationMethod;
    readonly script?: string;
}

// @public
export type RecommendedActionInitiatedBy = "User" | "System";

// @public
export interface RecommendedActionMetricInfo {
    readonly metricName?: string;
    readonly startTime?: Date;
    readonly timeGrain?: string;
    readonly unit?: string;
    readonly value?: number;
}

// @public
export interface RecommendedActionStateInfo {
    readonly actionInitiatedBy?: RecommendedActionInitiatedBy;
    currentValue: RecommendedActionCurrentState;
    readonly lastModified?: Date;
}

// @public
export interface RecommendedSensitivityLabels {
    update(resourceGroupName: string, serverName: string, databaseName: string, parameters: RecommendedSensitivityLabelUpdateList, options?: RecommendedSensitivityLabelsUpdateOptionalParams): Promise<void>;
}

// @public
export interface RecommendedSensitivityLabelsUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface RecommendedSensitivityLabelUpdate extends ProxyResource {
    column?: string;
    // (undocumented)
    op?: RecommendedSensitivityLabelUpdateKind;
    schema?: string;
    table?: string;
}

// @public
export type RecommendedSensitivityLabelUpdateKind = "enable" | "disable";

// @public
export interface RecommendedSensitivityLabelUpdateList {
    // (undocumented)
    operations?: RecommendedSensitivityLabelUpdate[];
}

// @public
export interface RecoverableDatabase extends ProxyResource {
    readonly edition?: string;
    readonly elasticPoolName?: string;
    keys?: {
        [propertyName: string]: DatabaseKey;
    };
    readonly lastAvailableBackupDate?: Date;
    readonly serviceLevelObjective?: string;
}

// @public
export interface RecoverableDatabaseListResult {
    readonly nextLink?: string;
    readonly value?: RecoverableDatabase[];
}

// @public
export interface RecoverableDatabases {
    get(resourceGroupName: string, serverName: string, databaseName: string, options?: RecoverableDatabasesGetOptionalParams): Promise<RecoverableDatabasesGetResponse>;
    listByServer(resourceGroupName: string, serverName: string, options?: RecoverableDatabasesListByServerOptionalParams): PagedAsyncIterableIterator<RecoverableDatabase>;
}

// @public
export interface RecoverableDatabasesGetOptionalParams extends coreClient.OperationOptions {
    expand?: string;
    filter?: string;
}

// @public
export type RecoverableDatabasesGetResponse = RecoverableDatabase;

// @public
export interface RecoverableDatabasesListByServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type RecoverableDatabasesListByServerNextResponse = RecoverableDatabaseListResult;

// @public
export interface RecoverableDatabasesListByServerOptionalParams extends coreClient.OperationOptions {
}

// @public
export type RecoverableDatabasesListByServerResponse = RecoverableDatabaseListResult;

// @public
export interface RecoverableManagedDatabase extends ProxyResource {
    readonly lastAvailableBackupDate?: string;
}

// @public
export interface RecoverableManagedDatabaseListResult {
    readonly nextLink?: string;
    readonly value?: RecoverableManagedDatabase[];
}

// @public
export interface RecoverableManagedDatabases {
    get(resourceGroupName: string, managedInstanceName: string, recoverableDatabaseName: string, options?: RecoverableManagedDatabasesGetOptionalParams): Promise<RecoverableManagedDatabasesGetResponse>;
    listByInstance(resourceGroupName: string, managedInstanceName: string, options?: RecoverableManagedDatabasesListByInstanceOptionalParams): PagedAsyncIterableIterator<RecoverableManagedDatabase>;
}

// @public
export interface RecoverableManagedDatabasesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type RecoverableManagedDatabasesGetResponse = RecoverableManagedDatabase;

// @public
export interface RecoverableManagedDatabasesListByInstanceNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type RecoverableManagedDatabasesListByInstanceNextResponse = RecoverableManagedDatabaseListResult;

// @public
export interface RecoverableManagedDatabasesListByInstanceOptionalParams extends coreClient.OperationOptions {
}

// @public
export type RecoverableManagedDatabasesListByInstanceResponse = RecoverableManagedDatabaseListResult;

// @public
export interface RefreshExternalGovernanceStatusOperationResult extends ProxyResource {
    readonly errorMessage?: string;
    readonly queuedTime?: string;
    readonly requestId?: string;
    readonly requestType?: string;
    readonly serverName?: string;
    readonly status?: string;
}

// @public
export interface Remediation {
    readonly automated?: boolean;
    readonly description?: string;
    readonly portalLink?: string;
    readonly scripts?: string[];
}

// @public
export interface ReplicationLink extends ProxyResource {
    readonly isTerminationAllowed?: boolean;
    readonly linkType?: ReplicationLinkType;
    readonly partnerDatabase?: string;
    readonly partnerLocation?: string;
    readonly partnerRole?: ReplicationRole;
    readonly partnerServer?: string;
    readonly percentComplete?: number;
    readonly replicationMode?: string;
    readonly replicationState?: ReplicationState;
    readonly role?: ReplicationRole;
    readonly startTime?: Date;
}

// @public
export interface ReplicationLinkListResult {
    readonly nextLink?: string;
    readonly value?: ReplicationLink[];
}

// @public
export interface ReplicationLinks {
    beginDelete(resourceGroupName: string, serverName: string, databaseName: string, linkId: string, options?: ReplicationLinksDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, serverName: string, databaseName: string, linkId: string, options?: ReplicationLinksDeleteOptionalParams): Promise<void>;
    beginFailover(resourceGroupName: string, serverName: string, databaseName: string, linkId: string, options?: ReplicationLinksFailoverOptionalParams): Promise<SimplePollerLike<OperationState<ReplicationLinksFailoverResponse>, ReplicationLinksFailoverResponse>>;
    beginFailoverAllowDataLoss(resourceGroupName: string, serverName: string, databaseName: string, linkId: string, options?: ReplicationLinksFailoverAllowDataLossOptionalParams): Promise<SimplePollerLike<OperationState<ReplicationLinksFailoverAllowDataLossResponse>, ReplicationLinksFailoverAllowDataLossResponse>>;
    beginFailoverAllowDataLossAndWait(resourceGroupName: string, serverName: string, databaseName: string, linkId: string, options?: ReplicationLinksFailoverAllowDataLossOptionalParams): Promise<ReplicationLinksFailoverAllowDataLossResponse>;
    beginFailoverAndWait(resourceGroupName: string, serverName: string, databaseName: string, linkId: string, options?: ReplicationLinksFailoverOptionalParams): Promise<ReplicationLinksFailoverResponse>;
    get(resourceGroupName: string, serverName: string, databaseName: string, linkId: string, options?: ReplicationLinksGetOptionalParams): Promise<ReplicationLinksGetResponse>;
    listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: ReplicationLinksListByDatabaseOptionalParams): PagedAsyncIterableIterator<ReplicationLink>;
    listByServer(resourceGroupName: string, serverName: string, options?: ReplicationLinksListByServerOptionalParams): PagedAsyncIterableIterator<ReplicationLink>;
}

// @public
export interface ReplicationLinksDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface ReplicationLinksFailoverAllowDataLossOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ReplicationLinksFailoverAllowDataLossResponse = ReplicationLink;

// @public
export interface ReplicationLinksFailoverOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ReplicationLinksFailoverResponse = ReplicationLink;

// @public
export interface ReplicationLinksGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ReplicationLinksGetResponse = ReplicationLink;

// @public
export interface ReplicationLinksListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ReplicationLinksListByDatabaseNextResponse = ReplicationLinkListResult;

// @public
export interface ReplicationLinksListByDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ReplicationLinksListByDatabaseResponse = ReplicationLinkListResult;

// @public
export interface ReplicationLinksListByServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ReplicationLinksListByServerNextResponse = ReplicationLinkListResult;

// @public
export interface ReplicationLinksListByServerOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ReplicationLinksListByServerResponse = ReplicationLinkListResult;

// @public
export type ReplicationLinkType = string;

// @public
export type ReplicationMode = string;

// @public
export type ReplicationRole = "Primary" | "Secondary" | "NonReadableSecondary" | "Source" | "Copy";

// @public
export type ReplicationState = string;

// @public
export type ReplicaType = string;

// @public
export interface Resource {
    readonly id?: string;
    readonly name?: string;
    readonly type?: string;
}

// @public
export interface ResourceIdentity {
    readonly principalId?: string;
    readonly tenantId?: string;
    type?: IdentityType;
    userAssignedIdentities?: {
        [propertyName: string]: UserIdentity;
    };
}

// @public
export interface ResourceMoveDefinition {
    id: string;
}

// @public
export interface ResourceWithWritableName {
    readonly id?: string;
    name?: string;
    readonly type?: string;
}

// @public
export interface RestorableDroppedDatabase extends ProxyResource {
    readonly backupStorageRedundancy?: BackupStorageRedundancy;
    readonly creationDate?: Date;
    readonly databaseName?: string;
    readonly deletionDate?: Date;
    readonly earliestRestoreDate?: Date;
    keys?: {
        [propertyName: string]: DatabaseKey;
    };
    location?: string;
    readonly maxSizeBytes?: number;
    sku?: Sku;
    tags?: {
        [propertyName: string]: string;
    };
}

// @public
export interface RestorableDroppedDatabaseListResult {
    readonly nextLink?: string;
    readonly value?: RestorableDroppedDatabase[];
}

// @public
export interface RestorableDroppedDatabases {
    get(resourceGroupName: string, serverName: string, restorableDroppedDatabaseId: string, options?: RestorableDroppedDatabasesGetOptionalParams): Promise<RestorableDroppedDatabasesGetResponse>;
    listByServer(resourceGroupName: string, serverName: string, options?: RestorableDroppedDatabasesListByServerOptionalParams): PagedAsyncIterableIterator<RestorableDroppedDatabase>;
}

// @public
export interface RestorableDroppedDatabasesGetOptionalParams extends coreClient.OperationOptions {
    expand?: string;
    filter?: string;
}

// @public
export type RestorableDroppedDatabasesGetResponse = RestorableDroppedDatabase;

// @public
export interface RestorableDroppedDatabasesListByServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type RestorableDroppedDatabasesListByServerNextResponse = RestorableDroppedDatabaseListResult;

// @public
export interface RestorableDroppedDatabasesListByServerOptionalParams extends coreClient.OperationOptions {
}

// @public
export type RestorableDroppedDatabasesListByServerResponse = RestorableDroppedDatabaseListResult;

// @public
export interface RestorableDroppedManagedDatabase extends TrackedResource {
    readonly creationDate?: Date;
    readonly databaseName?: string;
    readonly deletionDate?: Date;
    readonly earliestRestoreDate?: Date;
}

// @public
export interface RestorableDroppedManagedDatabaseListResult {
    readonly nextLink?: string;
    readonly value?: RestorableDroppedManagedDatabase[];
}

// @public
export interface RestorableDroppedManagedDatabases {
    get(resourceGroupName: string, managedInstanceName: string, restorableDroppedDatabaseId: string, options?: RestorableDroppedManagedDatabasesGetOptionalParams): Promise<RestorableDroppedManagedDatabasesGetResponse>;
    listByInstance(resourceGroupName: string, managedInstanceName: string, options?: RestorableDroppedManagedDatabasesListByInstanceOptionalParams): PagedAsyncIterableIterator<RestorableDroppedManagedDatabase>;
}

// @public
export interface RestorableDroppedManagedDatabasesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type RestorableDroppedManagedDatabasesGetResponse = RestorableDroppedManagedDatabase;

// @public
export interface RestorableDroppedManagedDatabasesListByInstanceNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type RestorableDroppedManagedDatabasesListByInstanceNextResponse = RestorableDroppedManagedDatabaseListResult;

// @public
export interface RestorableDroppedManagedDatabasesListByInstanceOptionalParams extends coreClient.OperationOptions {
}

// @public
export type RestorableDroppedManagedDatabasesListByInstanceResponse = RestorableDroppedManagedDatabaseListResult;

// @public
export type RestoreDetailsName = string;

// @public
export interface RestorePoint extends ProxyResource {
    readonly earliestRestoreDate?: Date;
    readonly location?: string;
    readonly restorePointCreationDate?: Date;
    readonly restorePointLabel?: string;
    readonly restorePointType?: RestorePointType;
}

// @public
export interface RestorePointListResult {
    readonly nextLink?: string;
    readonly value?: RestorePoint[];
}

// @public
export interface RestorePoints {
    beginCreate(resourceGroupName: string, serverName: string, databaseName: string, parameters: CreateDatabaseRestorePointDefinition, options?: RestorePointsCreateOptionalParams): Promise<SimplePollerLike<OperationState<RestorePointsCreateResponse>, RestorePointsCreateResponse>>;
    beginCreateAndWait(resourceGroupName: string, serverName: string, databaseName: string, parameters: CreateDatabaseRestorePointDefinition, options?: RestorePointsCreateOptionalParams): Promise<RestorePointsCreateResponse>;
    delete(resourceGroupName: string, serverName: string, databaseName: string, restorePointName: string, options?: RestorePointsDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, serverName: string, databaseName: string, restorePointName: string, options?: RestorePointsGetOptionalParams): Promise<RestorePointsGetResponse>;
    listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: RestorePointsListByDatabaseOptionalParams): PagedAsyncIterableIterator<RestorePoint>;
}

// @public
export interface RestorePointsCreateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type RestorePointsCreateResponse = RestorePoint;

// @public
export interface RestorePointsDeleteOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface RestorePointsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type RestorePointsGetResponse = RestorePoint;

// @public
export interface RestorePointsListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type RestorePointsListByDatabaseNextResponse = RestorePointListResult;

// @public
export interface RestorePointsListByDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type RestorePointsListByDatabaseResponse = RestorePointListResult;

// @public
export type RestorePointType = "CONTINUOUS" | "DISCRETE";

// @public
export type RuleSeverity = string;

// @public
export type RuleStatus = string;

// @public
export type RuleType = string;

// @public
export type SampleName = string;

// @public
export interface ScheduleItem {
    startDay: DayOfWeek;
    startTime: string;
    stopDay: DayOfWeek;
    stopTime: string;
}

// @public
export type SecondaryInstanceType = string;

// @public
export type SecondaryType = string;

// @public
export type SecurityAlertPolicyName = string;

// @public
export type SecurityAlertPolicyState = "New" | "Enabled" | "Disabled";

// @public
export type SecurityAlertsPolicyState = "Enabled" | "Disabled";

// @public
export interface SecurityEvent extends ProxyResource {
    readonly applicationName?: string;
    readonly clientIp?: string;
    readonly database?: string;
    readonly eventTime?: Date;
    readonly principalName?: string;
    readonly securityEventSqlInjectionAdditionalProperties?: SecurityEventSqlInjectionAdditionalProperties;
    readonly securityEventType?: SecurityEventType;
    readonly server?: string;
    readonly subscription?: string;
}

// @public
export interface SecurityEventCollection {
    readonly nextLink?: string;
    readonly value?: SecurityEvent[];
}

// @public
export interface SecurityEventsFilterParameters {
    eventTime?: Date;
    showServerRecords?: boolean;
}

// @public
export interface SecurityEventSqlInjectionAdditionalProperties {
    readonly errorCode?: number;
    readonly errorMessage?: string;
    readonly errorSeverity?: number;
    readonly statement?: string;
    readonly statementHighlightLength?: number;
    readonly statementHighlightOffset?: number;
    readonly threatId?: string;
}

// @public
export type SecurityEventType = "Undefined" | "SqlInjectionVulnerability" | "SqlInjectionExploit";

// @public
export interface SensitivityLabel extends ProxyResource {
    readonly columnName?: string;
    informationType?: string;
    informationTypeId?: string;
    readonly isDisabled?: boolean;
    labelId?: string;
    labelName?: string;
    readonly managedBy?: string;
    // (undocumented)
    rank?: SensitivityLabelRank;
    readonly schemaName?: string;
    readonly tableName?: string;
}

// @public
export interface SensitivityLabelListResult {
    readonly nextLink?: string;
    readonly value?: SensitivityLabel[];
}

// @public
export type SensitivityLabelRank = "None" | "Low" | "Medium" | "High" | "Critical";

// @public
export interface SensitivityLabels {
    createOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, parameters: SensitivityLabel, options?: SensitivityLabelsCreateOrUpdateOptionalParams): Promise<SensitivityLabelsCreateOrUpdateResponse>;
    delete(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options?: SensitivityLabelsDeleteOptionalParams): Promise<void>;
    disableRecommendation(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options?: SensitivityLabelsDisableRecommendationOptionalParams): Promise<void>;
    enableRecommendation(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, options?: SensitivityLabelsEnableRecommendationOptionalParams): Promise<void>;
    get(resourceGroupName: string, serverName: string, databaseName: string, schemaName: string, tableName: string, columnName: string, sensitivityLabelSource: SensitivityLabelSource, options?: SensitivityLabelsGetOptionalParams): Promise<SensitivityLabelsGetResponse>;
    listCurrentByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: SensitivityLabelsListCurrentByDatabaseOptionalParams): PagedAsyncIterableIterator<SensitivityLabel>;
    listRecommendedByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: SensitivityLabelsListRecommendedByDatabaseOptionalParams): PagedAsyncIterableIterator<SensitivityLabel>;
    update(resourceGroupName: string, serverName: string, databaseName: string, parameters: SensitivityLabelUpdateList, options?: SensitivityLabelsUpdateOptionalParams): Promise<void>;
}

// @public
export interface SensitivityLabelsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SensitivityLabelsCreateOrUpdateResponse = SensitivityLabel;

// @public
export interface SensitivityLabelsDeleteOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface SensitivityLabelsDisableRecommendationOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface SensitivityLabelsEnableRecommendationOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface SensitivityLabelsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SensitivityLabelsGetResponse = SensitivityLabel;

// @public
export interface SensitivityLabelsListCurrentByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SensitivityLabelsListCurrentByDatabaseNextResponse = SensitivityLabelListResult;

// @public
export interface SensitivityLabelsListCurrentByDatabaseOptionalParams extends coreClient.OperationOptions {
    // (undocumented)
    count?: boolean;
    filter?: string;
    // (undocumented)
    skipToken?: string;
}

// @public
export type SensitivityLabelsListCurrentByDatabaseResponse = SensitivityLabelListResult;

// @public
export interface SensitivityLabelsListRecommendedByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SensitivityLabelsListRecommendedByDatabaseNextResponse = SensitivityLabelListResult;

// @public
export interface SensitivityLabelsListRecommendedByDatabaseOptionalParams extends coreClient.OperationOptions {
    filter?: string;
    includeDisabledRecommendations?: boolean;
    // (undocumented)
    skipToken?: string;
}

// @public
export type SensitivityLabelsListRecommendedByDatabaseResponse = SensitivityLabelListResult;

// @public
export type SensitivityLabelSource = "current" | "recommended";

// @public
export interface SensitivityLabelsUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface SensitivityLabelUpdate extends ProxyResource {
    column?: string;
    // (undocumented)
    op?: SensitivityLabelUpdateKind;
    schema?: string;
    sensitivityLabel?: SensitivityLabel;
    table?: string;
}

// @public
export type SensitivityLabelUpdateKind = "set" | "remove";

// @public
export interface SensitivityLabelUpdateList {
    // (undocumented)
    operations?: SensitivityLabelUpdate[];
}

// @public
export interface Server extends TrackedResource {
    administratorLogin?: string;
    administratorLoginPassword?: string;
    administrators?: ServerExternalAdministrator;
    readonly externalGovernanceStatus?: ExternalGovernanceStatus;
    federatedClientId?: string;
    readonly fullyQualifiedDomainName?: string;
    identity?: ResourceIdentity;
    keyId?: string;
    readonly kind?: string;
    minimalTlsVersion?: string;
    primaryUserAssignedIdentityId?: string;
    readonly privateEndpointConnections?: ServerPrivateEndpointConnection[];
    publicNetworkAccess?: ServerPublicNetworkAccessFlag;
    restrictOutboundNetworkAccess?: ServerNetworkAccessFlag;
    readonly state?: string;
    version?: string;
    readonly workspaceFeature?: ServerWorkspaceFeature;
}

// @public
export interface ServerAdvancedThreatProtection extends ProxyResource {
    readonly creationTime?: Date;
    state?: AdvancedThreatProtectionState;
    readonly systemData?: SystemData;
}

// @public
export interface ServerAdvancedThreatProtectionSettings {
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, advancedThreatProtectionName: AdvancedThreatProtectionName, parameters: ServerAdvancedThreatProtection, options?: ServerAdvancedThreatProtectionSettingsCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ServerAdvancedThreatProtectionSettingsCreateOrUpdateResponse>, ServerAdvancedThreatProtectionSettingsCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, advancedThreatProtectionName: AdvancedThreatProtectionName, parameters: ServerAdvancedThreatProtection, options?: ServerAdvancedThreatProtectionSettingsCreateOrUpdateOptionalParams): Promise<ServerAdvancedThreatProtectionSettingsCreateOrUpdateResponse>;
    get(resourceGroupName: string, serverName: string, advancedThreatProtectionName: AdvancedThreatProtectionName, options?: ServerAdvancedThreatProtectionSettingsGetOptionalParams): Promise<ServerAdvancedThreatProtectionSettingsGetResponse>;
    listByServer(resourceGroupName: string, serverName: string, options?: ServerAdvancedThreatProtectionSettingsListByServerOptionalParams): PagedAsyncIterableIterator<ServerAdvancedThreatProtection>;
}

// @public
export interface ServerAdvancedThreatProtectionSettingsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ServerAdvancedThreatProtectionSettingsCreateOrUpdateResponse = ServerAdvancedThreatProtection;

// @public
export interface ServerAdvancedThreatProtectionSettingsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerAdvancedThreatProtectionSettingsGetResponse = ServerAdvancedThreatProtection;

// @public
export interface ServerAdvancedThreatProtectionSettingsListByServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerAdvancedThreatProtectionSettingsListByServerNextResponse = LogicalServerAdvancedThreatProtectionListResult;

// @public
export interface ServerAdvancedThreatProtectionSettingsListByServerOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerAdvancedThreatProtectionSettingsListByServerResponse = LogicalServerAdvancedThreatProtectionListResult;

// @public
export interface ServerAdvisors {
    get(resourceGroupName: string, serverName: string, advisorName: string, options?: ServerAdvisorsGetOptionalParams): Promise<ServerAdvisorsGetResponse>;
    listByServer(resourceGroupName: string, serverName: string, options?: ServerAdvisorsListByServerOptionalParams): Promise<ServerAdvisorsListByServerResponse>;
    update(resourceGroupName: string, serverName: string, advisorName: string, parameters: Advisor, options?: ServerAdvisorsUpdateOptionalParams): Promise<ServerAdvisorsUpdateResponse>;
}

// @public
export interface ServerAdvisorsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerAdvisorsGetResponse = Advisor;

// @public
export interface ServerAdvisorsListByServerOptionalParams extends coreClient.OperationOptions {
    expand?: string;
}

// @public
export type ServerAdvisorsListByServerResponse = Advisor[];

// @public
export interface ServerAdvisorsUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerAdvisorsUpdateResponse = Advisor;

// @public
export interface ServerAutomaticTuning extends ProxyResource {
    readonly actualState?: AutomaticTuningServerMode;
    desiredState?: AutomaticTuningServerMode;
    options?: {
        [propertyName: string]: AutomaticTuningServerOptions;
    };
}

// @public
export interface ServerAutomaticTuningGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerAutomaticTuningGetResponse = ServerAutomaticTuning;

// @public
export interface ServerAutomaticTuningOperations {
    get(resourceGroupName: string, serverName: string, options?: ServerAutomaticTuningGetOptionalParams): Promise<ServerAutomaticTuningGetResponse>;
    update(resourceGroupName: string, serverName: string, parameters: ServerAutomaticTuning, options?: ServerAutomaticTuningUpdateOptionalParams): Promise<ServerAutomaticTuningUpdateResponse>;
}

// @public
export interface ServerAutomaticTuningUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerAutomaticTuningUpdateResponse = ServerAutomaticTuning;

// @public
export interface ServerAzureADAdministrator extends ProxyResource {
    administratorType?: AdministratorType;
    readonly azureADOnlyAuthentication?: boolean;
    login?: string;
    sid?: string;
    tenantId?: string;
}

// @public
export interface ServerAzureADAdministrators {
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, administratorName: AdministratorName, parameters: ServerAzureADAdministrator, options?: ServerAzureADAdministratorsCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ServerAzureADAdministratorsCreateOrUpdateResponse>, ServerAzureADAdministratorsCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, administratorName: AdministratorName, parameters: ServerAzureADAdministrator, options?: ServerAzureADAdministratorsCreateOrUpdateOptionalParams): Promise<ServerAzureADAdministratorsCreateOrUpdateResponse>;
    beginDelete(resourceGroupName: string, serverName: string, administratorName: AdministratorName, options?: ServerAzureADAdministratorsDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, serverName: string, administratorName: AdministratorName, options?: ServerAzureADAdministratorsDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, serverName: string, administratorName: AdministratorName, options?: ServerAzureADAdministratorsGetOptionalParams): Promise<ServerAzureADAdministratorsGetResponse>;
    listByServer(resourceGroupName: string, serverName: string, options?: ServerAzureADAdministratorsListByServerOptionalParams): PagedAsyncIterableIterator<ServerAzureADAdministrator>;
}

// @public
export interface ServerAzureADAdministratorsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ServerAzureADAdministratorsCreateOrUpdateResponse = ServerAzureADAdministrator;

// @public
export interface ServerAzureADAdministratorsDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface ServerAzureADAdministratorsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerAzureADAdministratorsGetResponse = ServerAzureADAdministrator;

// @public
export interface ServerAzureADAdministratorsListByServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerAzureADAdministratorsListByServerNextResponse = AdministratorListResult;

// @public
export interface ServerAzureADAdministratorsListByServerOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerAzureADAdministratorsListByServerResponse = AdministratorListResult;

// @public
export interface ServerAzureADOnlyAuthentication extends ProxyResource {
    azureADOnlyAuthentication?: boolean;
}

// @public
export interface ServerAzureADOnlyAuthentications {
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, authenticationName: AuthenticationName, parameters: ServerAzureADOnlyAuthentication, options?: ServerAzureADOnlyAuthenticationsCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ServerAzureADOnlyAuthenticationsCreateOrUpdateResponse>, ServerAzureADOnlyAuthenticationsCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, authenticationName: AuthenticationName, parameters: ServerAzureADOnlyAuthentication, options?: ServerAzureADOnlyAuthenticationsCreateOrUpdateOptionalParams): Promise<ServerAzureADOnlyAuthenticationsCreateOrUpdateResponse>;
    beginDelete(resourceGroupName: string, serverName: string, authenticationName: AuthenticationName, options?: ServerAzureADOnlyAuthenticationsDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, serverName: string, authenticationName: AuthenticationName, options?: ServerAzureADOnlyAuthenticationsDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, serverName: string, authenticationName: AuthenticationName, options?: ServerAzureADOnlyAuthenticationsGetOptionalParams): Promise<ServerAzureADOnlyAuthenticationsGetResponse>;
    listByServer(resourceGroupName: string, serverName: string, options?: ServerAzureADOnlyAuthenticationsListByServerOptionalParams): PagedAsyncIterableIterator<ServerAzureADOnlyAuthentication>;
}

// @public
export interface ServerAzureADOnlyAuthenticationsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ServerAzureADOnlyAuthenticationsCreateOrUpdateResponse = ServerAzureADOnlyAuthentication;

// @public
export interface ServerAzureADOnlyAuthenticationsDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface ServerAzureADOnlyAuthenticationsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerAzureADOnlyAuthenticationsGetResponse = ServerAzureADOnlyAuthentication;

// @public
export interface ServerAzureADOnlyAuthenticationsListByServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerAzureADOnlyAuthenticationsListByServerNextResponse = AzureADOnlyAuthListResult;

// @public
export interface ServerAzureADOnlyAuthenticationsListByServerOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerAzureADOnlyAuthenticationsListByServerResponse = AzureADOnlyAuthListResult;

// @public
export interface ServerBlobAuditingPolicies {
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, parameters: ServerBlobAuditingPolicy, options?: ServerBlobAuditingPoliciesCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ServerBlobAuditingPoliciesCreateOrUpdateResponse>, ServerBlobAuditingPoliciesCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, parameters: ServerBlobAuditingPolicy, options?: ServerBlobAuditingPoliciesCreateOrUpdateOptionalParams): Promise<ServerBlobAuditingPoliciesCreateOrUpdateResponse>;
    get(resourceGroupName: string, serverName: string, options?: ServerBlobAuditingPoliciesGetOptionalParams): Promise<ServerBlobAuditingPoliciesGetResponse>;
    listByServer(resourceGroupName: string, serverName: string, options?: ServerBlobAuditingPoliciesListByServerOptionalParams): PagedAsyncIterableIterator<ServerBlobAuditingPolicy>;
}

// @public
export interface ServerBlobAuditingPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ServerBlobAuditingPoliciesCreateOrUpdateResponse = ServerBlobAuditingPolicy;

// @public
export interface ServerBlobAuditingPoliciesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerBlobAuditingPoliciesGetResponse = ServerBlobAuditingPolicy;

// @public
export interface ServerBlobAuditingPoliciesListByServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerBlobAuditingPoliciesListByServerNextResponse = ServerBlobAuditingPolicyListResult;

// @public
export interface ServerBlobAuditingPoliciesListByServerOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerBlobAuditingPoliciesListByServerResponse = ServerBlobAuditingPolicyListResult;

// @public
export interface ServerBlobAuditingPolicy extends ProxyResource {
    auditActionsAndGroups?: string[];
    isAzureMonitorTargetEnabled?: boolean;
    isDevopsAuditEnabled?: boolean;
    isManagedIdentityInUse?: boolean;
    isStorageSecondaryKeyInUse?: boolean;
    queueDelayMs?: number;
    retentionDays?: number;
    state?: BlobAuditingPolicyState;
    storageAccountAccessKey?: string;
    storageAccountSubscriptionId?: string;
    storageEndpoint?: string;
}

// @public
export interface ServerBlobAuditingPolicyListResult {
    readonly nextLink?: string;
    readonly value?: ServerBlobAuditingPolicy[];
}

// @public
export interface ServerCommunicationLink extends ProxyResource {
    readonly kind?: string;
    readonly location?: string;
    partnerServer?: string;
    readonly state?: string;
}

// @public
export interface ServerCommunicationLinkListResult {
    value?: ServerCommunicationLink[];
}

// @public
export interface ServerCommunicationLinks {
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, communicationLinkName: string, parameters: ServerCommunicationLink, options?: ServerCommunicationLinksCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ServerCommunicationLinksCreateOrUpdateResponse>, ServerCommunicationLinksCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, communicationLinkName: string, parameters: ServerCommunicationLink, options?: ServerCommunicationLinksCreateOrUpdateOptionalParams): Promise<ServerCommunicationLinksCreateOrUpdateResponse>;
    delete(resourceGroupName: string, serverName: string, communicationLinkName: string, options?: ServerCommunicationLinksDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, serverName: string, communicationLinkName: string, options?: ServerCommunicationLinksGetOptionalParams): Promise<ServerCommunicationLinksGetResponse>;
    listByServer(resourceGroupName: string, serverName: string, options?: ServerCommunicationLinksListByServerOptionalParams): PagedAsyncIterableIterator<ServerCommunicationLink>;
}

// @public
export interface ServerCommunicationLinksCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ServerCommunicationLinksCreateOrUpdateResponse = ServerCommunicationLink;

// @public
export interface ServerCommunicationLinksDeleteOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface ServerCommunicationLinksGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerCommunicationLinksGetResponse = ServerCommunicationLink;

// @public
export interface ServerCommunicationLinksListByServerOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerCommunicationLinksListByServerResponse = ServerCommunicationLinkListResult;

// @public
export interface ServerConfigurationOption extends ProxyResource {
    readonly provisioningState?: ProvisioningState;
    serverConfigurationOptionValue?: number;
}

// @public
export interface ServerConfigurationOptionListResult {
    readonly nextLink?: string;
    readonly value?: ServerConfigurationOption[];
}

// @public
export type ServerConfigurationOptionName = string;

// @public
export interface ServerConfigurationOptions {
    beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, serverConfigurationOptionName: ServerConfigurationOptionName, parameters: ServerConfigurationOption, options?: ServerConfigurationOptionsCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ServerConfigurationOptionsCreateOrUpdateResponse>, ServerConfigurationOptionsCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, managedInstanceName: string, serverConfigurationOptionName: ServerConfigurationOptionName, parameters: ServerConfigurationOption, options?: ServerConfigurationOptionsCreateOrUpdateOptionalParams): Promise<ServerConfigurationOptionsCreateOrUpdateResponse>;
    get(resourceGroupName: string, managedInstanceName: string, serverConfigurationOptionName: ServerConfigurationOptionName, options?: ServerConfigurationOptionsGetOptionalParams): Promise<ServerConfigurationOptionsGetResponse>;
    listByManagedInstance(resourceGroupName: string, managedInstanceName: string, options?: ServerConfigurationOptionsListByManagedInstanceOptionalParams): PagedAsyncIterableIterator<ServerConfigurationOption>;
}

// @public
export interface ServerConfigurationOptionsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ServerConfigurationOptionsCreateOrUpdateResponse = ServerConfigurationOption;

// @public
export interface ServerConfigurationOptionsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerConfigurationOptionsGetResponse = ServerConfigurationOption;

// @public
export interface ServerConfigurationOptionsListByManagedInstanceNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerConfigurationOptionsListByManagedInstanceNextResponse = ServerConfigurationOptionListResult;

// @public
export interface ServerConfigurationOptionsListByManagedInstanceOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerConfigurationOptionsListByManagedInstanceResponse = ServerConfigurationOptionListResult;

// @public
export interface ServerConnectionPolicies {
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, connectionPolicyName: ConnectionPolicyName, parameters: ServerConnectionPolicy, options?: ServerConnectionPoliciesCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ServerConnectionPoliciesCreateOrUpdateResponse>, ServerConnectionPoliciesCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, connectionPolicyName: ConnectionPolicyName, parameters: ServerConnectionPolicy, options?: ServerConnectionPoliciesCreateOrUpdateOptionalParams): Promise<ServerConnectionPoliciesCreateOrUpdateResponse>;
    get(resourceGroupName: string, serverName: string, connectionPolicyName: ConnectionPolicyName, options?: ServerConnectionPoliciesGetOptionalParams): Promise<ServerConnectionPoliciesGetResponse>;
    listByServer(resourceGroupName: string, serverName: string, options?: ServerConnectionPoliciesListByServerOptionalParams): PagedAsyncIterableIterator<ServerConnectionPolicy>;
}

// @public
export interface ServerConnectionPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ServerConnectionPoliciesCreateOrUpdateResponse = ServerConnectionPolicy;

// @public
export interface ServerConnectionPoliciesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerConnectionPoliciesGetResponse = ServerConnectionPolicy;

// @public
export interface ServerConnectionPoliciesListByServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerConnectionPoliciesListByServerNextResponse = ServerConnectionPolicyListResult;

// @public
export interface ServerConnectionPoliciesListByServerOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerConnectionPoliciesListByServerResponse = ServerConnectionPolicyListResult;

// @public
export interface ServerConnectionPolicy extends ProxyResource {
    connectionType?: ServerConnectionType;
    readonly kind?: string;
    readonly location?: string;
}

// @public
export interface ServerConnectionPolicyListResult {
    readonly nextLink?: string;
    readonly value?: ServerConnectionPolicy[];
}

// @public
export type ServerConnectionType = string;

// @public
export interface ServerDevOpsAuditingSettings extends ProxyResource {
    isAzureMonitorTargetEnabled?: boolean;
    isManagedIdentityInUse?: boolean;
    state?: BlobAuditingPolicyState;
    storageAccountAccessKey?: string;
    storageAccountSubscriptionId?: string;
    storageEndpoint?: string;
    readonly systemData?: SystemData;
}

// @public
export interface ServerDevOpsAuditSettings {
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, devOpsAuditingSettingsName: DevOpsAuditingSettingsName, parameters: ServerDevOpsAuditingSettings, options?: ServerDevOpsAuditSettingsCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ServerDevOpsAuditSettingsCreateOrUpdateResponse>, ServerDevOpsAuditSettingsCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, devOpsAuditingSettingsName: DevOpsAuditingSettingsName, parameters: ServerDevOpsAuditingSettings, options?: ServerDevOpsAuditSettingsCreateOrUpdateOptionalParams): Promise<ServerDevOpsAuditSettingsCreateOrUpdateResponse>;
    get(resourceGroupName: string, serverName: string, devOpsAuditingSettingsName: DevOpsAuditingSettingsName, options?: ServerDevOpsAuditSettingsGetOptionalParams): Promise<ServerDevOpsAuditSettingsGetResponse>;
    listByServer(resourceGroupName: string, serverName: string, options?: ServerDevOpsAuditSettingsListByServerOptionalParams): PagedAsyncIterableIterator<ServerDevOpsAuditingSettings>;
}

// @public
export interface ServerDevOpsAuditSettingsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ServerDevOpsAuditSettingsCreateOrUpdateResponse = ServerDevOpsAuditingSettings;

// @public
export interface ServerDevOpsAuditSettingsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerDevOpsAuditSettingsGetResponse = ServerDevOpsAuditingSettings;

// @public
export interface ServerDevOpsAuditSettingsListByServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerDevOpsAuditSettingsListByServerNextResponse = ServerDevOpsAuditSettingsListResult;

// @public
export interface ServerDevOpsAuditSettingsListByServerOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerDevOpsAuditSettingsListByServerResponse = ServerDevOpsAuditSettingsListResult;

// @public
export interface ServerDevOpsAuditSettingsListResult {
    readonly nextLink?: string;
    readonly value?: ServerDevOpsAuditingSettings[];
}

// @public
export interface ServerDnsAlias extends ProxyResource {
    readonly azureDnsRecord?: string;
}

// @public
export interface ServerDnsAliasAcquisition {
    oldServerDnsAliasId: string;
}

// @public
export interface ServerDnsAliases {
    beginAcquire(resourceGroupName: string, serverName: string, dnsAliasName: string, parameters: ServerDnsAliasAcquisition, options?: ServerDnsAliasesAcquireOptionalParams): Promise<SimplePollerLike<OperationState<ServerDnsAliasesAcquireResponse>, ServerDnsAliasesAcquireResponse>>;
    beginAcquireAndWait(resourceGroupName: string, serverName: string, dnsAliasName: string, parameters: ServerDnsAliasAcquisition, options?: ServerDnsAliasesAcquireOptionalParams): Promise<ServerDnsAliasesAcquireResponse>;
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, dnsAliasName: string, options?: ServerDnsAliasesCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ServerDnsAliasesCreateOrUpdateResponse>, ServerDnsAliasesCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, dnsAliasName: string, options?: ServerDnsAliasesCreateOrUpdateOptionalParams): Promise<ServerDnsAliasesCreateOrUpdateResponse>;
    beginDelete(resourceGroupName: string, serverName: string, dnsAliasName: string, options?: ServerDnsAliasesDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, serverName: string, dnsAliasName: string, options?: ServerDnsAliasesDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, serverName: string, dnsAliasName: string, options?: ServerDnsAliasesGetOptionalParams): Promise<ServerDnsAliasesGetResponse>;
    listByServer(resourceGroupName: string, serverName: string, options?: ServerDnsAliasesListByServerOptionalParams): PagedAsyncIterableIterator<ServerDnsAlias>;
}

// @public
export interface ServerDnsAliasesAcquireOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ServerDnsAliasesAcquireResponse = ServerDnsAlias;

// @public
export interface ServerDnsAliasesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ServerDnsAliasesCreateOrUpdateResponse = ServerDnsAlias;

// @public
export interface ServerDnsAliasesDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface ServerDnsAliasesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerDnsAliasesGetResponse = ServerDnsAlias;

// @public
export interface ServerDnsAliasesListByServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerDnsAliasesListByServerNextResponse = ServerDnsAliasListResult;

// @public
export interface ServerDnsAliasesListByServerOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerDnsAliasesListByServerResponse = ServerDnsAliasListResult;

// @public
export interface ServerDnsAliasListResult {
    readonly nextLink?: string;
    readonly value?: ServerDnsAlias[];
}

// @public
export interface ServerExternalAdministrator {
    administratorType?: AdministratorType;
    azureADOnlyAuthentication?: boolean;
    login?: string;
    principalType?: PrincipalType;
    sid?: string;
    tenantId?: string;
}

// @public
export interface ServerInfo {
    serverId: string;
}

// @public
export interface ServerKey extends ProxyResource {
    readonly autoRotationEnabled?: boolean;
    readonly creationDate?: Date;
    readonly kind?: string;
    readonly location?: string;
    serverKeyType?: ServerKeyType;
    readonly subregion?: string;
    readonly thumbprint?: string;
    uri?: string;
}

// @public
export interface ServerKeyListResult {
    readonly nextLink?: string;
    readonly value?: ServerKey[];
}

// @public
export interface ServerKeys {
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, keyName: string, parameters: ServerKey, options?: ServerKeysCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ServerKeysCreateOrUpdateResponse>, ServerKeysCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, keyName: string, parameters: ServerKey, options?: ServerKeysCreateOrUpdateOptionalParams): Promise<ServerKeysCreateOrUpdateResponse>;
    beginDelete(resourceGroupName: string, serverName: string, keyName: string, options?: ServerKeysDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, serverName: string, keyName: string, options?: ServerKeysDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, serverName: string, keyName: string, options?: ServerKeysGetOptionalParams): Promise<ServerKeysGetResponse>;
    listByServer(resourceGroupName: string, serverName: string, options?: ServerKeysListByServerOptionalParams): PagedAsyncIterableIterator<ServerKey>;
}

// @public
export interface ServerKeysCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ServerKeysCreateOrUpdateResponse = ServerKey;

// @public
export interface ServerKeysDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface ServerKeysGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerKeysGetResponse = ServerKey;

// @public
export interface ServerKeysListByServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerKeysListByServerNextResponse = ServerKeyListResult;

// @public
export interface ServerKeysListByServerOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerKeysListByServerResponse = ServerKeyListResult;

// @public
export type ServerKeyType = string;

// @public
export interface ServerListResult {
    readonly nextLink?: string;
    readonly value?: Server[];
}

// @public
export type ServerNetworkAccessFlag = string;

// @public
export interface ServerOperation extends ProxyResource {
    readonly description?: string;
    readonly errorCode?: number;
    readonly errorDescription?: string;
    readonly errorSeverity?: number;
    readonly estimatedCompletionTime?: Date;
    readonly isCancellable?: boolean;
    readonly isUserError?: boolean;
    readonly operation?: string;
    readonly operationFriendlyName?: string;
    readonly percentComplete?: number;
    readonly serverName?: string;
    readonly startTime?: Date;
    readonly state?: ManagementOperationState;
}

// @public
export interface ServerOperationListResult {
    readonly nextLink?: string;
    readonly value?: ServerOperation[];
}

// @public
export interface ServerOperations {
    listByServer(resourceGroupName: string, serverName: string, options?: ServerOperationsListByServerOptionalParams): PagedAsyncIterableIterator<ServerOperation>;
}

// @public
export interface ServerOperationsListByServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerOperationsListByServerNextResponse = ServerOperationListResult;

// @public
export interface ServerOperationsListByServerOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerOperationsListByServerResponse = ServerOperationListResult;

// @public
export interface ServerPrivateEndpointConnection {
    readonly id?: string;
    readonly properties?: PrivateEndpointConnectionProperties;
}

// @public
export type ServerPublicNetworkAccessFlag = string;

// @public
export interface Servers {
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, parameters: Server, options?: ServersCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ServersCreateOrUpdateResponse>, ServersCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, parameters: Server, options?: ServersCreateOrUpdateOptionalParams): Promise<ServersCreateOrUpdateResponse>;
    beginDelete(resourceGroupName: string, serverName: string, options?: ServersDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, serverName: string, options?: ServersDeleteOptionalParams): Promise<void>;
    beginImportDatabase(resourceGroupName: string, serverName: string, parameters: ImportNewDatabaseDefinition, options?: ServersImportDatabaseOptionalParams): Promise<SimplePollerLike<OperationState<ServersImportDatabaseResponse>, ServersImportDatabaseResponse>>;
    beginImportDatabaseAndWait(resourceGroupName: string, serverName: string, parameters: ImportNewDatabaseDefinition, options?: ServersImportDatabaseOptionalParams): Promise<ServersImportDatabaseResponse>;
    beginRefreshStatus(resourceGroupName: string, serverName: string, options?: ServersRefreshStatusOptionalParams): Promise<SimplePollerLike<OperationState<ServersRefreshStatusResponse>, ServersRefreshStatusResponse>>;
    beginRefreshStatusAndWait(resourceGroupName: string, serverName: string, options?: ServersRefreshStatusOptionalParams): Promise<ServersRefreshStatusResponse>;
    beginUpdate(resourceGroupName: string, serverName: string, parameters: ServerUpdate, options?: ServersUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ServersUpdateResponse>, ServersUpdateResponse>>;
    beginUpdateAndWait(resourceGroupName: string, serverName: string, parameters: ServerUpdate, options?: ServersUpdateOptionalParams): Promise<ServersUpdateResponse>;
    checkNameAvailability(parameters: CheckNameAvailabilityRequest, options?: ServersCheckNameAvailabilityOptionalParams): Promise<ServersCheckNameAvailabilityResponse>;
    get(resourceGroupName: string, serverName: string, options?: ServersGetOptionalParams): Promise<ServersGetResponse>;
    list(options?: ServersListOptionalParams): PagedAsyncIterableIterator<Server>;
    listByResourceGroup(resourceGroupName: string, options?: ServersListByResourceGroupOptionalParams): PagedAsyncIterableIterator<Server>;
}

// @public
export interface ServersCheckNameAvailabilityOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServersCheckNameAvailabilityResponse = CheckNameAvailabilityResponse;

// @public
export interface ServersCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ServersCreateOrUpdateResponse = Server;

// @public
export interface ServersDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface ServerSecurityAlertPolicies {
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, securityAlertPolicyName: SecurityAlertPolicyName, parameters: ServerSecurityAlertPolicy, options?: ServerSecurityAlertPoliciesCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ServerSecurityAlertPoliciesCreateOrUpdateResponse>, ServerSecurityAlertPoliciesCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, securityAlertPolicyName: SecurityAlertPolicyName, parameters: ServerSecurityAlertPolicy, options?: ServerSecurityAlertPoliciesCreateOrUpdateOptionalParams): Promise<ServerSecurityAlertPoliciesCreateOrUpdateResponse>;
    get(resourceGroupName: string, serverName: string, securityAlertPolicyName: SecurityAlertPolicyName, options?: ServerSecurityAlertPoliciesGetOptionalParams): Promise<ServerSecurityAlertPoliciesGetResponse>;
    listByServer(resourceGroupName: string, serverName: string, options?: ServerSecurityAlertPoliciesListByServerOptionalParams): PagedAsyncIterableIterator<ServerSecurityAlertPolicy>;
}

// @public
export interface ServerSecurityAlertPoliciesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ServerSecurityAlertPoliciesCreateOrUpdateResponse = ServerSecurityAlertPolicy;

// @public
export interface ServerSecurityAlertPoliciesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerSecurityAlertPoliciesGetResponse = ServerSecurityAlertPolicy;

// @public
export interface ServerSecurityAlertPoliciesListByServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerSecurityAlertPoliciesListByServerNextResponse = LogicalServerSecurityAlertPolicyListResult;

// @public
export interface ServerSecurityAlertPoliciesListByServerOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerSecurityAlertPoliciesListByServerResponse = LogicalServerSecurityAlertPolicyListResult;

// @public
export interface ServerSecurityAlertPolicy extends ProxyResource {
    readonly creationTime?: Date;
    disabledAlerts?: string[];
    emailAccountAdmins?: boolean;
    emailAddresses?: string[];
    retentionDays?: number;
    state?: SecurityAlertsPolicyState;
    storageAccountAccessKey?: string;
    storageEndpoint?: string;
    readonly systemData?: SystemData;
}

// @public
export interface ServersGetOptionalParams extends coreClient.OperationOptions {
    expand?: string;
}

// @public
export type ServersGetResponse = Server;

// @public
export interface ServersImportDatabaseOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ServersImportDatabaseResponse = ImportExportOperationResult;

// @public
export interface ServersListByResourceGroupNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServersListByResourceGroupNextResponse = ServerListResult;

// @public
export interface ServersListByResourceGroupOptionalParams extends coreClient.OperationOptions {
    expand?: string;
}

// @public
export type ServersListByResourceGroupResponse = ServerListResult;

// @public
export interface ServersListNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServersListNextResponse = ServerListResult;

// @public
export interface ServersListOptionalParams extends coreClient.OperationOptions {
    expand?: string;
}

// @public
export type ServersListResponse = ServerListResult;

// @public
export interface ServersRefreshStatusOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ServersRefreshStatusResponse = RefreshExternalGovernanceStatusOperationResult;

// @public
export interface ServersUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ServersUpdateResponse = Server;

// @public
export interface ServerTrustCertificate extends ProxyResource {
    readonly certificateName?: string;
    publicBlob?: string;
    readonly thumbprint?: string;
}

// @public
export interface ServerTrustCertificates {
    beginCreateOrUpdate(resourceGroupName: string, managedInstanceName: string, certificateName: string, parameters: ServerTrustCertificate, options?: ServerTrustCertificatesCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ServerTrustCertificatesCreateOrUpdateResponse>, ServerTrustCertificatesCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, managedInstanceName: string, certificateName: string, parameters: ServerTrustCertificate, options?: ServerTrustCertificatesCreateOrUpdateOptionalParams): Promise<ServerTrustCertificatesCreateOrUpdateResponse>;
    beginDelete(resourceGroupName: string, managedInstanceName: string, certificateName: string, options?: ServerTrustCertificatesDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, managedInstanceName: string, certificateName: string, options?: ServerTrustCertificatesDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, managedInstanceName: string, certificateName: string, options?: ServerTrustCertificatesGetOptionalParams): Promise<ServerTrustCertificatesGetResponse>;
    listByInstance(resourceGroupName: string, managedInstanceName: string, options?: ServerTrustCertificatesListByInstanceOptionalParams): PagedAsyncIterableIterator<ServerTrustCertificate>;
}

// @public
export interface ServerTrustCertificatesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ServerTrustCertificatesCreateOrUpdateResponse = ServerTrustCertificate;

// @public
export interface ServerTrustCertificatesDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface ServerTrustCertificatesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerTrustCertificatesGetResponse = ServerTrustCertificate;

// @public
export interface ServerTrustCertificatesListByInstanceNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerTrustCertificatesListByInstanceNextResponse = ServerTrustCertificatesListResult;

// @public
export interface ServerTrustCertificatesListByInstanceOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerTrustCertificatesListByInstanceResponse = ServerTrustCertificatesListResult;

// @public
export interface ServerTrustCertificatesListResult {
    readonly nextLink?: string;
    readonly value?: ServerTrustCertificate[];
}

// @public
export interface ServerTrustGroup extends ProxyResource {
    groupMembers?: ServerInfo[];
    trustScopes?: ServerTrustGroupPropertiesTrustScopesItem[];
}

// @public
export interface ServerTrustGroupListResult {
    readonly nextLink?: string;
    readonly value?: ServerTrustGroup[];
}

// @public
export type ServerTrustGroupPropertiesTrustScopesItem = string;

// @public
export interface ServerTrustGroups {
    beginCreateOrUpdate(resourceGroupName: string, locationName: string, serverTrustGroupName: string, parameters: ServerTrustGroup, options?: ServerTrustGroupsCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ServerTrustGroupsCreateOrUpdateResponse>, ServerTrustGroupsCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, locationName: string, serverTrustGroupName: string, parameters: ServerTrustGroup, options?: ServerTrustGroupsCreateOrUpdateOptionalParams): Promise<ServerTrustGroupsCreateOrUpdateResponse>;
    beginDelete(resourceGroupName: string, locationName: string, serverTrustGroupName: string, options?: ServerTrustGroupsDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, locationName: string, serverTrustGroupName: string, options?: ServerTrustGroupsDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, locationName: string, serverTrustGroupName: string, options?: ServerTrustGroupsGetOptionalParams): Promise<ServerTrustGroupsGetResponse>;
    listByInstance(resourceGroupName: string, managedInstanceName: string, options?: ServerTrustGroupsListByInstanceOptionalParams): PagedAsyncIterableIterator<ServerTrustGroup>;
    listByLocation(resourceGroupName: string, locationName: string, options?: ServerTrustGroupsListByLocationOptionalParams): PagedAsyncIterableIterator<ServerTrustGroup>;
}

// @public
export interface ServerTrustGroupsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type ServerTrustGroupsCreateOrUpdateResponse = ServerTrustGroup;

// @public
export interface ServerTrustGroupsDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface ServerTrustGroupsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerTrustGroupsGetResponse = ServerTrustGroup;

// @public
export interface ServerTrustGroupsListByInstanceNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerTrustGroupsListByInstanceNextResponse = ServerTrustGroupListResult;

// @public
export interface ServerTrustGroupsListByInstanceOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerTrustGroupsListByInstanceResponse = ServerTrustGroupListResult;

// @public
export interface ServerTrustGroupsListByLocationNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerTrustGroupsListByLocationNextResponse = ServerTrustGroupListResult;

// @public
export interface ServerTrustGroupsListByLocationOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerTrustGroupsListByLocationResponse = ServerTrustGroupListResult;

// @public
export interface ServerUpdate {
    administratorLogin?: string;
    administratorLoginPassword?: string;
    administrators?: ServerExternalAdministrator;
    readonly externalGovernanceStatus?: ExternalGovernanceStatus;
    federatedClientId?: string;
    readonly fullyQualifiedDomainName?: string;
    identity?: ResourceIdentity;
    keyId?: string;
    minimalTlsVersion?: string;
    primaryUserAssignedIdentityId?: string;
    readonly privateEndpointConnections?: ServerPrivateEndpointConnection[];
    publicNetworkAccess?: ServerPublicNetworkAccessFlag;
    restrictOutboundNetworkAccess?: ServerNetworkAccessFlag;
    readonly state?: string;
    tags?: {
        [propertyName: string]: string;
    };
    version?: string;
    readonly workspaceFeature?: ServerWorkspaceFeature;
}

// @public
export interface ServerUsage {
    readonly currentValue?: number;
    readonly displayName?: string;
    readonly limit?: number;
    readonly name?: string;
    readonly nextResetTime?: Date;
    readonly resourceName?: string;
    readonly unit?: string;
}

// @public
export interface ServerUsageListResult {
    value: ServerUsage[];
}

// @public
export interface ServerUsages {
    listByServer(resourceGroupName: string, serverName: string, options?: ServerUsagesListByServerOptionalParams): PagedAsyncIterableIterator<ServerUsage>;
}

// @public
export interface ServerUsagesListByServerOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerUsagesListByServerResponse = ServerUsageListResult;

// @public
export interface ServerVersionCapability {
    readonly name?: string;
    reason?: string;
    readonly status?: CapabilityStatus;
    readonly supportedEditions?: EditionCapability[];
    readonly supportedElasticPoolEditions?: ElasticPoolEditionCapability[];
}

// @public
export interface ServerVulnerabilityAssessment extends ProxyResource {
    recurringScans?: VulnerabilityAssessmentRecurringScansProperties;
    storageAccountAccessKey?: string;
    storageContainerPath?: string;
    storageContainerSasKey?: string;
}

// @public
export interface ServerVulnerabilityAssessmentListResult {
    readonly nextLink?: string;
    readonly value?: ServerVulnerabilityAssessment[];
}

// @public
export interface ServerVulnerabilityAssessments {
    createOrUpdate(resourceGroupName: string, serverName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, parameters: ServerVulnerabilityAssessment, options?: ServerVulnerabilityAssessmentsCreateOrUpdateOptionalParams): Promise<ServerVulnerabilityAssessmentsCreateOrUpdateResponse>;
    delete(resourceGroupName: string, serverName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, options?: ServerVulnerabilityAssessmentsDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, serverName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, options?: ServerVulnerabilityAssessmentsGetOptionalParams): Promise<ServerVulnerabilityAssessmentsGetResponse>;
    listByServer(resourceGroupName: string, serverName: string, options?: ServerVulnerabilityAssessmentsListByServerOptionalParams): PagedAsyncIterableIterator<ServerVulnerabilityAssessment>;
}

// @public
export interface ServerVulnerabilityAssessmentsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerVulnerabilityAssessmentsCreateOrUpdateResponse = ServerVulnerabilityAssessment;

// @public
export interface ServerVulnerabilityAssessmentsDeleteOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface ServerVulnerabilityAssessmentsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerVulnerabilityAssessmentsGetResponse = ServerVulnerabilityAssessment;

// @public
export interface ServerVulnerabilityAssessmentsListByServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerVulnerabilityAssessmentsListByServerNextResponse = ServerVulnerabilityAssessmentListResult;

// @public
export interface ServerVulnerabilityAssessmentsListByServerOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServerVulnerabilityAssessmentsListByServerResponse = ServerVulnerabilityAssessmentListResult;

// @public
export type ServerWorkspaceFeature = string;

// @public
export interface ServiceObjective extends ProxyResource {
    readonly description?: string;
    readonly enabled?: boolean;
    readonly isDefault?: boolean;
    readonly isSystem?: boolean;
    readonly serviceObjectiveName?: string;
}

// @public
export interface ServiceObjectiveCapability {
    readonly computeModel?: string;
    readonly id?: string;
    readonly includedMaxSize?: MaxSizeCapability;
    readonly name?: string;
    readonly performanceLevel?: PerformanceLevelCapability;
    reason?: string;
    readonly sku?: Sku;
    readonly status?: CapabilityStatus;
    readonly supportedAutoPauseDelay?: AutoPauseDelayTimeRange;
    readonly supportedLicenseTypes?: LicenseTypeCapability[];
    readonly supportedMaintenanceConfigurations?: MaintenanceConfigurationCapability[];
    readonly supportedMaxSizes?: MaxSizeRangeCapability[];
    readonly supportedMinCapacities?: MinCapacityCapability[];
    readonly zoneRedundant?: boolean;
}

// @public
export interface ServiceObjectiveListResult {
    value: ServiceObjective[];
}

// @public
export type ServiceObjectiveName = string;

// @public
export interface ServiceObjectives {
    get(resourceGroupName: string, serverName: string, serviceObjectiveName: string, options?: ServiceObjectivesGetOptionalParams): Promise<ServiceObjectivesGetResponse>;
    listByServer(resourceGroupName: string, serverName: string, options?: ServiceObjectivesListByServerOptionalParams): PagedAsyncIterableIterator<ServiceObjective>;
}

// @public
export interface ServiceObjectivesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServiceObjectivesGetResponse = ServiceObjective;

// @public
export interface ServiceObjectivesListByServerOptionalParams extends coreClient.OperationOptions {
}

// @public
export type ServiceObjectivesListByServerResponse = ServiceObjectiveListResult;

// @public
export interface ServicePrincipal {
    readonly clientId?: string;
    readonly principalId?: string;
    readonly tenantId?: string;
    type?: ServicePrincipalType;
}

// @public
export type ServicePrincipalType = string;

// @public
export type ShortTermRetentionPolicyName = string;

// @public
export interface Sku {
    capacity?: number;
    family?: string;
    name: string;
    size?: string;
    tier?: string;
}

// @public
export interface SloUsageMetric {
    readonly inRangeTimeRatio?: number;
    readonly serviceLevelObjective?: ServiceObjectiveName;
    readonly serviceLevelObjectiveId?: string;
}

// @public
export interface SqlAgent {
    createOrUpdate(resourceGroupName: string, managedInstanceName: string, parameters: SqlAgentConfiguration, options?: SqlAgentCreateOrUpdateOptionalParams): Promise<SqlAgentCreateOrUpdateResponse>;
    get(resourceGroupName: string, managedInstanceName: string, options?: SqlAgentGetOptionalParams): Promise<SqlAgentGetResponse>;
}

// @public
export interface SqlAgentConfiguration extends ProxyResource {
    state?: SqlAgentConfigurationPropertiesState;
}

// @public
export type SqlAgentConfigurationPropertiesState = string;

// @public
export interface SqlAgentCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SqlAgentCreateOrUpdateResponse = SqlAgentConfiguration;

// @public
export interface SqlAgentGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SqlAgentGetResponse = SqlAgentConfiguration;

// @public (undocumented)
export class SqlManagementClient extends coreClient.ServiceClient {
    // (undocumented)
    $host: string;
    constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: SqlManagementClientOptionalParams);
    // (undocumented)
    backupShortTermRetentionPolicies: BackupShortTermRetentionPolicies;
    // (undocumented)
    capabilities: Capabilities;
    // (undocumented)
    databaseAdvancedThreatProtectionSettings: DatabaseAdvancedThreatProtectionSettings;
    // (undocumented)
    databaseAdvisors: DatabaseAdvisors;
    // (undocumented)
    databaseAutomaticTuningOperations: DatabaseAutomaticTuningOperations;
    // (undocumented)
    databaseBlobAuditingPolicies: DatabaseBlobAuditingPolicies;
    // (undocumented)
    databaseColumns: DatabaseColumns;
    // (undocumented)
    databaseEncryptionProtectors: DatabaseEncryptionProtectors;
    // (undocumented)
    databaseExtensionsOperations: DatabaseExtensionsOperations;
    // (undocumented)
    databaseOperations: DatabaseOperations;
    // (undocumented)
    databaseRecommendedActions: DatabaseRecommendedActions;
    // (undocumented)
    databases: Databases;
    // (undocumented)
    databaseSchemas: DatabaseSchemas;
    // (undocumented)
    databaseSecurityAlertPolicies: DatabaseSecurityAlertPolicies;
    // (undocumented)
    databaseSqlVulnerabilityAssessmentBaselines: DatabaseSqlVulnerabilityAssessmentBaselines;
    // (undocumented)
    databaseSqlVulnerabilityAssessmentExecuteScan: DatabaseSqlVulnerabilityAssessmentExecuteScan;
    // (undocumented)
    databaseSqlVulnerabilityAssessmentRuleBaselines: DatabaseSqlVulnerabilityAssessmentRuleBaselines;
    // (undocumented)
    databaseSqlVulnerabilityAssessmentScanResult: DatabaseSqlVulnerabilityAssessmentScanResult;
    // (undocumented)
    databaseSqlVulnerabilityAssessmentScans: DatabaseSqlVulnerabilityAssessmentScans;
    // (undocumented)
    databaseSqlVulnerabilityAssessmentsSettings: DatabaseSqlVulnerabilityAssessmentsSettings;
    // (undocumented)
    databaseTables: DatabaseTables;
    // (undocumented)
    databaseUsages: DatabaseUsages;
    // (undocumented)
    databaseVulnerabilityAssessmentRuleBaselines: DatabaseVulnerabilityAssessmentRuleBaselines;
    // (undocumented)
    databaseVulnerabilityAssessments: DatabaseVulnerabilityAssessments;
    // (undocumented)
    databaseVulnerabilityAssessmentScans: DatabaseVulnerabilityAssessmentScans;
    // (undocumented)
    dataMaskingPolicies: DataMaskingPolicies;
    // (undocumented)
    dataMaskingRules: DataMaskingRules;
    // (undocumented)
    dataWarehouseUserActivitiesOperations: DataWarehouseUserActivitiesOperations;
    // (undocumented)
    deletedServers: DeletedServers;
    // (undocumented)
    distributedAvailabilityGroups: DistributedAvailabilityGroups;
    // (undocumented)
    elasticPoolActivities: ElasticPoolActivities;
    // (undocumented)
    elasticPoolDatabaseActivities: ElasticPoolDatabaseActivities;
    // (undocumented)
    elasticPoolOperations: ElasticPoolOperations;
    // (undocumented)
    elasticPools: ElasticPools;
    // (undocumented)
    encryptionProtectors: EncryptionProtectors;
    // (undocumented)
    endpointCertificates: EndpointCertificates;
    // (undocumented)
    extendedDatabaseBlobAuditingPolicies: ExtendedDatabaseBlobAuditingPolicies;
    // (undocumented)
    extendedServerBlobAuditingPolicies: ExtendedServerBlobAuditingPolicies;
    // (undocumented)
    failoverGroups: FailoverGroups;
    // (undocumented)
    firewallRules: FirewallRules;
    // (undocumented)
    geoBackupPolicies: GeoBackupPolicies;
    // (undocumented)
    instanceFailoverGroups: InstanceFailoverGroups;
    // (undocumented)
    instancePools: InstancePools;
    // (undocumented)
    iPv6FirewallRules: IPv6FirewallRules;
    // (undocumented)
    jobAgents: JobAgents;
    // (undocumented)
    jobCredentials: JobCredentials;
    // (undocumented)
    jobExecutions: JobExecutions;
    // (undocumented)
    jobs: Jobs;
    // (undocumented)
    jobStepExecutions: JobStepExecutions;
    // (undocumented)
    jobSteps: JobSteps;
    // (undocumented)
    jobTargetExecutions: JobTargetExecutions;
    // (undocumented)
    jobTargetGroups: JobTargetGroups;
    // (undocumented)
    jobVersions: JobVersions;
    // (undocumented)
    ledgerDigestUploadsOperations: LedgerDigestUploadsOperations;
    // (undocumented)
    longTermRetentionBackups: LongTermRetentionBackups;
    // (undocumented)
    longTermRetentionManagedInstanceBackups: LongTermRetentionManagedInstanceBackups;
    // (undocumented)
    longTermRetentionPolicies: LongTermRetentionPolicies;
    // (undocumented)
    maintenanceWindowOptionsOperations: MaintenanceWindowOptionsOperations;
    // (undocumented)
    maintenanceWindowsOperations: MaintenanceWindowsOperations;
    // (undocumented)
    managedBackupShortTermRetentionPolicies: ManagedBackupShortTermRetentionPolicies;
    // (undocumented)
    managedDatabaseAdvancedThreatProtectionSettings: ManagedDatabaseAdvancedThreatProtectionSettings;
    // (undocumented)
    managedDatabaseColumns: ManagedDatabaseColumns;
    // (undocumented)
    managedDatabaseMoveOperations: ManagedDatabaseMoveOperations;
    // (undocumented)
    managedDatabaseQueries: ManagedDatabaseQueries;
    // (undocumented)
    managedDatabaseRecommendedSensitivityLabels: ManagedDatabaseRecommendedSensitivityLabels;
    // (undocumented)
    managedDatabaseRestoreDetails: ManagedDatabaseRestoreDetails;
    // (undocumented)
    managedDatabases: ManagedDatabases;
    // (undocumented)
    managedDatabaseSchemas: ManagedDatabaseSchemas;
    // (undocumented)
    managedDatabaseSecurityAlertPolicies: ManagedDatabaseSecurityAlertPolicies;
    // (undocumented)
    managedDatabaseSecurityEvents: ManagedDatabaseSecurityEvents;
    // (undocumented)
    managedDatabaseSensitivityLabels: ManagedDatabaseSensitivityLabels;
    // (undocumented)
    managedDatabaseTables: ManagedDatabaseTables;
    // (undocumented)
    managedDatabaseTransparentDataEncryption: ManagedDatabaseTransparentDataEncryption;
    // (undocumented)
    managedDatabaseVulnerabilityAssessmentRuleBaselines: ManagedDatabaseVulnerabilityAssessmentRuleBaselines;
    // (undocumented)
    managedDatabaseVulnerabilityAssessments: ManagedDatabaseVulnerabilityAssessments;
    // (undocumented)
    managedDatabaseVulnerabilityAssessmentScans: ManagedDatabaseVulnerabilityAssessmentScans;
    // (undocumented)
    managedInstanceAdministrators: ManagedInstanceAdministrators;
    // (undocumented)
    managedInstanceAdvancedThreatProtectionSettings: ManagedInstanceAdvancedThreatProtectionSettings;
    // (undocumented)
    managedInstanceAzureADOnlyAuthentications: ManagedInstanceAzureADOnlyAuthentications;
    // (undocumented)
    managedInstanceDtcs: ManagedInstanceDtcs;
    // (undocumented)
    managedInstanceEncryptionProtectors: ManagedInstanceEncryptionProtectors;
    // (undocumented)
    managedInstanceKeys: ManagedInstanceKeys;
    // (undocumented)
    managedInstanceLongTermRetentionPolicies: ManagedInstanceLongTermRetentionPolicies;
    // (undocumented)
    managedInstanceOperations: ManagedInstanceOperations;
    // (undocumented)
    managedInstancePrivateEndpointConnections: ManagedInstancePrivateEndpointConnections;
    // (undocumented)
    managedInstancePrivateLinkResources: ManagedInstancePrivateLinkResources;
    // (undocumented)
    managedInstances: ManagedInstances;
    // (undocumented)
    managedInstanceTdeCertificates: ManagedInstanceTdeCertificates;
    // (undocumented)
    managedInstanceVulnerabilityAssessments: ManagedInstanceVulnerabilityAssessments;
    // (undocumented)
    managedLedgerDigestUploadsOperations: ManagedLedgerDigestUploadsOperations;
    // (undocumented)
    managedRestorableDroppedDatabaseBackupShortTermRetentionPolicies: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies;
    // (undocumented)
    managedServerDnsAliases: ManagedServerDnsAliases;
    // (undocumented)
    managedServerSecurityAlertPolicies: ManagedServerSecurityAlertPolicies;
    // (undocumented)
    operations: Operations;
    // (undocumented)
    outboundFirewallRules: OutboundFirewallRules;
    // (undocumented)
    privateEndpointConnections: PrivateEndpointConnections;
    // (undocumented)
    privateLinkResources: PrivateLinkResources;
    // (undocumented)
    recommendedSensitivityLabels: RecommendedSensitivityLabels;
    // (undocumented)
    recoverableDatabases: RecoverableDatabases;
    // (undocumented)
    recoverableManagedDatabases: RecoverableManagedDatabases;
    // (undocumented)
    replicationLinks: ReplicationLinks;
    // (undocumented)
    restorableDroppedDatabases: RestorableDroppedDatabases;
    // (undocumented)
    restorableDroppedManagedDatabases: RestorableDroppedManagedDatabases;
    // (undocumented)
    restorePoints: RestorePoints;
    // (undocumented)
    sensitivityLabels: SensitivityLabels;
    // (undocumented)
    serverAdvancedThreatProtectionSettings: ServerAdvancedThreatProtectionSettings;
    // (undocumented)
    serverAdvisors: ServerAdvisors;
    // (undocumented)
    serverAutomaticTuningOperations: ServerAutomaticTuningOperations;
    // (undocumented)
    serverAzureADAdministrators: ServerAzureADAdministrators;
    // (undocumented)
    serverAzureADOnlyAuthentications: ServerAzureADOnlyAuthentications;
    // (undocumented)
    serverBlobAuditingPolicies: ServerBlobAuditingPolicies;
    // (undocumented)
    serverCommunicationLinks: ServerCommunicationLinks;
    // (undocumented)
    serverConfigurationOptions: ServerConfigurationOptions;
    // (undocumented)
    serverConnectionPolicies: ServerConnectionPolicies;
    // (undocumented)
    serverDevOpsAuditSettings: ServerDevOpsAuditSettings;
    // (undocumented)
    serverDnsAliases: ServerDnsAliases;
    // (undocumented)
    serverKeys: ServerKeys;
    // (undocumented)
    serverOperations: ServerOperations;
    // (undocumented)
    servers: Servers;
    // (undocumented)
    serverSecurityAlertPolicies: ServerSecurityAlertPolicies;
    // (undocumented)
    serverTrustCertificates: ServerTrustCertificates;
    // (undocumented)
    serverTrustGroups: ServerTrustGroups;
    // (undocumented)
    serverUsages: ServerUsages;
    // (undocumented)
    serverVulnerabilityAssessments: ServerVulnerabilityAssessments;
    // (undocumented)
    serviceObjectives: ServiceObjectives;
    // (undocumented)
    sqlAgent: SqlAgent;
    // (undocumented)
    sqlVulnerabilityAssessmentBaseline: SqlVulnerabilityAssessmentBaseline;
    // (undocumented)
    sqlVulnerabilityAssessmentBaselines: SqlVulnerabilityAssessmentBaselines;
    // (undocumented)
    sqlVulnerabilityAssessmentExecuteScan: SqlVulnerabilityAssessmentExecuteScan;
    // (undocumented)
    sqlVulnerabilityAssessmentRuleBaseline: SqlVulnerabilityAssessmentRuleBaseline;
    // (undocumented)
    sqlVulnerabilityAssessmentRuleBaselines: SqlVulnerabilityAssessmentRuleBaselines;
    // (undocumented)
    sqlVulnerabilityAssessments: SqlVulnerabilityAssessments;
    // (undocumented)
    sqlVulnerabilityAssessmentScanResult: SqlVulnerabilityAssessmentScanResult;
    // (undocumented)
    sqlVulnerabilityAssessmentScans: SqlVulnerabilityAssessmentScans;
    // (undocumented)
    sqlVulnerabilityAssessmentsSettings: SqlVulnerabilityAssessmentsSettings;
    // (undocumented)
    startStopManagedInstanceSchedules: StartStopManagedInstanceSchedules;
    // (undocumented)
    subscriptionId: string;
    // (undocumented)
    subscriptionUsages: SubscriptionUsages;
    // (undocumented)
    synapseLinkWorkspaces: SynapseLinkWorkspaces;
    // (undocumented)
    syncAgents: SyncAgents;
    // (undocumented)
    syncGroups: SyncGroups;
    // (undocumented)
    syncMembers: SyncMembers;
    // (undocumented)
    tdeCertificates: TdeCertificates;
    // (undocumented)
    timeZones: TimeZones;
    // (undocumented)
    transparentDataEncryptions: TransparentDataEncryptions;
    // (undocumented)
    usages: Usages;
    // (undocumented)
    virtualClusters: VirtualClusters;
    // (undocumented)
    virtualNetworkRules: VirtualNetworkRules;
    // (undocumented)
    workloadClassifiers: WorkloadClassifiers;
    // (undocumented)
    workloadGroups: WorkloadGroups;
}

// @public
export interface SqlManagementClientOptionalParams extends coreClient.ServiceClientOptions {
    $host?: string;
    endpoint?: string;
}

// @public
export interface SqlVulnerabilityAssessment extends ProxyResource {
    state?: SqlVulnerabilityAssessmentState;
    readonly systemData?: SystemData;
}

// @public
export interface SqlVulnerabilityAssessmentBaseline {
    get(resourceGroupName: string, serverName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, baselineName: BaselineName, options?: SqlVulnerabilityAssessmentBaselineGetOptionalParams): Promise<SqlVulnerabilityAssessmentBaselineGetResponse>;
    listBySqlVulnerabilityAssessment(resourceGroupName: string, serverName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, options?: SqlVulnerabilityAssessmentBaselineListBySqlVulnerabilityAssessmentOptionalParams): PagedAsyncIterableIterator<DatabaseSqlVulnerabilityAssessmentBaselineSet>;
}

// @public
export interface SqlVulnerabilityAssessmentBaselineGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SqlVulnerabilityAssessmentBaselineGetResponse = DatabaseSqlVulnerabilityAssessmentBaselineSet;

// @public
export interface SqlVulnerabilityAssessmentBaselineListBySqlVulnerabilityAssessmentNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SqlVulnerabilityAssessmentBaselineListBySqlVulnerabilityAssessmentNextResponse = DatabaseSqlVulnerabilityAssessmentBaselineSetListResult;

// @public
export interface SqlVulnerabilityAssessmentBaselineListBySqlVulnerabilityAssessmentOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SqlVulnerabilityAssessmentBaselineListBySqlVulnerabilityAssessmentResponse = DatabaseSqlVulnerabilityAssessmentBaselineSetListResult;

// @public
export interface SqlVulnerabilityAssessmentBaselines {
    createOrUpdate(resourceGroupName: string, serverName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, baselineName: BaselineName, parameters: DatabaseSqlVulnerabilityAssessmentRuleBaselineListInput, options?: SqlVulnerabilityAssessmentBaselinesCreateOrUpdateOptionalParams): Promise<SqlVulnerabilityAssessmentBaselinesCreateOrUpdateResponse>;
}

// @public
export interface SqlVulnerabilityAssessmentBaselinesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SqlVulnerabilityAssessmentBaselinesCreateOrUpdateResponse = DatabaseSqlVulnerabilityAssessmentBaselineSet;

// @public
export interface SqlVulnerabilityAssessmentExecuteScan {
    beginExecute(resourceGroupName: string, serverName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, options?: SqlVulnerabilityAssessmentExecuteScanExecuteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginExecuteAndWait(resourceGroupName: string, serverName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, options?: SqlVulnerabilityAssessmentExecuteScanExecuteOptionalParams): Promise<void>;
}

// @public
export interface SqlVulnerabilityAssessmentExecuteScanExecuteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface SqlVulnerabilityAssessmentListResult {
    readonly nextLink?: string;
    readonly value?: SqlVulnerabilityAssessment[];
}

// @public
export type SQLVulnerabilityAssessmentName = string;

// @public
export type SqlVulnerabilityAssessmentName = string;

// @public
export interface SqlVulnerabilityAssessmentRuleBaseline {
    createOrUpdate(resourceGroupName: string, serverName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, baselineName: BaselineName, ruleId: string, parameters: DatabaseSqlVulnerabilityAssessmentRuleBaselineInput, options?: SqlVulnerabilityAssessmentRuleBaselineCreateOrUpdateOptionalParams): Promise<SqlVulnerabilityAssessmentRuleBaselineCreateOrUpdateResponse>;
    get(resourceGroupName: string, serverName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, baselineName: BaselineName, ruleId: string, options?: SqlVulnerabilityAssessmentRuleBaselineGetOptionalParams): Promise<SqlVulnerabilityAssessmentRuleBaselineGetResponse>;
    listByBaseline(resourceGroupName: string, serverName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, baselineName: BaselineName, options?: SqlVulnerabilityAssessmentRuleBaselineListByBaselineOptionalParams): PagedAsyncIterableIterator<DatabaseSqlVulnerabilityAssessmentRuleBaseline>;
}

// @public
export interface SqlVulnerabilityAssessmentRuleBaselineCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SqlVulnerabilityAssessmentRuleBaselineCreateOrUpdateResponse = DatabaseSqlVulnerabilityAssessmentRuleBaseline;

// @public
export interface SqlVulnerabilityAssessmentRuleBaselineGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SqlVulnerabilityAssessmentRuleBaselineGetResponse = DatabaseSqlVulnerabilityAssessmentRuleBaseline;

// @public
export interface SqlVulnerabilityAssessmentRuleBaselineListByBaselineNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SqlVulnerabilityAssessmentRuleBaselineListByBaselineNextResponse = DatabaseSqlVulnerabilityAssessmentRuleBaselineListResult;

// @public
export interface SqlVulnerabilityAssessmentRuleBaselineListByBaselineOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SqlVulnerabilityAssessmentRuleBaselineListByBaselineResponse = DatabaseSqlVulnerabilityAssessmentRuleBaselineListResult;

// @public
export interface SqlVulnerabilityAssessmentRuleBaselines {
    delete(resourceGroupName: string, serverName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, baselineName: BaselineName, ruleId: string, options?: SqlVulnerabilityAssessmentRuleBaselinesDeleteOptionalParams): Promise<void>;
}

// @public
export interface SqlVulnerabilityAssessmentRuleBaselinesDeleteOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface SqlVulnerabilityAssessments {
    delete(resourceGroupName: string, serverName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, options?: SqlVulnerabilityAssessmentsDeleteOptionalParams): Promise<void>;
}

// @public
export interface SqlVulnerabilityAssessmentScanError {
    readonly code?: string;
    readonly message?: string;
}

// @public
export interface SQLVulnerabilityAssessmentScanListResult {
    readonly nextLink?: string;
    readonly value?: SqlVulnerabilityAssessmentScanResults[];
}

// @public
export interface SqlVulnerabilityAssessmentScanRecord extends ProxyResource {
    readonly database?: string;
    readonly endTime?: Date;
    readonly errors?: SqlVulnerabilityAssessmentScanError[];
    readonly highSeverityFailedRulesCount?: number;
    readonly isBaselineApplied?: boolean;
    readonly lowSeverityFailedRulesCount?: number;
    readonly mediumSeverityFailedRulesCount?: number;
    readonly scanId?: string;
    readonly server?: string;
    readonly sqlVersion?: string;
    readonly startTime?: Date;
    readonly state?: VulnerabilityAssessmentScanState;
    readonly systemData?: SystemData;
    readonly totalFailedRulesCount?: number;
    readonly totalPassedRulesCount?: number;
    readonly totalRulesCount?: number;
    readonly triggerType?: VulnerabilityAssessmentScanTriggerType;
}

// @public
export interface SqlVulnerabilityAssessmentScanRecordListResult {
    readonly nextLink?: string;
    readonly value?: SqlVulnerabilityAssessmentScanRecord[];
}

// @public
export interface SqlVulnerabilityAssessmentScanResult {
    get(resourceGroupName: string, serverName: string, vulnerabilityAssessmentName: SQLVulnerabilityAssessmentName, scanId: string, scanResultId: string, options?: SqlVulnerabilityAssessmentScanResultGetOptionalParams): Promise<SqlVulnerabilityAssessmentScanResultGetResponse>;
    listByScan(resourceGroupName: string, serverName: string, vulnerabilityAssessmentName: SQLVulnerabilityAssessmentName, scanId: string, options?: SqlVulnerabilityAssessmentScanResultListByScanOptionalParams): PagedAsyncIterableIterator<SqlVulnerabilityAssessmentScanResults>;
}

// @public
export interface SqlVulnerabilityAssessmentScanResultGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SqlVulnerabilityAssessmentScanResultGetResponse = SqlVulnerabilityAssessmentScanResults;

// @public
export interface SqlVulnerabilityAssessmentScanResultListByScanNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SqlVulnerabilityAssessmentScanResultListByScanNextResponse = SQLVulnerabilityAssessmentScanListResult;

// @public
export interface SqlVulnerabilityAssessmentScanResultListByScanOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SqlVulnerabilityAssessmentScanResultListByScanResponse = SQLVulnerabilityAssessmentScanListResult;

// @public (undocumented)
export interface SqlVulnerabilityAssessmentScanResults extends ProxyResource {
    readonly baselineAdjustedResult?: BaselineAdjustedResult;
    readonly errorMessage?: string;
    readonly isTrimmed?: boolean;
    readonly queryResults?: string[][];
    readonly remediation?: Remediation;
    readonly ruleId?: string;
    readonly ruleMetadata?: VaRule;
    readonly status?: RuleStatus;
    readonly systemData?: SystemData;
}

// @public
export interface SqlVulnerabilityAssessmentScans {
    get(resourceGroupName: string, serverName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, scanId: string, options?: SqlVulnerabilityAssessmentScansGetOptionalParams): Promise<SqlVulnerabilityAssessmentScansGetResponse>;
    listBySqlVulnerabilityAssessments(resourceGroupName: string, serverName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, options?: SqlVulnerabilityAssessmentScansListBySqlVulnerabilityAssessmentsOptionalParams): PagedAsyncIterableIterator<SqlVulnerabilityAssessmentScanRecord>;
}

// @public
export interface SqlVulnerabilityAssessmentScansGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SqlVulnerabilityAssessmentScansGetResponse = SqlVulnerabilityAssessmentScanRecord;

// @public
export interface SqlVulnerabilityAssessmentScansListBySqlVulnerabilityAssessmentsNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SqlVulnerabilityAssessmentScansListBySqlVulnerabilityAssessmentsNextResponse = SqlVulnerabilityAssessmentScanRecordListResult;

// @public
export interface SqlVulnerabilityAssessmentScansListBySqlVulnerabilityAssessmentsOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SqlVulnerabilityAssessmentScansListBySqlVulnerabilityAssessmentsResponse = SqlVulnerabilityAssessmentScanRecordListResult;

// @public
export interface SqlVulnerabilityAssessmentsDeleteOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface SqlVulnerabilityAssessmentsSettings {
    createOrUpdate(resourceGroupName: string, serverName: string, vulnerabilityAssessmentName: VulnerabilityAssessmentName, parameters: SqlVulnerabilityAssessment, options?: SqlVulnerabilityAssessmentsSettingsCreateOrUpdateOptionalParams): Promise<SqlVulnerabilityAssessmentsSettingsCreateOrUpdateResponse>;
    get(resourceGroupName: string, serverName: string, vulnerabilityAssessmentName: SqlVulnerabilityAssessmentName, options?: SqlVulnerabilityAssessmentsSettingsGetOptionalParams): Promise<SqlVulnerabilityAssessmentsSettingsGetResponse>;
    listByServer(resourceGroupName: string, serverName: string, options?: SqlVulnerabilityAssessmentsSettingsListByServerOptionalParams): PagedAsyncIterableIterator<SqlVulnerabilityAssessment>;
}

// @public
export interface SqlVulnerabilityAssessmentsSettingsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SqlVulnerabilityAssessmentsSettingsCreateOrUpdateResponse = SqlVulnerabilityAssessment;

// @public
export interface SqlVulnerabilityAssessmentsSettingsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SqlVulnerabilityAssessmentsSettingsGetResponse = SqlVulnerabilityAssessment;

// @public
export interface SqlVulnerabilityAssessmentsSettingsListByServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SqlVulnerabilityAssessmentsSettingsListByServerNextResponse = SqlVulnerabilityAssessmentListResult;

// @public
export interface SqlVulnerabilityAssessmentsSettingsListByServerOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SqlVulnerabilityAssessmentsSettingsListByServerResponse = SqlVulnerabilityAssessmentListResult;

// @public
export type SqlVulnerabilityAssessmentState = "Enabled" | "Disabled";

// @public
export interface StartStopManagedInstanceSchedule extends ProxyResource {
    description?: string;
    readonly nextExecutionTime?: string;
    readonly nextRunAction?: string;
    scheduleList?: ScheduleItem[];
    readonly systemData?: SystemData;
    timeZoneId?: string;
}

// @public
export interface StartStopManagedInstanceScheduleListResult {
    readonly nextLink?: string;
    readonly value?: StartStopManagedInstanceSchedule[];
}

// @public
export interface StartStopManagedInstanceSchedules {
    createOrUpdate(resourceGroupName: string, managedInstanceName: string, startStopScheduleName: StartStopScheduleName, parameters: StartStopManagedInstanceSchedule, options?: StartStopManagedInstanceSchedulesCreateOrUpdateOptionalParams): Promise<StartStopManagedInstanceSchedulesCreateOrUpdateResponse>;
    delete(resourceGroupName: string, managedInstanceName: string, startStopScheduleName: StartStopScheduleName, options?: StartStopManagedInstanceSchedulesDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, managedInstanceName: string, startStopScheduleName: StartStopScheduleName, options?: StartStopManagedInstanceSchedulesGetOptionalParams): Promise<StartStopManagedInstanceSchedulesGetResponse>;
    listByInstance(resourceGroupName: string, managedInstanceName: string, options?: StartStopManagedInstanceSchedulesListByInstanceOptionalParams): PagedAsyncIterableIterator<StartStopManagedInstanceSchedule>;
}

// @public
export interface StartStopManagedInstanceSchedulesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
}

// @public
export type StartStopManagedInstanceSchedulesCreateOrUpdateResponse = StartStopManagedInstanceSchedule;

// @public
export interface StartStopManagedInstanceSchedulesDeleteOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface StartStopManagedInstanceSchedulesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type StartStopManagedInstanceSchedulesGetResponse = StartStopManagedInstanceSchedule;

// @public
export interface StartStopManagedInstanceSchedulesListByInstanceNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type StartStopManagedInstanceSchedulesListByInstanceNextResponse = StartStopManagedInstanceScheduleListResult;

// @public
export interface StartStopManagedInstanceSchedulesListByInstanceOptionalParams extends coreClient.OperationOptions {
}

// @public
export type StartStopManagedInstanceSchedulesListByInstanceResponse = StartStopManagedInstanceScheduleListResult;

// @public
export type StartStopScheduleName = string;

// @public
export interface StorageCapability {
    reason?: string;
    readonly status?: CapabilityStatus;
    readonly storageAccountType?: StorageCapabilityStorageAccountType;
}

// @public
export type StorageCapabilityStorageAccountType = string;

// @public
export type StorageKeyType = string;

// @public
export interface SubscriptionUsage extends ProxyResource {
    readonly currentValue?: number;
    readonly displayName?: string;
    readonly limit?: number;
    readonly unit?: string;
}

// @public
export interface SubscriptionUsageListResult {
    readonly nextLink?: string;
    readonly value?: SubscriptionUsage[];
}

// @public
export interface SubscriptionUsages {
    get(locationName: string, usageName: string, options?: SubscriptionUsagesGetOptionalParams): Promise<SubscriptionUsagesGetResponse>;
    listByLocation(locationName: string, options?: SubscriptionUsagesListByLocationOptionalParams): PagedAsyncIterableIterator<SubscriptionUsage>;
}

// @public
export interface SubscriptionUsagesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SubscriptionUsagesGetResponse = SubscriptionUsage;

// @public
export interface SubscriptionUsagesListByLocationNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SubscriptionUsagesListByLocationNextResponse = SubscriptionUsageListResult;

// @public
export interface SubscriptionUsagesListByLocationOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SubscriptionUsagesListByLocationResponse = SubscriptionUsageListResult;

// @public
export interface SynapseLinkWorkspace extends ProxyResource {
    workspaces?: SynapseLinkWorkspaceInfoProperties[];
}

// @public
export interface SynapseLinkWorkspaceInfoProperties {
    linkConnectionName?: string;
    workspaceId?: string;
}

// @public
export interface SynapseLinkWorkspaceListResult {
    readonly nextLink?: string;
    readonly value?: SynapseLinkWorkspace[];
}

// @public
export interface SynapseLinkWorkspaces {
    listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: SynapseLinkWorkspacesListByDatabaseOptionalParams): PagedAsyncIterableIterator<SynapseLinkWorkspace>;
}

// @public
export interface SynapseLinkWorkspacesListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SynapseLinkWorkspacesListByDatabaseNextResponse = SynapseLinkWorkspaceListResult;

// @public
export interface SynapseLinkWorkspacesListByDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SynapseLinkWorkspacesListByDatabaseResponse = SynapseLinkWorkspaceListResult;

// @public
export interface SyncAgent extends ProxyResource {
    readonly expiryTime?: Date;
    readonly isUpToDate?: boolean;
    readonly lastAliveTime?: Date;
    readonly namePropertiesName?: string;
    readonly state?: SyncAgentState;
    syncDatabaseId?: string;
    readonly version?: string;
}

// @public
export interface SyncAgentKeyProperties {
    readonly syncAgentKey?: string;
}

// @public
export interface SyncAgentLinkedDatabase extends ProxyResource {
    readonly databaseId?: string;
    readonly databaseName?: string;
    readonly databaseType?: SyncMemberDbType;
    readonly description?: string;
    readonly serverName?: string;
    readonly userName?: string;
}

// @public
export interface SyncAgentLinkedDatabaseListResult {
    readonly nextLink?: string;
    readonly value?: SyncAgentLinkedDatabase[];
}

// @public
export interface SyncAgentListResult {
    readonly nextLink?: string;
    readonly value?: SyncAgent[];
}

// @public
export interface SyncAgents {
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, syncAgentName: string, parameters: SyncAgent, options?: SyncAgentsCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<SyncAgentsCreateOrUpdateResponse>, SyncAgentsCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, syncAgentName: string, parameters: SyncAgent, options?: SyncAgentsCreateOrUpdateOptionalParams): Promise<SyncAgentsCreateOrUpdateResponse>;
    beginDelete(resourceGroupName: string, serverName: string, syncAgentName: string, options?: SyncAgentsDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, serverName: string, syncAgentName: string, options?: SyncAgentsDeleteOptionalParams): Promise<void>;
    generateKey(resourceGroupName: string, serverName: string, syncAgentName: string, options?: SyncAgentsGenerateKeyOptionalParams): Promise<SyncAgentsGenerateKeyResponse>;
    get(resourceGroupName: string, serverName: string, syncAgentName: string, options?: SyncAgentsGetOptionalParams): Promise<SyncAgentsGetResponse>;
    listByServer(resourceGroupName: string, serverName: string, options?: SyncAgentsListByServerOptionalParams): PagedAsyncIterableIterator<SyncAgent>;
    listLinkedDatabases(resourceGroupName: string, serverName: string, syncAgentName: string, options?: SyncAgentsListLinkedDatabasesOptionalParams): PagedAsyncIterableIterator<SyncAgentLinkedDatabase>;
}

// @public
export interface SyncAgentsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type SyncAgentsCreateOrUpdateResponse = SyncAgent;

// @public
export interface SyncAgentsDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface SyncAgentsGenerateKeyOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SyncAgentsGenerateKeyResponse = SyncAgentKeyProperties;

// @public
export interface SyncAgentsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SyncAgentsGetResponse = SyncAgent;

// @public
export interface SyncAgentsListByServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SyncAgentsListByServerNextResponse = SyncAgentListResult;

// @public
export interface SyncAgentsListByServerOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SyncAgentsListByServerResponse = SyncAgentListResult;

// @public
export interface SyncAgentsListLinkedDatabasesNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SyncAgentsListLinkedDatabasesNextResponse = SyncAgentLinkedDatabaseListResult;

// @public
export interface SyncAgentsListLinkedDatabasesOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SyncAgentsListLinkedDatabasesResponse = SyncAgentLinkedDatabaseListResult;

// @public
export type SyncAgentState = string;

// @public
export type SyncConflictResolutionPolicy = string;

// @public
export interface SyncDatabaseIdListResult {
    readonly nextLink?: string;
    readonly value?: SyncDatabaseIdProperties[];
}

// @public
export interface SyncDatabaseIdProperties {
    readonly id?: string;
}

// @public
export type SyncDirection = string;

// @public
export interface SyncFullSchemaProperties {
    readonly lastUpdateTime?: Date;
    readonly tables?: SyncFullSchemaTable[];
}

// @public
export interface SyncFullSchemaPropertiesListResult {
    readonly nextLink?: string;
    readonly value?: SyncFullSchemaProperties[];
}

// @public
export interface SyncFullSchemaTable {
    readonly columns?: SyncFullSchemaTableColumn[];
    readonly errorId?: string;
    readonly hasError?: boolean;
    readonly name?: string;
    readonly quotedName?: string;
}

// @public
export interface SyncFullSchemaTableColumn {
    readonly dataSize?: string;
    readonly dataType?: string;
    readonly errorId?: string;
    readonly hasError?: boolean;
    readonly isPrimaryKey?: boolean;
    readonly name?: string;
    readonly quotedName?: string;
}

// @public
export interface SyncGroup extends ProxyResource {
    conflictLoggingRetentionInDays?: number;
    conflictResolutionPolicy?: SyncConflictResolutionPolicy;
    enableConflictLogging?: boolean;
    hubDatabasePassword?: string;
    hubDatabaseUserName?: string;
    interval?: number;
    readonly lastSyncTime?: Date;
    readonly privateEndpointName?: string;
    schema?: SyncGroupSchema;
    sku?: Sku;
    syncDatabaseId?: string;
    readonly syncState?: SyncGroupState;
    usePrivateLinkConnection?: boolean;
}

// @public
export interface SyncGroupListResult {
    readonly nextLink?: string;
    readonly value?: SyncGroup[];
}

// @public
export interface SyncGroupLogListResult {
    readonly nextLink?: string;
    readonly value?: SyncGroupLogProperties[];
}

// @public
export interface SyncGroupLogProperties {
    readonly details?: string;
    readonly operationStatus?: string;
    readonly source?: string;
    readonly timestamp?: Date;
    readonly tracingId?: string;
    readonly type?: SyncGroupLogType;
}

// @public
export type SyncGroupLogType = string;

// @public
export interface SyncGroups {
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, parameters: SyncGroup, options?: SyncGroupsCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<SyncGroupsCreateOrUpdateResponse>, SyncGroupsCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, parameters: SyncGroup, options?: SyncGroupsCreateOrUpdateOptionalParams): Promise<SyncGroupsCreateOrUpdateResponse>;
    beginDelete(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: SyncGroupsDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: SyncGroupsDeleteOptionalParams): Promise<void>;
    beginRefreshHubSchema(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: SyncGroupsRefreshHubSchemaOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginRefreshHubSchemaAndWait(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: SyncGroupsRefreshHubSchemaOptionalParams): Promise<void>;
    beginUpdate(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, parameters: SyncGroup, options?: SyncGroupsUpdateOptionalParams): Promise<SimplePollerLike<OperationState<SyncGroupsUpdateResponse>, SyncGroupsUpdateResponse>>;
    beginUpdateAndWait(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, parameters: SyncGroup, options?: SyncGroupsUpdateOptionalParams): Promise<SyncGroupsUpdateResponse>;
    cancelSync(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: SyncGroupsCancelSyncOptionalParams): Promise<void>;
    get(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: SyncGroupsGetOptionalParams): Promise<SyncGroupsGetResponse>;
    listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: SyncGroupsListByDatabaseOptionalParams): PagedAsyncIterableIterator<SyncGroup>;
    listHubSchemas(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: SyncGroupsListHubSchemasOptionalParams): PagedAsyncIterableIterator<SyncFullSchemaProperties>;
    listLogs(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, startTime: string, endTime: string, typeParam: SyncGroupsType, options?: SyncGroupsListLogsOptionalParams): PagedAsyncIterableIterator<SyncGroupLogProperties>;
    listSyncDatabaseIds(locationName: string, options?: SyncGroupsListSyncDatabaseIdsOptionalParams): PagedAsyncIterableIterator<SyncDatabaseIdProperties>;
    triggerSync(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: SyncGroupsTriggerSyncOptionalParams): Promise<void>;
}

// @public
export interface SyncGroupsCancelSyncOptionalParams extends coreClient.OperationOptions {
}

// @public
export interface SyncGroupSchema {
    masterSyncMemberName?: string;
    tables?: SyncGroupSchemaTable[];
}

// @public
export interface SyncGroupSchemaTable {
    columns?: SyncGroupSchemaTableColumn[];
    quotedName?: string;
}

// @public
export interface SyncGroupSchemaTableColumn {
    dataSize?: string;
    dataType?: string;
    quotedName?: string;
}

// @public
export interface SyncGroupsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type SyncGroupsCreateOrUpdateResponse = SyncGroup;

// @public
export interface SyncGroupsDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface SyncGroupsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SyncGroupsGetResponse = SyncGroup;

// @public
export interface SyncGroupsListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SyncGroupsListByDatabaseNextResponse = SyncGroupListResult;

// @public
export interface SyncGroupsListByDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SyncGroupsListByDatabaseResponse = SyncGroupListResult;

// @public
export interface SyncGroupsListHubSchemasNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SyncGroupsListHubSchemasNextResponse = SyncFullSchemaPropertiesListResult;

// @public
export interface SyncGroupsListHubSchemasOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SyncGroupsListHubSchemasResponse = SyncFullSchemaPropertiesListResult;

// @public
export interface SyncGroupsListLogsNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SyncGroupsListLogsNextResponse = SyncGroupLogListResult;

// @public
export interface SyncGroupsListLogsOptionalParams extends coreClient.OperationOptions {
    continuationToken?: string;
}

// @public
export type SyncGroupsListLogsResponse = SyncGroupLogListResult;

// @public
export interface SyncGroupsListSyncDatabaseIdsNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SyncGroupsListSyncDatabaseIdsNextResponse = SyncDatabaseIdListResult;

// @public
export interface SyncGroupsListSyncDatabaseIdsOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SyncGroupsListSyncDatabaseIdsResponse = SyncDatabaseIdListResult;

// @public
export interface SyncGroupsRefreshHubSchemaOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type SyncGroupState = string;

// @public
export interface SyncGroupsTriggerSyncOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SyncGroupsType = string;

// @public
export interface SyncGroupsUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type SyncGroupsUpdateResponse = SyncGroup;

// @public
export interface SyncMember extends ProxyResource {
    databaseName?: string;
    databaseType?: SyncMemberDbType;
    password?: string;
    readonly privateEndpointName?: string;
    serverName?: string;
    sqlServerDatabaseId?: string;
    syncAgentId?: string;
    syncDirection?: SyncDirection;
    syncMemberAzureDatabaseResourceId?: string;
    readonly syncState?: SyncMemberState;
    usePrivateLinkConnection?: boolean;
    userName?: string;
}

// @public
export type SyncMemberDbType = string;

// @public
export interface SyncMemberListResult {
    readonly nextLink?: string;
    readonly value?: SyncMember[];
}

// @public
export interface SyncMembers {
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, parameters: SyncMember, options?: SyncMembersCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<SyncMembersCreateOrUpdateResponse>, SyncMembersCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, parameters: SyncMember, options?: SyncMembersCreateOrUpdateOptionalParams): Promise<SyncMembersCreateOrUpdateResponse>;
    beginDelete(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, options?: SyncMembersDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, options?: SyncMembersDeleteOptionalParams): Promise<void>;
    beginRefreshMemberSchema(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, options?: SyncMembersRefreshMemberSchemaOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginRefreshMemberSchemaAndWait(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, options?: SyncMembersRefreshMemberSchemaOptionalParams): Promise<void>;
    beginUpdate(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, parameters: SyncMember, options?: SyncMembersUpdateOptionalParams): Promise<SimplePollerLike<OperationState<SyncMembersUpdateResponse>, SyncMembersUpdateResponse>>;
    beginUpdateAndWait(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, parameters: SyncMember, options?: SyncMembersUpdateOptionalParams): Promise<SyncMembersUpdateResponse>;
    get(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, options?: SyncMembersGetOptionalParams): Promise<SyncMembersGetResponse>;
    listBySyncGroup(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, options?: SyncMembersListBySyncGroupOptionalParams): PagedAsyncIterableIterator<SyncMember>;
    listMemberSchemas(resourceGroupName: string, serverName: string, databaseName: string, syncGroupName: string, syncMemberName: string, options?: SyncMembersListMemberSchemasOptionalParams): PagedAsyncIterableIterator<SyncFullSchemaProperties>;
}

// @public
export interface SyncMembersCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type SyncMembersCreateOrUpdateResponse = SyncMember;

// @public
export interface SyncMembersDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface SyncMembersGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SyncMembersGetResponse = SyncMember;

// @public
export interface SyncMembersListBySyncGroupNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SyncMembersListBySyncGroupNextResponse = SyncMemberListResult;

// @public
export interface SyncMembersListBySyncGroupOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SyncMembersListBySyncGroupResponse = SyncMemberListResult;

// @public
export interface SyncMembersListMemberSchemasNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SyncMembersListMemberSchemasNextResponse = SyncFullSchemaPropertiesListResult;

// @public
export interface SyncMembersListMemberSchemasOptionalParams extends coreClient.OperationOptions {
}

// @public
export type SyncMembersListMemberSchemasResponse = SyncFullSchemaPropertiesListResult;

// @public
export interface SyncMembersRefreshMemberSchemaOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type SyncMemberState = string;

// @public
export interface SyncMembersUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type SyncMembersUpdateResponse = SyncMember;

// @public
export interface SystemData {
    createdAt?: Date;
    createdBy?: string;
    createdByType?: CreatedByType;
    lastModifiedAt?: Date;
    lastModifiedBy?: string;
    lastModifiedByType?: CreatedByType;
}

// @public
export type TableTemporalType = string;

// @public
export interface TdeCertificate extends ProxyResource {
    certPassword?: string;
    privateBlob?: string;
}

// @public
export interface TdeCertificates {
    beginCreate(resourceGroupName: string, serverName: string, parameters: TdeCertificate, options?: TdeCertificatesCreateOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginCreateAndWait(resourceGroupName: string, serverName: string, parameters: TdeCertificate, options?: TdeCertificatesCreateOptionalParams): Promise<void>;
}

// @public
export interface TdeCertificatesCreateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface TimeZone extends ProxyResource {
    readonly displayName?: string;
    readonly timeZoneId?: string;
}

// @public
export interface TimeZoneListResult {
    readonly nextLink?: string;
    readonly value?: TimeZone[];
}

// @public
export interface TimeZones {
    get(locationName: string, timeZoneId: string, options?: TimeZonesGetOptionalParams): Promise<TimeZonesGetResponse>;
    listByLocation(locationName: string, options?: TimeZonesListByLocationOptionalParams): PagedAsyncIterableIterator<TimeZone>;
}

// @public
export interface TimeZonesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type TimeZonesGetResponse = TimeZone;

// @public
export interface TimeZonesListByLocationNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type TimeZonesListByLocationNextResponse = TimeZoneListResult;

// @public
export interface TimeZonesListByLocationOptionalParams extends coreClient.OperationOptions {
}

// @public
export type TimeZonesListByLocationResponse = TimeZoneListResult;

// @public (undocumented)
export interface TopQueries {
    readonly aggregationFunction?: string;
    readonly endTime?: string;
    readonly intervalType?: QueryTimeGrainType;
    readonly numberOfQueries?: number;
    readonly observationMetric?: string;
    queries?: QueryStatisticsProperties[];
    readonly startTime?: string;
}

// @public
export interface TopQueriesListResult {
    readonly nextLink?: string;
    readonly value?: TopQueries[];
}

// @public
export interface TrackedResource extends Resource {
    location: string;
    tags?: {
        [propertyName: string]: string;
    };
}

// @public
export type TransparentDataEncryptionName = string;

// @public
export interface TransparentDataEncryptions {
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, tdeName: TransparentDataEncryptionName, parameters: LogicalDatabaseTransparentDataEncryption, options?: TransparentDataEncryptionsCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<TransparentDataEncryptionsCreateOrUpdateResponse>, TransparentDataEncryptionsCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, databaseName: string, tdeName: TransparentDataEncryptionName, parameters: LogicalDatabaseTransparentDataEncryption, options?: TransparentDataEncryptionsCreateOrUpdateOptionalParams): Promise<TransparentDataEncryptionsCreateOrUpdateResponse>;
    get(resourceGroupName: string, serverName: string, databaseName: string, tdeName: TransparentDataEncryptionName, options?: TransparentDataEncryptionsGetOptionalParams): Promise<TransparentDataEncryptionsGetResponse>;
    listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: TransparentDataEncryptionsListByDatabaseOptionalParams): PagedAsyncIterableIterator<LogicalDatabaseTransparentDataEncryption>;
}

// @public
export interface TransparentDataEncryptionsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type TransparentDataEncryptionsCreateOrUpdateResponse = LogicalDatabaseTransparentDataEncryption;

// @public
export interface TransparentDataEncryptionsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type TransparentDataEncryptionsGetResponse = LogicalDatabaseTransparentDataEncryption;

// @public
export interface TransparentDataEncryptionsListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type TransparentDataEncryptionsListByDatabaseNextResponse = LogicalDatabaseTransparentDataEncryptionListResult;

// @public
export interface TransparentDataEncryptionsListByDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type TransparentDataEncryptionsListByDatabaseResponse = LogicalDatabaseTransparentDataEncryptionListResult;

// @public
export type TransparentDataEncryptionState = "Enabled" | "Disabled";

// @public
export type UnitDefinitionType = string;

// @public
export type UnitType = string;

// @public
export interface UpdateLongTermRetentionBackupParameters {
    requestedBackupStorageRedundancy?: BackupStorageRedundancy;
}

// @public
export interface UpdateVirtualClusterDnsServersOperation extends ProxyResource {
    readonly status?: DNSRefreshOperationStatus;
}

// @public (undocumented)
export interface UpsertManagedServerOperationParameters {
    // (undocumented)
    family?: string;
    // (undocumented)
    storageSizeInGB?: number;
    // (undocumented)
    tier?: string;
    // (undocumented)
    vCores?: number;
}

// @public (undocumented)
export interface UpsertManagedServerOperationStep {
    // (undocumented)
    name?: string;
    // (undocumented)
    order?: number;
    // (undocumented)
    status?: UpsertManagedServerOperationStepStatus;
}

// @public
export type UpsertManagedServerOperationStepStatus = string;

// @public
export interface Usage {
    readonly currentValue?: number;
    readonly id?: string;
    readonly limit?: number;
    readonly name?: Name;
    readonly requestedLimit?: number;
    readonly type?: string;
    readonly unit?: string;
}

// @public
export interface UsageListResult {
    readonly nextLink?: string;
    readonly value?: Usage[];
}

// @public
export interface Usages {
    listByInstancePool(resourceGroupName: string, instancePoolName: string, options?: UsagesListByInstancePoolOptionalParams): PagedAsyncIterableIterator<Usage>;
}

// @public
export interface UsagesListByInstancePoolNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type UsagesListByInstancePoolNextResponse = UsageListResult;

// @public
export interface UsagesListByInstancePoolOptionalParams extends coreClient.OperationOptions {
    expandChildren?: boolean;
}

// @public
export type UsagesListByInstancePoolResponse = UsageListResult;

// @public
export interface UserIdentity {
    readonly clientId?: string;
    readonly principalId?: string;
}

// @public
export interface VaRule {
    readonly benchmarkReferences?: BenchmarkReference[];
    readonly category?: string;
    readonly description?: string;
    readonly queryCheck?: QueryCheck;
    readonly rationale?: string;
    readonly ruleId?: string;
    readonly ruleType?: RuleType;
    readonly severity?: RuleSeverity;
    readonly title?: string;
}

// @public
export interface VirtualCluster extends TrackedResource {
    readonly childResources?: string[];
    readonly subnetId?: string;
    version?: string;
}

// @public
export interface VirtualClusterListResult {
    readonly nextLink?: string;
    readonly value?: VirtualCluster[];
}

// @public
export interface VirtualClusters {
    beginDelete(resourceGroupName: string, virtualClusterName: string, options?: VirtualClustersDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, virtualClusterName: string, options?: VirtualClustersDeleteOptionalParams): Promise<void>;
    beginUpdate(resourceGroupName: string, virtualClusterName: string, parameters: VirtualClusterUpdate, options?: VirtualClustersUpdateOptionalParams): Promise<SimplePollerLike<OperationState<VirtualClustersUpdateResponse>, VirtualClustersUpdateResponse>>;
    beginUpdateAndWait(resourceGroupName: string, virtualClusterName: string, parameters: VirtualClusterUpdate, options?: VirtualClustersUpdateOptionalParams): Promise<VirtualClustersUpdateResponse>;
    beginUpdateDnsServers(resourceGroupName: string, virtualClusterName: string, options?: VirtualClustersUpdateDnsServersOptionalParams): Promise<SimplePollerLike<OperationState<VirtualClustersUpdateDnsServersResponse>, VirtualClustersUpdateDnsServersResponse>>;
    beginUpdateDnsServersAndWait(resourceGroupName: string, virtualClusterName: string, options?: VirtualClustersUpdateDnsServersOptionalParams): Promise<VirtualClustersUpdateDnsServersResponse>;
    get(resourceGroupName: string, virtualClusterName: string, options?: VirtualClustersGetOptionalParams): Promise<VirtualClustersGetResponse>;
    list(options?: VirtualClustersListOptionalParams): PagedAsyncIterableIterator<VirtualCluster>;
    listByResourceGroup(resourceGroupName: string, options?: VirtualClustersListByResourceGroupOptionalParams): PagedAsyncIterableIterator<VirtualCluster>;
}

// @public
export interface VirtualClustersDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface VirtualClustersGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type VirtualClustersGetResponse = VirtualCluster;

// @public
export interface VirtualClustersListByResourceGroupNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type VirtualClustersListByResourceGroupNextResponse = VirtualClusterListResult;

// @public
export interface VirtualClustersListByResourceGroupOptionalParams extends coreClient.OperationOptions {
}

// @public
export type VirtualClustersListByResourceGroupResponse = VirtualClusterListResult;

// @public
export interface VirtualClustersListNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type VirtualClustersListNextResponse = VirtualClusterListResult;

// @public
export interface VirtualClustersListOptionalParams extends coreClient.OperationOptions {
}

// @public
export type VirtualClustersListResponse = VirtualClusterListResult;

// @public
export interface VirtualClustersUpdateDnsServersOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type VirtualClustersUpdateDnsServersResponse = UpdateVirtualClusterDnsServersOperation;

// @public
export interface VirtualClustersUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type VirtualClustersUpdateResponse = VirtualCluster;

// @public
export interface VirtualClusterUpdate {
    readonly childResources?: string[];
    readonly subnetId?: string;
    tags?: {
        [propertyName: string]: string;
    };
    version?: string;
}

// @public
export interface VirtualNetworkRule extends ProxyResource {
    ignoreMissingVnetServiceEndpoint?: boolean;
    readonly state?: VirtualNetworkRuleState;
    virtualNetworkSubnetId?: string;
}

// @public
export interface VirtualNetworkRuleListResult {
    readonly nextLink?: string;
    readonly value?: VirtualNetworkRule[];
}

// @public
export interface VirtualNetworkRules {
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, parameters: VirtualNetworkRule, options?: VirtualNetworkRulesCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<VirtualNetworkRulesCreateOrUpdateResponse>, VirtualNetworkRulesCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, parameters: VirtualNetworkRule, options?: VirtualNetworkRulesCreateOrUpdateOptionalParams): Promise<VirtualNetworkRulesCreateOrUpdateResponse>;
    beginDelete(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, options?: VirtualNetworkRulesDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, options?: VirtualNetworkRulesDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, serverName: string, virtualNetworkRuleName: string, options?: VirtualNetworkRulesGetOptionalParams): Promise<VirtualNetworkRulesGetResponse>;
    listByServer(resourceGroupName: string, serverName: string, options?: VirtualNetworkRulesListByServerOptionalParams): PagedAsyncIterableIterator<VirtualNetworkRule>;
}

// @public
export interface VirtualNetworkRulesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type VirtualNetworkRulesCreateOrUpdateResponse = VirtualNetworkRule;

// @public
export interface VirtualNetworkRulesDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface VirtualNetworkRulesGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type VirtualNetworkRulesGetResponse = VirtualNetworkRule;

// @public
export interface VirtualNetworkRulesListByServerNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type VirtualNetworkRulesListByServerNextResponse = VirtualNetworkRuleListResult;

// @public
export interface VirtualNetworkRulesListByServerOptionalParams extends coreClient.OperationOptions {
}

// @public
export type VirtualNetworkRulesListByServerResponse = VirtualNetworkRuleListResult;

// @public
export type VirtualNetworkRuleState = string;

// @public
export type VulnerabilityAssessmentName = string;

// @public
export type VulnerabilityAssessmentPolicyBaselineName = "master" | "default";

// @public
export interface VulnerabilityAssessmentRecurringScansProperties {
    emails?: string[];
    emailSubscriptionAdmins?: boolean;
    isEnabled?: boolean;
}

// @public
export interface VulnerabilityAssessmentScanError {
    readonly code?: string;
    readonly message?: string;
}

// @public
export interface VulnerabilityAssessmentScanRecord extends ProxyResource {
    readonly endTime?: Date;
    readonly errors?: VulnerabilityAssessmentScanError[];
    readonly numberOfFailedSecurityChecks?: number;
    readonly scanId?: string;
    readonly startTime?: Date;
    readonly state?: VulnerabilityAssessmentScanState;
    readonly storageContainerPath?: string;
    readonly triggerType?: VulnerabilityAssessmentScanTriggerType;
}

// @public
export interface VulnerabilityAssessmentScanRecordListResult {
    readonly nextLink?: string;
    readonly value?: VulnerabilityAssessmentScanRecord[];
}

// @public
export type VulnerabilityAssessmentScanState = string;

// @public
export type VulnerabilityAssessmentScanTriggerType = string;

// @public
export interface WorkloadClassifier extends ProxyResource {
    context?: string;
    endTime?: string;
    importance?: string;
    label?: string;
    memberName?: string;
    startTime?: string;
}

// @public
export interface WorkloadClassifierListResult {
    readonly nextLink?: string;
    readonly value?: WorkloadClassifier[];
}

// @public
export interface WorkloadClassifiers {
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, workloadGroupName: string, workloadClassifierName: string, parameters: WorkloadClassifier, options?: WorkloadClassifiersCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<WorkloadClassifiersCreateOrUpdateResponse>, WorkloadClassifiersCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, databaseName: string, workloadGroupName: string, workloadClassifierName: string, parameters: WorkloadClassifier, options?: WorkloadClassifiersCreateOrUpdateOptionalParams): Promise<WorkloadClassifiersCreateOrUpdateResponse>;
    beginDelete(resourceGroupName: string, serverName: string, databaseName: string, workloadGroupName: string, workloadClassifierName: string, options?: WorkloadClassifiersDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, serverName: string, databaseName: string, workloadGroupName: string, workloadClassifierName: string, options?: WorkloadClassifiersDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, serverName: string, databaseName: string, workloadGroupName: string, workloadClassifierName: string, options?: WorkloadClassifiersGetOptionalParams): Promise<WorkloadClassifiersGetResponse>;
    listByWorkloadGroup(resourceGroupName: string, serverName: string, databaseName: string, workloadGroupName: string, options?: WorkloadClassifiersListByWorkloadGroupOptionalParams): PagedAsyncIterableIterator<WorkloadClassifier>;
}

// @public
export interface WorkloadClassifiersCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type WorkloadClassifiersCreateOrUpdateResponse = WorkloadClassifier;

// @public
export interface WorkloadClassifiersDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface WorkloadClassifiersGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type WorkloadClassifiersGetResponse = WorkloadClassifier;

// @public
export interface WorkloadClassifiersListByWorkloadGroupNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type WorkloadClassifiersListByWorkloadGroupNextResponse = WorkloadClassifierListResult;

// @public
export interface WorkloadClassifiersListByWorkloadGroupOptionalParams extends coreClient.OperationOptions {
}

// @public
export type WorkloadClassifiersListByWorkloadGroupResponse = WorkloadClassifierListResult;

// @public
export interface WorkloadGroup extends ProxyResource {
    importance?: string;
    maxResourcePercent?: number;
    maxResourcePercentPerRequest?: number;
    minResourcePercent?: number;
    minResourcePercentPerRequest?: number;
    queryExecutionTimeout?: number;
}

// @public
export interface WorkloadGroupListResult {
    readonly nextLink?: string;
    readonly value?: WorkloadGroup[];
}

// @public
export interface WorkloadGroups {
    beginCreateOrUpdate(resourceGroupName: string, serverName: string, databaseName: string, workloadGroupName: string, parameters: WorkloadGroup, options?: WorkloadGroupsCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<WorkloadGroupsCreateOrUpdateResponse>, WorkloadGroupsCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, serverName: string, databaseName: string, workloadGroupName: string, parameters: WorkloadGroup, options?: WorkloadGroupsCreateOrUpdateOptionalParams): Promise<WorkloadGroupsCreateOrUpdateResponse>;
    beginDelete(resourceGroupName: string, serverName: string, databaseName: string, workloadGroupName: string, options?: WorkloadGroupsDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, serverName: string, databaseName: string, workloadGroupName: string, options?: WorkloadGroupsDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, serverName: string, databaseName: string, workloadGroupName: string, options?: WorkloadGroupsGetOptionalParams): Promise<WorkloadGroupsGetResponse>;
    listByDatabase(resourceGroupName: string, serverName: string, databaseName: string, options?: WorkloadGroupsListByDatabaseOptionalParams): PagedAsyncIterableIterator<WorkloadGroup>;
}

// @public
export interface WorkloadGroupsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export type WorkloadGroupsCreateOrUpdateResponse = WorkloadGroup;

// @public
export interface WorkloadGroupsDeleteOptionalParams extends coreClient.OperationOptions {
    resumeFrom?: string;
    updateIntervalInMs?: number;
}

// @public
export interface WorkloadGroupsGetOptionalParams extends coreClient.OperationOptions {
}

// @public
export type WorkloadGroupsGetResponse = WorkloadGroup;

// @public
export interface WorkloadGroupsListByDatabaseNextOptionalParams extends coreClient.OperationOptions {
}

// @public
export type WorkloadGroupsListByDatabaseNextResponse = WorkloadGroupListResult;

// @public
export interface WorkloadGroupsListByDatabaseOptionalParams extends coreClient.OperationOptions {
}

// @public
export type WorkloadGroupsListByDatabaseResponse = WorkloadGroupListResult;

// (No @packageDocumentation comment for this package)

```
