import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * Namespace resource.
 *
 * Uses Azure REST API version 2025-02-15. In version 2.x of the Azure Native provider, it used API version 2023-06-01-preview.
 *
 * Other available API versions: 2023-06-01-preview, 2023-12-15-preview, 2024-06-01-preview, 2024-12-15-preview, 2025-04-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native eventgrid [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.
 */
export declare class Namespace extends pulumi.CustomResource {
    /**
     * Get an existing Namespace resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): Namespace;
    /**
     * Returns true if the given object is an instance of Namespace.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is Namespace;
    /**
     * The Azure API version of the resource.
     */
    readonly azureApiVersion: pulumi.Output<string>;
    /**
     * Identity information for the Namespace resource.
     */
    readonly identity: pulumi.Output<outputs.eventgrid.IdentityInfoResponse | undefined>;
    /**
     * This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered only if PublicNetworkAccess is enabled.
     */
    readonly inboundIpRules: pulumi.Output<outputs.eventgrid.InboundIpRuleResponse[] | undefined>;
    /**
     * This is an optional property and it allows the user to specify if the namespace resource supports zone-redundancy capability or not. If this
     * property is not specified explicitly by the user, its default value depends on the following conditions:
     *     a. For Availability Zones enabled regions - The default property value would be true.
     *     b. For non-Availability Zones enabled regions - The default property value would be false.
     * Once specified, this property cannot be updated.
     */
    readonly isZoneRedundant: pulumi.Output<boolean | undefined>;
    /**
     * Location of the resource.
     */
    readonly location: pulumi.Output<string>;
    /**
     * Minimum TLS version of the publisher allowed to publish to this namespace. Only TLS version 1.2 is supported.
     */
    readonly minimumTlsVersionAllowed: pulumi.Output<string | undefined>;
    /**
     * Name of the resource.
     */
    readonly name: pulumi.Output<string>;
    /**
     * List of private endpoint connections.
     */
    readonly privateEndpointConnections: pulumi.Output<outputs.eventgrid.PrivateEndpointConnectionResponse[] | undefined>;
    /**
     * Provisioning state of the namespace resource.
     */
    readonly provisioningState: pulumi.Output<string>;
    /**
     * This determines if traffic is allowed over public network. By default it is enabled.
     * You can further restrict to specific IPs by configuring <seealso cref="P:Microsoft.Azure.Events.ResourceProvider.Common.Contracts.PubSub.NamespaceProperties.InboundIpRules" />
     */
    readonly publicNetworkAccess: pulumi.Output<string | undefined>;
    /**
     * Represents available Sku pricing tiers.
     */
    readonly sku: pulumi.Output<outputs.eventgrid.NamespaceSkuResponse | undefined>;
    /**
     * The system metadata relating to the Event Grid resource.
     */
    readonly systemData: pulumi.Output<outputs.eventgrid.SystemDataResponse>;
    /**
     * Tags of the resource.
     */
    readonly tags: pulumi.Output<{
        [key: string]: string;
    } | undefined>;
    /**
     * Topic spaces configuration information for the namespace resource
     */
    readonly topicSpacesConfiguration: pulumi.Output<outputs.eventgrid.TopicSpacesConfigurationResponse | undefined>;
    /**
     * Topics configuration information for the namespace resource
     */
    readonly topicsConfiguration: pulumi.Output<outputs.eventgrid.TopicsConfigurationResponse | undefined>;
    /**
     * Type of the resource.
     */
    readonly type: pulumi.Output<string>;
    /**
     * Create a Namespace resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: NamespaceArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a Namespace resource.
 */
export interface NamespaceArgs {
    /**
     * Identity information for the Namespace resource.
     */
    identity?: pulumi.Input<inputs.eventgrid.IdentityInfoArgs>;
    /**
     * This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered only if PublicNetworkAccess is enabled.
     */
    inboundIpRules?: pulumi.Input<pulumi.Input<inputs.eventgrid.InboundIpRuleArgs>[]>;
    /**
     * This is an optional property and it allows the user to specify if the namespace resource supports zone-redundancy capability or not. If this
     * property is not specified explicitly by the user, its default value depends on the following conditions:
     *     a. For Availability Zones enabled regions - The default property value would be true.
     *     b. For non-Availability Zones enabled regions - The default property value would be false.
     * Once specified, this property cannot be updated.
     */
    isZoneRedundant?: pulumi.Input<boolean>;
    /**
     * Location of the resource.
     */
    location?: pulumi.Input<string>;
    /**
     * Minimum TLS version of the publisher allowed to publish to this namespace. Only TLS version 1.2 is supported.
     */
    minimumTlsVersionAllowed?: pulumi.Input<string | enums.eventgrid.TlsVersion>;
    /**
     * Name of the namespace.
     */
    namespaceName?: pulumi.Input<string>;
    /**
     * List of private endpoint connections.
     */
    privateEndpointConnections?: pulumi.Input<pulumi.Input<inputs.eventgrid.PrivateEndpointConnectionArgs>[]>;
    /**
     * This determines if traffic is allowed over public network. By default it is enabled.
     * You can further restrict to specific IPs by configuring <seealso cref="P:Microsoft.Azure.Events.ResourceProvider.Common.Contracts.PubSub.NamespaceProperties.InboundIpRules" />
     */
    publicNetworkAccess?: pulumi.Input<string | enums.eventgrid.PublicNetworkAccess>;
    /**
     * The name of the resource group within the user's subscription.
     */
    resourceGroupName: pulumi.Input<string>;
    /**
     * Represents available Sku pricing tiers.
     */
    sku?: pulumi.Input<inputs.eventgrid.NamespaceSkuArgs>;
    /**
     * Tags of the resource.
     */
    tags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    }>;
    /**
     * Topic spaces configuration information for the namespace resource
     */
    topicSpacesConfiguration?: pulumi.Input<inputs.eventgrid.TopicSpacesConfigurationArgs>;
    /**
     * Topics configuration information for the namespace resource
     */
    topicsConfiguration?: pulumi.Input<inputs.eventgrid.TopicsConfigurationArgs>;
}
