import * as pulumi from "@pulumi/pulumi";
/**
 * Use this data source to access information about an existing Service Bus Queue.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as azure from "@pulumi/azure";
 *
 * const example = azure.servicebus.getQueue({
 *     name: "existing",
 *     namespaceId: "existing",
 * });
 * export const id = example.then(example => example.id);
 * ```
 *
 * ## API Providers
 *
 * <!-- This section is generated, changes will be overwritten -->
 * This data source uses the following Azure API Providers:
 *
 * * `Microsoft.ServiceBus` - 2024-01-01
 */
export declare function getQueue(args: GetQueueArgs, opts?: pulumi.InvokeOptions): Promise<GetQueueResult>;
/**
 * A collection of arguments for invoking getQueue.
 */
export interface GetQueueArgs {
    /**
     * The name of this Service Bus Queue.
     */
    name: string;
    /**
     * The ID of the ServiceBus Namespace where the Service Bus Queue exists.
     */
    namespaceId?: string;
    /**
     * @deprecated `namespaceName` will be removed in favour of the property `namespaceId` in version 5.0 of the AzureRM Provider.
     */
    namespaceName?: string;
    /**
     * @deprecated `resourceGroupName` will be removed in favour of the property `namespaceId` in version 5.0 of the AzureRM Provider.
     */
    resourceGroupName?: string;
}
/**
 * A collection of values returned by getQueue.
 */
export interface GetQueueResult {
    /**
     * The ISO 8601 timespan duration of the idle interval after which the Queue is automatically deleted, minimum of 5 minutes.
     */
    readonly autoDeleteOnIdle: string;
    /**
     * Boolean flag which controls whether server-side batched operations are enabled.
     */
    readonly batchedOperationsEnabled: boolean;
    /**
     * Boolean flag which controls whether the Queue has dead letter support when a message expires.
     */
    readonly deadLetteringOnMessageExpiration: boolean;
    /**
     * The ISO 8601 timespan duration of the TTL of messages sent to this queue. This is the default value used when TTL is not set on a message itself.
     */
    readonly defaultMessageTtl: string;
    /**
     * The ISO 8601 timespan duration during which duplicates can be detected.
     */
    readonly duplicateDetectionHistoryTimeWindow: string;
    readonly enableBatchedOperations: boolean;
    readonly enableExpress: boolean;
    readonly enablePartitioning: boolean;
    /**
     * Boolean flag which controls whether Express Entities are enabled. An express queue holds a message in memory temporarily before writing it to persistent storage.
     */
    readonly expressEnabled: boolean;
    /**
     * The name of a Queue or Topic to automatically forward dead lettered messages to.
     */
    readonly forwardDeadLetteredMessagesTo: string;
    /**
     * The name of a Queue or Topic to automatically forward messages to. Please [see the documentation](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-auto-forwarding) for more information.
     */
    readonly forwardTo: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers.
     */
    readonly lockDuration: string;
    /**
     * Integer value which controls when a message is automatically dead lettered.
     */
    readonly maxDeliveryCount: number;
    /**
     * Integer value which controls the size of memory allocated for the queue. For supported values see the "Queue or topic size" section of [Service Bus Quotas](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas).
     */
    readonly maxSizeInMegabytes: number;
    readonly name: string;
    readonly namespaceId?: string;
    /**
     * @deprecated `namespaceName` will be removed in favour of the property `namespaceId` in version 5.0 of the AzureRM Provider.
     */
    readonly namespaceName?: string;
    /**
     * Boolean flag which controls whether to enable the queue to be partitioned across multiple message brokers.
     */
    readonly partitioningEnabled: boolean;
    /**
     * Boolean flag which controls whether the Queue requires duplicate detection.
     */
    readonly requiresDuplicateDetection: boolean;
    /**
     * Boolean flag which controls whether the Queue requires sessions. This will allow ordered handling of unbounded sequences of related messages. With sessions enabled a queue can guarantee first-in-first-out delivery of messages.
     */
    readonly requiresSession: boolean;
    /**
     * @deprecated `resourceGroupName` will be removed in favour of the property `namespaceId` in version 5.0 of the AzureRM Provider.
     */
    readonly resourceGroupName?: string;
    /**
     * The status of the Queue. Possible values are `Active`, `Creating`, `Deleting`, `Disabled`, `ReceiveDisabled`, `Renaming`, `SendDisabled`, `Unknown`.
     */
    readonly status: string;
}
/**
 * Use this data source to access information about an existing Service Bus Queue.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as azure from "@pulumi/azure";
 *
 * const example = azure.servicebus.getQueue({
 *     name: "existing",
 *     namespaceId: "existing",
 * });
 * export const id = example.then(example => example.id);
 * ```
 *
 * ## API Providers
 *
 * <!-- This section is generated, changes will be overwritten -->
 * This data source uses the following Azure API Providers:
 *
 * * `Microsoft.ServiceBus` - 2024-01-01
 */
export declare function getQueueOutput(args: GetQueueOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetQueueResult>;
/**
 * A collection of arguments for invoking getQueue.
 */
export interface GetQueueOutputArgs {
    /**
     * The name of this Service Bus Queue.
     */
    name: pulumi.Input<string>;
    /**
     * The ID of the ServiceBus Namespace where the Service Bus Queue exists.
     */
    namespaceId?: pulumi.Input<string | undefined>;
    /**
     * @deprecated `namespaceName` will be removed in favour of the property `namespaceId` in version 5.0 of the AzureRM Provider.
     */
    namespaceName?: pulumi.Input<string | undefined>;
    /**
     * @deprecated `resourceGroupName` will be removed in favour of the property `namespaceId` in version 5.0 of the AzureRM Provider.
     */
    resourceGroupName?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getQueue.d.ts.map