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

> 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 type AadAuthFailureMode = "http403" | "http401WithBearerChallenge";

// @public
export interface AccessRule {
    name?: string;
    properties?: AccessRuleProperties;
}

// @public
export type AccessRuleDirection = string;

// @public
export interface AccessRuleProperties {
    addressPrefixes?: string[];
    direction?: AccessRuleDirection;
    emailAddresses?: string[];
    fullyQualifiedDomainNames?: string[];
    networkSecurityPerimeters?: NetworkSecurityPerimeter[];
    phoneNumbers?: string[];
    subscriptions?: AccessRulePropertiesSubscriptionsItem[];
}

// @public
export interface AccessRulePropertiesSubscriptionsItem {
    id?: string;
}

// @public
export type ActionType = string;

// @public
export type AdminKeyKind = "primary" | "secondary";

// @public
export interface AdminKeyResult {
    readonly primaryKey?: string;
    readonly secondaryKey?: string;
}

// @public
export interface AdminKeys {
    get(resourceGroupName: string, searchServiceName: string, options?: AdminKeysGetOptionalParams): Promise<AdminKeysGetResponse>;
    regenerate(resourceGroupName: string, searchServiceName: string, keyKind: AdminKeyKind, options?: AdminKeysRegenerateOptionalParams): Promise<AdminKeysRegenerateResponse>;
}

// @public
export interface AdminKeysGetOptionalParams extends coreClient.OperationOptions {
    searchManagementRequestOptions?: SearchManagementRequestOptions;
}

// @public
export type AdminKeysGetResponse = AdminKeyResult;

// @public
export interface AdminKeysRegenerateOptionalParams extends coreClient.OperationOptions {
    searchManagementRequestOptions?: SearchManagementRequestOptions;
}

// @public
export type AdminKeysRegenerateResponse = AdminKeyResult;

// @public
export interface AsyncOperationResult {
    status?: SharedPrivateLinkResourceAsyncOperationResult;
}

// @public
export interface CheckNameAvailabilityInput {
    name: string;
    type: "searchServices";
}

// @public
export interface CheckNameAvailabilityOutput {
    readonly isNameAvailable?: boolean;
    readonly message?: string;
    readonly reason?: UnavailableNameReason;
}

// @public
export interface CloudError {
    error?: CloudErrorBody;
    message?: string;
}

// @public
export interface CloudErrorBody {
    code?: string;
    details?: CloudErrorBody[];
    message?: string;
    target?: string;
}

// @public
export type ComputeType = string;

// @public
export type CreatedByType = string;

// @public
export interface DataPlaneAadOrApiKeyAuthOption {
    aadAuthFailureMode?: AadAuthFailureMode;
}

// @public
export interface DataPlaneAuthOptions {
    aadOrApiKey?: DataPlaneAadOrApiKeyAuthOption;
    apiKeyOnly?: Record<string, unknown>;
}

// @public
export interface EncryptionWithCmk {
    readonly encryptionComplianceStatus?: SearchEncryptionComplianceStatus;
    enforcement?: SearchEncryptionWithCmk;
}

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

// @public
export type HostingMode = "default" | "highDensity";

// @public
export interface Identity {
    readonly principalId?: string;
    readonly tenantId?: string;
    type: IdentityType;
    userAssignedIdentities?: {
        [propertyName: string]: UserAssignedIdentity;
    };
}

// @public
export type IdentityType = string;

// @public
export interface IpRule {
    value?: string;
}

// @public
export type IssueType = string;

// @public
export enum KnownAccessRuleDirection {
    Inbound = "Inbound",
    Outbound = "Outbound"
}

// @public
export enum KnownActionType {
    Internal = "Internal"
}

// @public
export enum KnownComputeType {
    Confidential = "confidential",
    Default = "default"
}

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

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

// @public
export enum KnownIssueType {
    ConfigurationPropagationFailure = "ConfigurationPropagationFailure",
    MissingIdentityConfiguration = "MissingIdentityConfiguration",
    MissingPerimeterConfiguration = "MissingPerimeterConfiguration",
    Unknown = "Unknown"
}

// @public
export enum KnownNetworkSecurityPerimeterConfigurationProvisioningState {
    Accepted = "Accepted",
    Canceled = "Canceled",
    Creating = "Creating",
    Deleting = "Deleting",
    Failed = "Failed",
    Succeeded = "Succeeded",
    Updating = "Updating"
}

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

