import * as coreClient from "@azure/core-client";
/** Billing information related properties of a server. */
export interface Sku {
    /** The name of the sku, e.g. Standard_D32s_v3. */
    name: string;
    /** The tier of the particular SKU, e.g. GeneralPurpose. */
    tier: SkuTier;
}
/** Storage Profile properties of a server */
export interface Storage {
    /** Max storage size allowed for a server. */
    storageSizeGB?: number;
    /** Storage IOPS for a server. */
    iops?: number;
    /** Enable Storage Auto Grow or not. */
    autoGrow?: EnableStatusEnum;
    /**
     * The sku name of the server storage.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly storageSku?: string;
}
/** Storage Profile properties of a server */
export interface Backup {
    /** Backup retention days for the server. */
    backupRetentionDays?: number;
    /** Whether or not geo redundant backup is enabled. */
    geoRedundantBackup?: EnableStatusEnum;
    /**
     * Earliest restore point creation time (ISO8601 format)
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly earliestRestoreDate?: Date;
}
/** Network related properties of a server */
export interface HighAvailability {
    /** High availability mode for a server. */
    mode?: HighAvailabilityMode;
    /**
     * The state of server high availability.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly state?: HighAvailabilityState;
    /** Availability zone of the standby server. */
    standbyAvailabilityZone?: string;
}
/** Network related properties of a server */
export interface Network {
    /**
     * Whether or not public network access is allowed for this server. Value is 'Disabled' when server has VNet integration.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly publicNetworkAccess?: EnableStatusEnum;
    /** Delegated subnet resource id used to setup vnet for a server. */
    delegatedSubnetResourceId?: string;
    /** Private DNS zone resource id. */
    privateDnsZoneResourceId?: string;
}
/** Maintenance window of a server. */
export interface MaintenanceWindow {
    /** indicates whether custom window is enabled or disabled */
    customWindow?: string;
    /** start hour for maintenance window */
    startHour?: number;
    /** start minute for maintenance window */
    startMinute?: number;
    /** day of week for maintenance window */
    dayOfWeek?: number;
}
/** Metadata pertaining to creation and last modification of the resource. */
export interface SystemData {
    /** The identity that created the resource. */
    createdBy?: string;
    /** The type of identity that created the resource. */
    createdByType?: CreatedByType;
    /** The timestamp of resource creation (UTC). */
    createdAt?: Date;
    /** The identity that last modified the resource. */
    lastModifiedBy?: string;
    /** The type of identity that last modified the resource. */
    lastModifiedByType?: CreatedByType;
    /** The timestamp of resource last modification (UTC) */
    lastModifiedAt?: Date;
}
/** Common fields that are returned in the response for all Azure Resource Manager resources */
export interface Resource {
    /**
     * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly id?: string;
    /**
     * The name of the resource
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly name?: string;
    /**
     * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly type?: string;
}
/** An error response from the Batch service. */
export interface CloudError {
    /** The resource management error response. */
    error?: ErrorResponse;
}
/** Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.) */
export interface ErrorResponse {
    /**
     * The error code.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly code?: string;
    /**
     * The error message.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly message?: string;
    /**
     * The error target.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly target?: string;
    /**
     * The error details.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly details?: ErrorResponse[];
    /**
     * The error additional info.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly additionalInfo?: ErrorAdditionalInfo[];
}
/** The resource management error additional info. */
export interface ErrorAdditionalInfo {
    /**
     * The additional info type.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly type?: string;
    /**
     * The additional info.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly info?: Record<string, unknown>;
}
/** Parameters allowed to update for a server. */
export interface ServerForUpdate {
    /** The SKU (pricing tier) of the server. */
    sku?: Sku;
    /** Application-specific metadata in the form of key-value pairs. */
    tags?: {
        [propertyName: string]: string;
    };
    /**
     * The password of the administrator login.
     * This value contains a credential. Consider obscuring before showing to users
     */
    administratorLoginPassword?: string;
    /** Storage related properties of a server. */
    storage?: Storage;
    /** Backup related properties of a server. */
    backup?: Backup;
    /** High availability related properties of a server. */
    highAvailability?: HighAvailability;
    /** Maintenance window of a server. */
    maintenanceWindow?: MaintenanceWindow;
    /** The replication role of the server. */
    replicationRole?: ReplicationRole;
}
/** A list of servers. */
export interface ServerListResult {
    /** The list of servers */
    value?: Server[];
    /** The link used to get the next page of operations. */
    nextLink?: string;
}
/** Server restart parameters. */
export interface ServerRestartParameter {
    /** Whether or not failover to standby server when restarting a server with high availability enabled. */
    restartWithFailover?: EnableStatusEnum;
    /** The maximum allowed failover time in seconds. */
    maxFailoverSeconds?: number;
}
/** A list of server backups. */
export interface ServerBackupListResult {
    /** The list of backups of a server. */
    value?: ServerBackup[];
    /** The link used to get the next page of operations. */
    nextLink?: string;
}
/** A list of firewall rules. */
export interface FirewallRuleListResult {
    /** The list of firewall rules in a server. */
    value?: FirewallRule[];
    /** The link used to get the next page of operations. */
    nextLink?: string;
}
/** A List of databases. */
export interface DatabaseListResult {
    /** The list of databases housed in a server */
    value?: Database[];
    /** The link used to get the next page of operations. */
    nextLink?: string;
}
/** A list of server configurations to update. */
export interface ConfigurationListForBatchUpdate {
    /** The list of server configurations. */
    value?: ConfigurationForBatchUpdate[];
}
/** Represents a Configuration. */
export interface ConfigurationForBatchUpdate {
    /** Name of the configuration. */
    name?: string;
    /** Value of the configuration. */
    value?: string;
    /** Source of the configuration. */
    source?: string;
}
/** A list of server configurations. */
export interface ConfigurationListResult {
    /** The list of server configurations. */
    value?: Configuration[];
    /** The link used to get the next page of operations. */
    nextLink?: string;
}
/** location capability */
export interface CapabilitiesListResult {
    /**
     * A list of supported capabilities.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly value?: CapabilityProperties[];
    /**
     * Link to retrieve next page of results.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly nextLink?: string;
}
/** Location capabilities. */
export interface CapabilityProperties {
    /**
     * zone name
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly zone?: string;
    /**
     * Supported high availability mode
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly supportedHAMode?: string[];
    /**
     * supported geo backup regions
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly supportedGeoBackupRegions?: string[];
    /**
     * A list of supported flexible server editions.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly supportedFlexibleServerEditions?: ServerEditionCapability[];
}
/** Server edition capabilities. */
export interface ServerEditionCapability {
    /**
     * Server edition name
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly name?: string;
    /**
     * A list of supported storage editions
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly supportedStorageEditions?: StorageEditionCapability[];
    /**
     * A list of supported server versions.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly supportedServerVersions?: ServerVersionCapability[];
}
/** storage edition capability */
export interface StorageEditionCapability {
    /**
     * storage edition name
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly name?: string;
    /**
     * The minimal supported storage size.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly minStorageSize?: number;
    /**
     * The maximum supported storage size.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly maxStorageSize?: number;
    /**
     * Minimal backup retention days
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly minBackupRetentionDays?: number;
    /**
     * Maximum backup retention days
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly maxBackupRetentionDays?: number;
}
/** Server version capabilities. */
export interface ServerVersionCapability {
    /**
     * server version
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly name?: string;
    /**
     * A list of supported Skus
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly supportedSkus?: SkuCapability[];
}
/** Sku capability */
export interface SkuCapability {
    /**
     * vCore name
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly name?: string;
    /**
     * supported vCores
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly vCores?: number;
    /**
     * supported IOPS
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly supportedIops?: number;
    /**
     * supported memory per vCore in MB
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly supportedMemoryPerVCoreMB?: number;
}
/** Virtual network subnet usage parameter */
export interface VirtualNetworkSubnetUsageParameter {
    /** Virtual network resource id. */
    virtualNetworkResourceId?: string;
}
/** Virtual network subnet usage data. */
export interface VirtualNetworkSubnetUsageResult {
    /**
     * A list of delegated subnet usage
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly delegatedSubnetsUsage?: DelegatedSubnetUsage[];
}
/** Delegated subnet usage data. */
export interface DelegatedSubnetUsage {
    /**
     * name of the subnet
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly subnetName?: string;
    /**
     * Number of used delegated subnets
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly usage?: number;
}
/** Request from client to check resource name availability. */
export interface NameAvailabilityRequest {
    /** Resource name to verify. */
    name: string;
    /** Resource type used for verification. */
    type?: string;
}
/** Represents a resource name availability. */
export interface NameAvailability {
    /** Error Message. */
    message?: string;
    /** Indicates whether the resource name is available. */
    nameAvailable?: boolean;
    /** Reason for name being unavailable. */
    reason?: string;
}
/** The response of get private dns zone suffix. */
export interface GetPrivateDnsZoneSuffixResponse {
    /** Represents the private DNS zone suffix. */
    privateDnsZoneSuffix?: string;
}
/** A list of resource provider operations. */
export interface OperationListResult {
    /** Collection of available operation details */
    value?: Operation[];
    /** URL client should use to fetch the next page (per server side paging). */
    nextLink?: string;
}
/** REST API operation definition. */
export interface Operation {
    /** The name of the operation being performed on this particular object. */
    name?: string;
    /** The localized display information for this particular operation or action. */
    display?: OperationDisplay;
    /** The intended executor of the operation. */
    origin?: string;
    /** Additional descriptions for the operation. */
    properties?: {
        [propertyName: string]: Record<string, unknown>;
    };
}
/** Display metadata associated with the operation. */
export interface OperationDisplay {
    /** Operation resource provider name. */
    provider?: string;
    /** Resource on which the operation is performed. */
    resource?: string;
    /** Localized friendly name for the operation. */
    operation?: string;
    /** Operation description. */
    description?: string;
}
/** The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location' */
export interface TrackedResource extends Resource {
    /** Resource tags. */
    tags?: {
        [propertyName: string]: string;
    };
    /** The geo-location where the resource lives */
    location: string;
}
/** The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location */
export interface ProxyResource extends Resource {
}
/** Represents a server. */
export interface Server extends TrackedResource {
    /** The SKU (pricing tier) of the server. */
    sku?: Sku;
    /**
     * The system metadata relating to this resource.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly systemData?: SystemData;
    /** The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation). */
    administratorLogin?: string;
    /**
     * The password of the administrator login (required for server creation).
     * This value contains a credential. Consider obscuring before showing to users
     */
    administratorLoginPassword?: string;
    /** Server version. */
    version?: ServerVersion;
    /** availability Zone information of the server. */
    availabilityZone?: string;
    /** The mode to create a new MySQL server. */
    createMode?: CreateMode;
    /** The source MySQL server id. */
    sourceServerResourceId?: string;
    /** Restore point creation time (ISO8601 format), specifying the time to restore from. */
    restorePointInTime?: Date;
    /** The replication role. */
    replicationRole?: ReplicationRole;
    /**
     * The maximum number of replicas that a primary server can have.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly replicaCapacity?: number;
    /**
     * The state of a server.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly state?: ServerState;
    /**
     * The fully qualified domain name of a server.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly fullyQualifiedDomainName?: string;
    /** Storage related properties of a server. */
    storage?: Storage;
    /** Backup related properties of a server. */
    backup?: Backup;
    /** High availability related properties of a server. */
    highAvailability?: HighAvailability;
    /** Network related properties of a server. */
    network?: Network;
    /** Maintenance window of a server. */
    maintenanceWindow?: MaintenanceWindow;
}
/** Server backup properties */
export interface ServerBackup extends ProxyResource {
    /**
     * The system metadata relating to this resource.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly systemData?: SystemData;
    /** Backup type. */
    backupType?: string;
    /** Backup completed time (ISO8601 format). */
    completedTime?: Date;
    /** Backup source */
    source?: string;
}
/** Represents a server firewall rule. */
export interface FirewallRule extends ProxyResource {
    /**
     * The system metadata relating to this resource.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly systemData?: SystemData;
    /** The start IP address of the server firewall rule. Must be IPv4 format. */
    startIpAddress: string;
    /** The end IP address of the server firewall rule. Must be IPv4 format. */
    endIpAddress: string;
}
/** Represents a Database. */
export interface Database extends ProxyResource {
    /**
     * The system metadata relating to this resource.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly systemData?: SystemData;
    /** The charset of the database. */
    charset?: string;
    /** The collation of the database. */
    collation?: string;
}
/** Represents a Configuration. */
export interface Configuration extends ProxyResource {
    /**
     * The system metadata relating to this resource.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly systemData?: SystemData;
    /** Value of the configuration. */
    value?: string;
    /**
     * Description of the configuration.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly description?: string;
    /**
     * Default value of the configuration.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly defaultValue?: string;
    /**
     * Data type of the configuration.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly dataType?: string;
    /**
     * Allowed values of the configuration.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly allowedValues?: string;
    /** Source of the configuration. */
    source?: ConfigurationSource;
    /**
     * If is the configuration read only.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly isReadOnly?: IsReadOnly;
    /**
     * If is the configuration pending restart or not.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly isConfigPendingRestart?: IsConfigPendingRestart;
    /**
     * If is the configuration dynamic.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly isDynamicConfig?: IsDynamicConfig;
}
/** Known values of {@link SkuTier} that the service accepts. */
export declare enum KnownSkuTier {
    /** Burstable */
    Burstable = "Burstable",
    /** GeneralPurpose */
    GeneralPurpose = "GeneralPurpose",
    /** MemoryOptimized */
    MemoryOptimized = "MemoryOptimized"
}
/**
 * Defines values for SkuTier. \
 * {@link KnownSkuTier} can be used interchangeably with SkuTier,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **Burstable** \
 * **GeneralPurpose** \
 * **MemoryOptimized**
 */
export declare type SkuTier = string;
/** Known values of {@link ServerVersion} that the service accepts. */
export declare enum KnownServerVersion {
    /** Five7 */
    Five7 = "5.7",
    /** Eight021 */
    Eight021 = "8.0.21"
}
/**
 * Defines values for ServerVersion. \
 * {@link KnownServerVersion} can be used interchangeably with ServerVersion,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **5.7** \
 * **8.0.21**
 */
export declare type ServerVersion = string;
/** Known values of {@link CreateMode} that the service accepts. */
export declare enum KnownCreateMode {
    /** Default */
    Default = "Default",
    /** PointInTimeRestore */
    PointInTimeRestore = "PointInTimeRestore",
    /** Replica */
    Replica = "Replica",
    /** GeoRestore */
    GeoRestore = "GeoRestore"
}
/**
 * Defines values for CreateMode. \
 * {@link KnownCreateMode} can be used interchangeably with CreateMode,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **Default** \
 * **PointInTimeRestore** \
 * **Replica** \
 * **GeoRestore**
 */
export declare type CreateMode = string;
/** Known values of {@link ReplicationRole} that the service accepts. */
export declare enum KnownReplicationRole {
    /** None */
    None = "None",
    /** Source */
    Source = "Source",
    /** Replica */
    Replica = "Replica"
}
/**
 * Defines values for ReplicationRole. \
 * {@link KnownReplicationRole} can be used interchangeably with ReplicationRole,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **None** \
 * **Source** \
 * **Replica**
 */
export declare type ReplicationRole = string;
/** Known values of {@link ServerState} that the service accepts. */
export declare enum KnownServerState {
    /** Ready */
    Ready = "Ready",
    /** Dropping */
    Dropping = "Dropping",
    /** Disabled */
    Disabled = "Disabled",
    /** Starting */
    Starting = "Starting",
    /** Stopping */
    Stopping = "Stopping",
    /** Stopped */
    Stopped = "Stopped",
    /** Updating */
    Updating = "Updating"
}
/**
 * Defines values for ServerState. \
 * {@link KnownServerState} can be used interchangeably with ServerState,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **Ready** \
 * **Dropping** \
 * **Disabled** \
 * **Starting** \
 * **Stopping** \
 * **Stopped** \
 * **Updating**
 */
export declare type ServerState = string;
/** Known values of {@link EnableStatusEnum} that the service accepts. */
export declare enum KnownEnableStatusEnum {
    /** Enabled */
    Enabled = "Enabled",
    /** Disabled */
    Disabled = "Disabled"
}
/**
 * Defines values for EnableStatusEnum. \
 * {@link KnownEnableStatusEnum} can be used interchangeably with EnableStatusEnum,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **Enabled** \
 * **Disabled**
 */
export declare type EnableStatusEnum = string;
/** Known values of {@link HighAvailabilityMode} that the service accepts. */
export declare enum KnownHighAvailabilityMode {
    /** Disabled */
    Disabled = "Disabled",
    /** ZoneRedundant */
    ZoneRedundant = "ZoneRedundant",
    /** SameZone */
    SameZone = "SameZone"
}
/**
 * Defines values for HighAvailabilityMode. \
 * {@link KnownHighAvailabilityMode} can be used interchangeably with HighAvailabilityMode,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **Disabled** \
 * **ZoneRedundant** \
 * **SameZone**
 */
export declare type HighAvailabilityMode = string;
/** Known values of {@link HighAvailabilityState} that the service accepts. */
export declare enum KnownHighAvailabilityState {
    /** NotEnabled */
    NotEnabled = "NotEnabled",
    /** CreatingStandby */
    CreatingStandby = "CreatingStandby",
    /** Healthy */
    Healthy = "Healthy",
    /** FailingOver */
    FailingOver = "FailingOver",
    /** RemovingStandby */
    RemovingStandby = "RemovingStandby"
}
/**
 * Defines values for HighAvailabilityState. \
 * {@link KnownHighAvailabilityState} can be used interchangeably with HighAvailabilityState,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **NotEnabled** \
 * **CreatingStandby** \
 * **Healthy** \
 * **FailingOver** \
 * **RemovingStandby**
 */
export declare type HighAvailabilityState = string;
/** Known values of {@link CreatedByType} that the service accepts. */
export declare enum KnownCreatedByType {
    /** User */
    User = "User",
    /** Application */
    Application = "Application",
    /** ManagedIdentity */
    ManagedIdentity = "ManagedIdentity",
    /** Key */
    Key = "Key"
}
/**
 * Defines values for CreatedByType. \
 * {@link KnownCreatedByType} can be used interchangeably with CreatedByType,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **User** \
 * **Application** \
 * **ManagedIdentity** \
 * **Key**
 */
export declare type CreatedByType = string;
/** Known values of {@link ConfigurationSource} that the service accepts. */
export declare enum KnownConfigurationSource {
    /** SystemDefault */
    SystemDefault = "system-default",
    /** UserOverride */
    UserOverride = "user-override"
}
/**
 * Defines values for ConfigurationSource. \
 * {@link KnownConfigurationSource} can be used interchangeably with ConfigurationSource,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **system-default** \
 * **user-override**
 */
export declare type ConfigurationSource = string;
/** Known values of {@link IsReadOnly} that the service accepts. */
export declare enum KnownIsReadOnly {
    /** True */
    True = "True",
    /** False */
    False = "False"
}
/**
 * Defines values for IsReadOnly. \
 * {@link KnownIsReadOnly} can be used interchangeably with IsReadOnly,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **True** \
 * **False**
 */
export declare type IsReadOnly = string;
/** Known values of {@link IsConfigPendingRestart} that the service accepts. */
export declare enum KnownIsConfigPendingRestart {
    /** True */
    True = "True",
    /** False */
    False = "False"
}
/**
 * Defines values for IsConfigPendingRestart. \
 * {@link KnownIsConfigPendingRestart} can be used interchangeably with IsConfigPendingRestart,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **True** \
 * **False**
 */
export declare type IsConfigPendingRestart = string;
/** Known values of {@link IsDynamicConfig} that the service accepts. */
export declare enum KnownIsDynamicConfig {
    /** True */
    True = "True",
    /** False */
    False = "False"
}
/**
 * Defines values for IsDynamicConfig. \
 * {@link KnownIsDynamicConfig} can be used interchangeably with IsDynamicConfig,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **True** \
 * **False**
 */
export declare type IsDynamicConfig = string;
/** Optional parameters. */
export interface ServersCreateOptionalParams extends coreClient.OperationOptions {
    /** Delay to wait until next poll, in milliseconds. */
    updateIntervalInMs?: number;
    /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
    resumeFrom?: string;
}
/** Contains response data for the create operation. */
export declare type ServersCreateResponse = Server;
/** Optional parameters. */
export interface ServersUpdateOptionalParams extends coreClient.OperationOptions {
    /** Delay to wait until next poll, in milliseconds. */
    updateIntervalInMs?: number;
    /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
    resumeFrom?: string;
}
/** Contains response data for the update operation. */
export declare type ServersUpdateResponse = Server;
/** Optional parameters. */
export interface ServersDeleteOptionalParams extends coreClient.OperationOptions {
    /** Delay to wait until next poll, in milliseconds. */
    updateIntervalInMs?: number;
    /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
    resumeFrom?: string;
}
/** Optional parameters. */
export interface ServersGetOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the get operation. */
export declare type ServersGetResponse = Server;
/** Optional parameters. */
export interface ServersListByResourceGroupOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the listByResourceGroup operation. */
export declare type ServersListByResourceGroupResponse = ServerListResult;
/** Optional parameters. */
export interface ServersListOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the list operation. */
export declare type ServersListResponse = ServerListResult;
/** Optional parameters. */
export interface ServersFailoverOptionalParams extends coreClient.OperationOptions {
    /** Delay to wait until next poll, in milliseconds. */
    updateIntervalInMs?: number;
    /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
    resumeFrom?: string;
}
/** Optional parameters. */
export interface ServersRestartOptionalParams extends coreClient.OperationOptions {
    /** Delay to wait until next poll, in milliseconds. */
    updateIntervalInMs?: number;
    /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
    resumeFrom?: string;
}
/** Optional parameters. */
export interface ServersStartOptionalParams extends coreClient.OperationOptions {
    /** Delay to wait until next poll, in milliseconds. */
    updateIntervalInMs?: number;
    /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
    resumeFrom?: string;
}
/** Optional parameters. */
export interface ServersStopOptionalParams extends coreClient.OperationOptions {
    /** Delay to wait until next poll, in milliseconds. */
    updateIntervalInMs?: number;
    /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
    resumeFrom?: string;
}
/** Optional parameters. */
export interface ServersListByResourceGroupNextOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the listByResourceGroupNext operation. */
export declare type ServersListByResourceGroupNextResponse = ServerListResult;
/** Optional parameters. */
export interface ServersListNextOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the listNext operation. */
export declare type ServersListNextResponse = ServerListResult;
/** Optional parameters. */
export interface ReplicasListByServerOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the listByServer operation. */
export declare type ReplicasListByServerResponse = ServerListResult;
/** Optional parameters. */
export interface ReplicasListByServerNextOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the listByServerNext operation. */
export declare type ReplicasListByServerNextResponse = ServerListResult;
/** Optional parameters. */
export interface BackupsGetOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the get operation. */
export declare type BackupsGetResponse = ServerBackup;
/** Optional parameters. */
export interface BackupsListByServerOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the listByServer operation. */
export declare type BackupsListByServerResponse = ServerBackupListResult;
/** Optional parameters. */
export interface BackupsListByServerNextOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the listByServerNext operation. */
export declare type BackupsListByServerNextResponse = ServerBackupListResult;
/** Optional parameters. */
export interface FirewallRulesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    /** Delay to wait until next poll, in milliseconds. */
    updateIntervalInMs?: number;
    /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
    resumeFrom?: string;
}
/** Contains response data for the createOrUpdate operation. */
export declare type FirewallRulesCreateOrUpdateResponse = FirewallRule;
/** Optional parameters. */
export interface FirewallRulesDeleteOptionalParams extends coreClient.OperationOptions {
    /** Delay to wait until next poll, in milliseconds. */
    updateIntervalInMs?: number;
    /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
    resumeFrom?: string;
}
/** Optional parameters. */
export interface FirewallRulesGetOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the get operation. */
export declare type FirewallRulesGetResponse = FirewallRule;
/** Optional parameters. */
export interface FirewallRulesListByServerOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the listByServer operation. */
export declare type FirewallRulesListByServerResponse = FirewallRuleListResult;
/** Optional parameters. */
export interface FirewallRulesListByServerNextOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the listByServerNext operation. */
export declare type FirewallRulesListByServerNextResponse = FirewallRuleListResult;
/** Optional parameters. */
export interface DatabasesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {
    /** Delay to wait until next poll, in milliseconds. */
    updateIntervalInMs?: number;
    /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
    resumeFrom?: string;
}
/** Contains response data for the createOrUpdate operation. */
export declare type DatabasesCreateOrUpdateResponse = Database;
/** Optional parameters. */
export interface DatabasesDeleteOptionalParams extends coreClient.OperationOptions {
    /** Delay to wait until next poll, in milliseconds. */
    updateIntervalInMs?: number;
    /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
    resumeFrom?: string;
}
/** Optional parameters. */
export interface DatabasesGetOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the get operation. */
export declare type DatabasesGetResponse = Database;
/** Optional parameters. */
export interface DatabasesListByServerOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the listByServer operation. */
export declare type DatabasesListByServerResponse = DatabaseListResult;
/** Optional parameters. */
export interface DatabasesListByServerNextOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the listByServerNext operation. */
export declare type DatabasesListByServerNextResponse = DatabaseListResult;
/** Optional parameters. */
export interface ConfigurationsUpdateOptionalParams extends coreClient.OperationOptions {
    /** Delay to wait until next poll, in milliseconds. */
    updateIntervalInMs?: number;
    /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
    resumeFrom?: string;
}
/** Contains response data for the update operation. */
export declare type ConfigurationsUpdateResponse = Configuration;
/** Optional parameters. */
export interface ConfigurationsGetOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the get operation. */
export declare type ConfigurationsGetResponse = Configuration;
/** Optional parameters. */
export interface ConfigurationsBatchUpdateOptionalParams extends coreClient.OperationOptions {
    /** Delay to wait until next poll, in milliseconds. */
    updateIntervalInMs?: number;
    /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
    resumeFrom?: string;
}
/** Contains response data for the batchUpdate operation. */
export declare type ConfigurationsBatchUpdateResponse = ConfigurationListResult;
/** Optional parameters. */
export interface ConfigurationsListByServerOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the listByServer operation. */
export declare type ConfigurationsListByServerResponse = ConfigurationListResult;
/** Optional parameters. */
export interface ConfigurationsListByServerNextOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the listByServerNext operation. */
export declare type ConfigurationsListByServerNextResponse = ConfigurationListResult;
/** Optional parameters. */
export interface LocationBasedCapabilitiesListOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the list operation. */
export declare type LocationBasedCapabilitiesListResponse = CapabilitiesListResult;
/** Optional parameters. */
export interface LocationBasedCapabilitiesListNextOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the listNext operation. */
export declare type LocationBasedCapabilitiesListNextResponse = CapabilitiesListResult;
/** Optional parameters. */
export interface CheckVirtualNetworkSubnetUsageExecuteOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the execute operation. */
export declare type CheckVirtualNetworkSubnetUsageExecuteResponse = VirtualNetworkSubnetUsageResult;
/** Optional parameters. */
export interface CheckNameAvailabilityExecuteOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the execute operation. */
export declare type CheckNameAvailabilityExecuteResponse = NameAvailability;
/** Optional parameters. */
export interface GetPrivateDnsZoneSuffixExecuteOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the execute operation. */
export declare type GetPrivateDnsZoneSuffixExecuteResponse = GetPrivateDnsZoneSuffixResponse;
/** Optional parameters. */
export interface OperationsListOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the list operation. */
export declare type OperationsListResponse = OperationListResult;
/** Optional parameters. */
export interface OperationsListNextOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the listNext operation. */
export declare type OperationsListNextResponse = OperationListResult;
/** Optional parameters. */
export interface MySQLManagementFlexibleServerClientOptionalParams extends coreClient.ServiceClientOptions {
    /** server parameter */
    $host?: string;
    /** Api Version */
    apiVersion?: string;
    /** Overrides client endpoint. */
    endpoint?: string;
}
//# sourceMappingURL=index.d.ts.map