package com.microsoft.azure.management.servicebus;
import com.microsoft.azure.management.apigeneration.Fluent;
import com.microsoft.azure.management.resources.fluentcore.arm.collection.SupportsBatchDeletion;
import com.microsoft.azure.management.resources.fluentcore.arm.collection.SupportsDeletingByResourceGroup;
import com.microsoft.azure.management.resources.fluentcore.arm.collection.SupportsGettingByResourceGroup;
import com.microsoft.azure.management.resources.fluentcore.arm.collection.SupportsGettingById;
import com.microsoft.azure.management.resources.fluentcore.arm.collection.SupportsListingByResourceGroup;
import com.microsoft.azure.management.resources.fluentcore.arm.models.HasManager;
import com.microsoft.azure.management.resources.fluentcore.collection.SupportsBatchCreation;
import com.microsoft.azure.management.resources.fluentcore.collection.SupportsCreating;
import com.microsoft.azure.management.resources.fluentcore.collection.SupportsDeletingById;
import com.microsoft.azure.management.resources.fluentcore.collection.SupportsListing;
import com.microsoft.azure.management.resources.fluentcore.model.HasInner;
import com.microsoft.azure.management.servicebus.implementation.NamespacesInner;
import com.microsoft.azure.management.servicebus.implementation.ServiceBusManager;
import com.microsoft.rest.ServiceCallback;
import com.microsoft.rest.ServiceFuture;
import rx.Observable;
@Fluent
public interface ServiceBusNamespaces extends
SupportsCreating<ServiceBusNamespace.DefinitionStages.Blank>,
SupportsBatchCreation<ServiceBusNamespace>,
SupportsBatchDeletion,
SupportsListing<ServiceBusNamespace>,
SupportsListingByResourceGroup<ServiceBusNamespace>,
SupportsGettingByResourceGroup<ServiceBusNamespace>,
SupportsGettingById<ServiceBusNamespace>,
SupportsDeletingById,
SupportsDeletingByResourceGroup,
HasManager<ServiceBusManager>,
HasInner<NamespacesInner> {
CheckNameAvailabilityResult checkNameAvailability(String name);
Observable<CheckNameAvailabilityResult> checkNameAvailabilityAsync(String name);
ServiceFuture<CheckNameAvailabilityResult> checkNameAvailabilityAsync(String name, ServiceCallback<CheckNameAvailabilityResult> callback);
}