// @public
export enum KnownPrivateLinkServiceConnectionProvisioningState {
    Canceled = "Canceled",
    Deleting = "Deleting",
    Failed = "Failed",
    Incomplete = "Incomplete",
    Succeeded = "Succeeded",
    Updating = "Updating"
}

// @public
export enum KnownPublicNetworkAccess {
    Disabled = "disabled",
    Enabled = "enabled",
    SecuredByPerimeter = "securedByPerimeter"
}

// @public
export enum KnownResourceAssociationAccessMode {
    Audit = "Audit",
    Enforced = "Enforced",
    Learning = "Learning"
}

// @public
export enum KnownSearchBypass {
    AzureServices = "AzureServices",
    None = "None"
}

// @public
export enum KnownSearchDataExfiltrationProtection {
    BlockAll = "BlockAll"
}

// @public
export enum KnownSearchSemanticSearch {
    Disabled = "disabled",
    Free = "free",
    Standard = "standard"
}

// @public
export enum KnownSeverity {
    Error = "Error",
    Warning = "Warning"
}

// @public
export enum KnownSharedPrivateLinkResourceAsyncOperationResult {
    Failed = "Failed",
    Running = "Running",
    Succeeded = "Succeeded"
}

// @public
export enum KnownSharedPrivateLinkResourceProvisioningState {
    Deleting = "Deleting",
    Failed = "Failed",
    Incomplete = "Incomplete",
    Succeeded = "Succeeded",
    Updating = "Updating"
}

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

// @public
export enum KnownSkuName {
    Basic = "basic",
    Free = "free",
    Standard = "standard",
    Standard2 = "standard2",
    Standard3 = "standard3",
    StorageOptimizedL1 = "storage_optimized_l1",
    StorageOptimizedL2 = "storage_optimized_l2"
}

// @public
export enum KnownUnavailableNameReason {
    AlreadyExists = "AlreadyExists",
    Invalid = "Invalid"
}

// @public
export enum KnownUpgradeAvailable {
    Available = "available",
    NotAvailable = "notAvailable"
}

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

// @public
export interface NetworkRuleSet {
    bypass?: SearchBypass;
    ipRules?: IpRule[];
}

// @public
export interface NetworkSecurityPerimeter {
    id?: string;
    location?: string;
    perimeterGuid?: string;
}

// @public
export interface NetworkSecurityPerimeterConfiguration extends ProxyResource {
    properties?: NetworkSecurityPerimeterConfigurationProperties;
}

// @public
export interface NetworkSecurityPerimeterConfigurationListResult {
    nextLink?: string;
    value?: NetworkSecurityPerimeterConfiguration[];
}

// @public
export interface NetworkSecurityPerimeterConfigurationProperties {
    networkSecurityPerimeter?: NetworkSecurityPerimeter;
    profile?: NetworkSecurityProfile;
    readonly provisioningIssues?: ProvisioningIssue[];
    readonly provisioningState?: NetworkSecurityPerimeterConfigurationProvisioningState;
    resourceAssociation?: ResourceAssociation;
}

// @public
export type NetworkSecurityPerimeterConfigurationProvisioningState = string;

// @public
export interface NetworkSecurityPerimeterConfigurations {
    beginReconcile(resourceGroupName: string, searchServiceName: string, nspConfigName: string, options?: NetworkSecurityPerimeterConfigurationsReconcileOptionalParams): Promise<SimplePollerLike<OperationState<NetworkSecurityPerimeterConfigurationsReconcileResponse>, NetworkSecurityPerimeterConfigurationsReconcileResponse>>;
    beginReconcileAndWait(resourceGroupName: string, searchServiceName: string, nspConfigName: string, options?: NetworkSecurityPerimeterConfigurationsReconcileOptionalParams): Promise<NetworkSecurityPerimeterConfigurationsReconcileResponse>;
    get(resourceGroupName: string, searchServiceName: string, nspConfigName: string, options?: NetworkSecurityPerimeterConfigurationsGetOptionalParams): Promise<NetworkSecurityPerimeterConfigurationsGetResponse>;
    listByService(resourceGroupName: string, searchServiceName: string, options?: NetworkSecurityPerimeterConfigurationsListByServiceOptionalParams): PagedAsyncIterableIterator<NetworkSecurityPerimeterConfiguration>;
}

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

// @public
export type NetworkSecurityPerimeterConfigurationsGetResponse = NetworkSecurityPerimeterConfiguration;

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

// @public
export type NetworkSecurityPerimeterConfigurationsListByServiceNextResponse = NetworkSecurityPerimeterConfigurationListResult;

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

// @public
export type NetworkSecurityPerimeterConfigurationsListByServiceResponse = NetworkSecurityPerimeterConfigurationListResult;

// @public
export interface NetworkSecurityPerimeterConfigurationsReconcileHeaders {
    // (undocumented)
    location?: string;
}

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

// @public
export type NetworkSecurityPerimeterConfigurationsReconcileResponse = NetworkSecurityPerimeterConfigurationsReconcileHeaders;

// @public
export interface NetworkSecurityProfile {
    accessRules?: AccessRule[];
    accessRulesVersion?: number;
    diagnosticSettingsVersion?: number;
    enabledLogCategories?: string[];
    name?: string;
}

// @public
export interface Operation {
    readonly actionType?: ActionType;
    display?: OperationDisplay;
    readonly isDataAction?: boolean;
    readonly name?: string;
    readonly origin?: Origin;
}

// @public
export interface OperationDisplay {
    readonly description?: string;
    readonly operation?: string;
    readonly provider?: string;
    readonly resource?: string;
}

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

// @public
export interface Operations {
    list(options?: OperationsListOptionalParams): PagedAsyncIterableIterator<Operation>;
}

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

// @public
export type OperationsListResponse = OperationListResult;

// @public
export type Origin = string;

// @public
export interface PrivateEndpointConnection extends Resource {
    properties?: PrivateEndpointConnectionProperties;
}

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

// @public
export interface PrivateEndpointConnectionProperties {
    groupId?: string;
    privateEndpoint?: PrivateEndpointConnectionPropertiesPrivateEndpoint;
    privateLinkServiceConnectionState?: PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionState;
    provisioningState?: PrivateLinkServiceConnectionProvisioningState;
}

// @public
export interface PrivateEndpointConnectionPropertiesPrivateEndpoint {
    id?: string;
}

// @public
export interface PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionState {
    actionsRequired?: string;
    description?: string;
    status?: PrivateLinkServiceConnectionStatus;
}

// @public
export interface PrivateEndpointConnections {
    delete(resourceGroupName: string, searchServiceName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsDeleteOptionalParams): Promise<PrivateEndpointConnectionsDeleteResponse>;
    get(resourceGroupName: string, searchServiceName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsGetOptionalParams): Promise<PrivateEndpointConnectionsGetResponse>;
    listByService(resourceGroupName: string, searchServiceName: string, options?: PrivateEndpointConnectionsListByServiceOptionalParams): PagedAsyncIterableIterator<PrivateEndpointConnection>;
    update(resourceGroupName: string, searchServiceName: string, privateEndpointConnectionName: string, privateEndpointConnection: PrivateEndpointConnection, options?: PrivateEndpointConnectionsUpdateOptionalParams): Promise<PrivateEndpointConnectionsUpdateResponse>;
}

// @public
export interface PrivateEndpointConnectionsDeleteOptionalParams extends coreClient.OperationOptions {
    searchManagementRequestOptions?: SearchManagementRequestOptions;
}

// @public
export type PrivateEndpointConnectionsDeleteResponse = PrivateEndpointConnection;

// @public
export interface PrivateEndpointConnectionsGetOptionalParams extends coreClient.OperationOptions {
    searchManagementRequestOptions?: SearchManagementRequestOptions;
}

// @public
export type PrivateEndpointConnectionsGetResponse = PrivateEndpointConnection;

// @public
export interface PrivateEndpointConnectionsListByServiceNextOptionalParams extends coreClient.OperationOptions {
    searchManagementRequestOptions?: SearchManagementRequestOptions;
}

// @public
export type PrivateEndpointConnectionsListByServiceNextResponse = PrivateEndpointConnectionListResult;

// @public
export interface PrivateEndpointConnectionsListByServiceOptionalParams extends coreClient.OperationOptions {
    searchManagementRequestOptions?: SearchManagementRequestOptions;
}

// @public
export type PrivateEndpointConnectionsListByServiceResponse = PrivateEndpointConnectionListResult;

// @public
export interface PrivateEndpointConnectionsUpdateOptionalParams extends coreClient.OperationOptions {
    searchManagementRequestOptions?: SearchManagementRequestOptions;
}

// @public
export type PrivateEndpointConnectionsUpdateResponse = PrivateEndpointConnection;

// @public
export interface PrivateLinkResource extends Resource {
    readonly properties?: PrivateLinkResourceProperties;
}

// @public
export interface PrivateLinkResourceProperties {
    readonly groupId?: string;
    readonly requiredMembers?: string[];
    readonly requiredZoneNames?: string[];
    readonly shareablePrivateLinkResourceTypes?: ShareablePrivateLinkResourceType[];
}

// @public
export interface PrivateLinkResources {
    listSupported(resourceGroupName: string, searchServiceName: string, options?: PrivateLinkResourcesListSupportedOptionalParams): PagedAsyncIterableIterator<PrivateLinkResource>;
}

// @public
export interface PrivateLinkResourcesListSupportedOptionalParams extends coreClient.OperationOptions {
    searchManagementRequestOptions?: SearchManagementRequestOptions;
}

// @public
export type PrivateLinkResourcesListSupportedResponse = PrivateLinkResourcesResult;

// @public
export interface PrivateLinkResourcesResult {
    readonly value?: PrivateLinkResource[];
}

// @public
export type PrivateLinkServiceConnectionProvisioningState = string;

// @public
export type PrivateLinkServiceConnectionStatus = "Pending" | "Approved" | "Rejected" | "Disconnected";

// @public
export interface ProvisioningIssue {
    readonly name?: string;
    readonly properties?: ProvisioningIssueProperties;
}

// @public
export interface ProvisioningIssueProperties {
    readonly description?: string;
    readonly issueType?: IssueType;
    readonly severity?: Severity;
    readonly suggestedAccessRules?: AccessRule[];
    readonly suggestedResourceIds?: string[];
}

// @public
export type ProvisioningState = "succeeded" | "provisioning" | "failed";

// @public
export interface ProxyResource extends Resource {
}

// @public
export type PublicNetworkAccess = string;

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

// @public
export interface QueryKeys {
    create(resourceGroupName: string, searchServiceName: string, name: string, options?: QueryKeysCreateOptionalParams): Promise<QueryKeysCreateResponse>;
    delete(resourceGroupName: string, searchServiceName: string, key: string, options?: QueryKeysDeleteOptionalParams): Promise<void>;
    listBySearchService(resourceGroupName: string, searchServiceName: string, options?: QueryKeysListBySearchServiceOptionalParams): PagedAsyncIterableIterator<QueryKey>;
}

// @public
export interface QueryKeysCreateOptionalParams extends coreClient.OperationOptions {
    searchManagementRequestOptions?: SearchManagementRequestOptions;
}

// @public
export type QueryKeysCreateResponse = QueryKey;

// @public
export interface QueryKeysDeleteOptionalParams extends coreClient.OperationOptions {
    searchManagementRequestOptions?: SearchManagementRequestOptions;
}

// @public
export interface QueryKeysListBySearchServiceNextOptionalParams extends coreClient.OperationOptions {
    searchManagementRequestOptions?: SearchManagementRequestOptions;
}

// @public
export type QueryKeysListBySearchServiceNextResponse = ListQueryKeysResult;

// @public
export interface QueryKeysListBySearchServiceOptionalParams extends coreClient.OperationOptions {
    searchManagementRequestOptions?: SearchManagementRequestOptions;
}

// @public
export type QueryKeysListBySearchServiceResponse = ListQueryKeysResult;

// @public
export interface QuotaUsageResult {
    currentValue?: number;
    id?: string;
    limit?: number;
    readonly name?: QuotaUsageResultName;
    unit?: string;
}

// @public
export interface QuotaUsageResultName {
    localizedValue?: string;
    value?: string;
}

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

// @public
export interface Resource {
    readonly id?: string;
    readonly name?: string;
    readonly systemData?: SystemData;
    readonly type?: string;
}

// @public
export interface ResourceAssociation {
    accessMode?: ResourceAssociationAccessMode;
    name?: string;
}

// @public
export type ResourceAssociationAccessMode = string;

// @public
export type SearchBypass = string;

// @public
export type SearchDataExfiltrationProtection = string;

// @public
export type SearchEncryptionComplianceStatus = "Compliant" | "NonCompliant";

// @public
export type SearchEncryptionWithCmk = "Disabled" | "Enabled" | "Unspecified";

// @public (undocumented)
export class SearchManagementClient extends coreClient.ServiceClient {
    // (undocumented)
    $host: string;
    constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: SearchManagementClientOptionalParams);
    // (undocumented)
    adminKeys: AdminKeys;
    // (undocumented)
    apiVersion: string;
    // (undocumented)
    networkSecurityPerimeterConfigurations: NetworkSecurityPerimeterConfigurations;
    // (undocumented)
    operations: Operations;
    // (undocumented)
    privateEndpointConnections: PrivateEndpointConnections;
    // (undocumented)
    privateLinkResources: PrivateLinkResources;
    // (undocumented)
    queryKeys: QueryKeys;
    // (undocumented)
    services: Services;
    // (undocumented)
    sharedPrivateLinkResources: SharedPrivateLinkResources;
    // (undocumented)
    subscriptionId: string;
    usageBySubscriptionSku(location: string, skuName: string, options?: UsageBySubscriptionSkuOptionalParams): Promise<UsageBySubscriptionSkuResponse>;
    // (undocumented)
    usages: Usages;
}

// @public
export interface SearchManagementClientOptionalParams extends coreClient.ServiceClientOptions {
    $host?: string;
    apiVersion?: string;
    endpoint?: string;
}

// @public
export interface SearchManagementRequestOptions {
    clientRequestId?: string;
}

// @public
export type SearchSemanticSearch = string;

// @public
export interface SearchService extends TrackedResource {
    authOptions?: DataPlaneAuthOptions;
    computeType?: ComputeType;
    dataExfiltrationProtections?: SearchDataExfiltrationProtection[];
    disableLocalAuth?: boolean;
    encryptionWithCmk?: EncryptionWithCmk;
    endpoint?: string;
    readonly eTag?: string;
    hostingMode?: HostingMode;
    identity?: Identity;
    networkRuleSet?: NetworkRuleSet;
    partitionCount?: number;
    readonly privateEndpointConnections?: PrivateEndpointConnection[];
    readonly provisioningState?: ProvisioningState;
    publicNetworkAccess?: PublicNetworkAccess;
    replicaCount?: number;
    semanticSearch?: SearchSemanticSearch;
    readonly serviceUpgradedAt?: Date;
    readonly sharedPrivateLinkResources?: SharedPrivateLinkResource[];
    sku?: Sku;
    readonly status?: SearchServiceStatus;
    readonly statusDetails?: string;
    upgradeAvailable?: UpgradeAvailable;
}

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

// @public
export type SearchServiceStatus = "running" | "provisioning" | "deleting" | "degraded" | "disabled" | "error" | "stopped";

// @public
export interface SearchServiceUpdate extends Resource {
    authOptions?: DataPlaneAuthOptions;
    computeType?: ComputeType;
    dataExfiltrationProtections?: SearchDataExfiltrationProtection[];
    disableLocalAuth?: boolean;
    encryptionWithCmk?: EncryptionWithCmk;
    endpoint?: string;
    readonly eTag?: string;
    hostingMode?: HostingMode;
    identity?: Identity;
    location?: string;
    networkRuleSet?: NetworkRuleSet;
    partitionCount?: number;
    readonly privateEndpointConnections?: PrivateEndpointConnection[];
    readonly provisioningState?: ProvisioningState;
    publicNetworkAccess?: PublicNetworkAccess;
    replicaCount?: number;
    semanticSearch?: SearchSemanticSearch;
    readonly serviceUpgradedAt?: Date;
    readonly sharedPrivateLinkResources?: SharedPrivateLinkResource[];
    sku?: Sku;
    readonly status?: SearchServiceStatus;
    readonly statusDetails?: string;
    tags?: {
        [propertyName: string]: string;
    };
    upgradeAvailable?: UpgradeAvailable;
}

// @public
export interface Services {
    beginCreateOrUpdate(resourceGroupName: string, searchServiceName: string, service: SearchService, options?: ServicesCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ServicesCreateOrUpdateResponse>, ServicesCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, searchServiceName: string, service: SearchService, options?: ServicesCreateOrUpdateOptionalParams): Promise<ServicesCreateOrUpdateResponse>;
    beginUpgrade(resourceGroupName: string, searchServiceName: string, options?: ServicesUpgradeOptionalParams): Promise<SimplePollerLike<OperationState<ServicesUpgradeResponse>, ServicesUpgradeResponse>>;
    beginUpgradeAndWait(resourceGroupName: string, searchServiceName: string, options?: ServicesUpgradeOptionalParams): Promise<ServicesUpgradeResponse>;
    checkNameAvailability(name: string, options?: ServicesCheckNameAvailabilityOptionalParams): Promise<ServicesCheckNameAvailabilityResponse>;
    delete(resourceGroupName: string, searchServiceName: string, options?: ServicesDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, searchServiceName: string, options?: ServicesGetOptionalParams): Promise<ServicesGetResponse>;
    listByResourceGroup(resourceGroupName: string, options?: ServicesListByResourceGroupOptionalParams): PagedAsyncIterableIterator<SearchService>;
    listBySubscription(options?: ServicesListBySubscriptionOptionalParams): PagedAsyncIterableIterator<SearchService>;
    update(resourceGroupName: string, searchServiceName: string, service: SearchServiceUpdate, options?: ServicesUpdateOptionalParams): Promise<ServicesUpdateResponse>;
}

// @public
export interface ServicesCheckNameAvailabilityOptionalParams extends coreClient.OperationOptions {
    searchManagementRequestOptions?: SearchManagementRequestOptions;
}

// @public
export type ServicesCheckNameAvailabilityResponse = CheckNameAvailabilityOutput;

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

// @public
export type ServicesCreateOrUpdateResponse = SearchService;

// @public
export interface ServicesDeleteOptionalParams extends coreClient.OperationOptions {
    searchManagementRequestOptions?: SearchManagementRequestOptions;
}

// @public
export interface ServicesGetOptionalParams extends coreClient.OperationOptions {
    searchManagementRequestOptions?: SearchManagementRequestOptions;
}

// @public
export type ServicesGetResponse = SearchService;

// @public
export interface ServicesListByResourceGroupNextOptionalParams extends coreClient.OperationOptions {
    searchManagementRequestOptions?: SearchManagementRequestOptions;
}

// @public
export type ServicesListByResourceGroupNextResponse = SearchServiceListResult;

// @public
export interface ServicesListByResourceGroupOptionalParams extends coreClient.OperationOptions {
    searchManagementRequestOptions?: SearchManagementRequestOptions;
}

// @public
export type ServicesListByResourceGroupResponse = SearchServiceListResult;

// @public
export interface ServicesListBySubscriptionNextOptionalParams extends coreClient.OperationOptions {
    searchManagementRequestOptions?: SearchManagementRequestOptions;
}

// @public
export type ServicesListBySubscriptionNextResponse = SearchServiceListResult;

// @public
export interface ServicesListBySubscriptionOptionalParams extends coreClient.OperationOptions {
    searchManagementRequestOptions?: SearchManagementRequestOptions;
}

// @public
export type ServicesListBySubscriptionResponse = SearchServiceListResult;

// @public
export interface ServicesUpdateOptionalParams extends coreClient.OperationOptions {
    searchManagementRequestOptions?: SearchManagementRequestOptions;
}

// @public
export type ServicesUpdateResponse = SearchService;

// @public
export interface ServicesUpgradeHeaders {
    // (undocumented)
    location?: string;
}

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

// @public
export type ServicesUpgradeResponse = SearchService;

// @public
export type Severity = string;

// @public
export interface ShareablePrivateLinkResourceProperties {
    readonly description?: string;
    readonly groupId?: string;
    readonly type?: string;
}

// @public
export interface ShareablePrivateLinkResourceType {
    readonly name?: string;
    readonly properties?: ShareablePrivateLinkResourceProperties;
}

// @public
export interface SharedPrivateLinkResource extends Resource {
    properties?: SharedPrivateLinkResourceProperties;
}

// @public
export type SharedPrivateLinkResourceAsyncOperationResult = string;

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

// @public
export interface SharedPrivateLinkResourceProperties {
    groupId?: string;
    privateLinkResourceId?: string;
    provisioningState?: SharedPrivateLinkResourceProvisioningState;
    requestMessage?: string;
    resourceRegion?: string;
    status?: SharedPrivateLinkResourceStatus;
}

// @public
export type SharedPrivateLinkResourceProvisioningState = string;

// @public
export interface SharedPrivateLinkResources {
    beginCreateOrUpdate(resourceGroupName: string, searchServiceName: string, sharedPrivateLinkResourceName: string, sharedPrivateLinkResource: SharedPrivateLinkResource, options?: SharedPrivateLinkResourcesCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<SharedPrivateLinkResourcesCreateOrUpdateResponse>, SharedPrivateLinkResourcesCreateOrUpdateResponse>>;
    beginCreateOrUpdateAndWait(resourceGroupName: string, searchServiceName: string, sharedPrivateLinkResourceName: string, sharedPrivateLinkResource: SharedPrivateLinkResource, options?: SharedPrivateLinkResourcesCreateOrUpdateOptionalParams): Promise<SharedPrivateLinkResourcesCreateOrUpdateResponse>;
    beginDelete(resourceGroupName: string, searchServiceName: string, sharedPrivateLinkResourceName: string, options?: SharedPrivateLinkResourcesDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    beginDeleteAndWait(resourceGroupName: string, searchServiceName: string, sharedPrivateLinkResourceName: string, options?: SharedPrivateLinkResourcesDeleteOptionalParams): Promise<void>;
    get(resourceGroupName: string, searchServiceName: string, sharedPrivateLinkResourceName: string, options?: SharedPrivateLinkResourcesGetOptionalParams): Promise<SharedPrivateLinkResourcesGetResponse>;
    listByService(resourceGroupName: string, searchServiceName: string, options?: SharedPrivateLinkResourcesListByServiceOptionalParams): PagedAsyncIterableIterator<SharedPrivateLinkResource>;
}

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

// @public
export type SharedPrivateLinkResourcesCreateOrUpdateResponse = SharedPrivateLinkResource;

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

// @public
export interface SharedPrivateLinkResourcesGetOptionalParams extends coreClient.OperationOptions {
    searchManagementRequestOptions?: SearchManagementRequestOptions;
}

// @public
export type SharedPrivateLinkResourcesGetResponse = SharedPrivateLinkResource;

// @public
export interface SharedPrivateLinkResourcesListByServiceNextOptionalParams extends coreClient.OperationOptions {
    searchManagementRequestOptions?: SearchManagementRequestOptions;
}

// @public
export type SharedPrivateLinkResourcesListByServiceNextResponse = SharedPrivateLinkResourceListResult;

// @public
export interface SharedPrivateLinkResourcesListByServiceOptionalParams extends coreClient.OperationOptions {
    searchManagementRequestOptions?: SearchManagementRequestOptions;
}

// @public
export type SharedPrivateLinkResourcesListByServiceResponse = SharedPrivateLinkResourceListResult;

// @public
export type SharedPrivateLinkResourceStatus = string;

// @public
export interface Sku {
    name?: SkuName;
}

// @public
export type SkuName = string;

// @public
export interface SystemData {
    createdAt?: Date;
    createdBy?: string;
    createdByType?: CreatedByType;
    lastModifiedAt?: Date;
    lastModifiedBy?: string;
    lastModifiedByType?: CreatedByType;
}

// @public
export interface TrackedResource extends Resource {
    location: string;
    tags?: {
        [propertyName: string]: string;
    };
}

// @public
export type UnavailableNameReason = string;

// @public
export type UpgradeAvailable = string;

// @public
export interface UsageBySubscriptionSkuOptionalParams extends coreClient.OperationOptions {
    searchManagementRequestOptions?: SearchManagementRequestOptions;
}

// @public
export type UsageBySubscriptionSkuResponse = QuotaUsageResult;

// @public
export interface Usages {
    listBySubscription(location: string, options?: UsagesListBySubscriptionOptionalParams): PagedAsyncIterableIterator<QuotaUsageResult>;
}

// @public
export interface UsagesListBySubscriptionNextOptionalParams extends coreClient.OperationOptions {
    searchManagementRequestOptions?: SearchManagementRequestOptions;
}

// @public
export type UsagesListBySubscriptionNextResponse = QuotaUsagesListResult;

// @public
export interface UsagesListBySubscriptionOptionalParams extends coreClient.OperationOptions {
    searchManagementRequestOptions?: SearchManagementRequestOptions;
}

// @public
export type UsagesListBySubscriptionResponse = QuotaUsagesListResult;

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

// (No @packageDocumentation comment for this package)

```
