import * as pulumi from "@pulumi/pulumi";
import * as outputs from "./types/output";
/**
 * This data source allows you to retrieve information about [Notification Destinations](https://docs.databricks.com/api/workspace/notificationdestinations). Notification Destinations are used to send notifications for query alerts and jobs to external systems such as email, Slack, Microsoft Teams, PagerDuty, or generic webhooks.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as databricks from "@pulumi/databricks";
 *
 * const email = new databricks.NotificationDestination("email", {
 *     displayName: "Email Destination",
 *     config: {
 *         email: {
 *             addresses: ["abc@gmail.com"],
 *         },
 *     },
 * });
 * const slack = new databricks.NotificationDestination("slack", {
 *     displayName: "Slack Destination",
 *     config: {
 *         slack: {
 *             url: "https://hooks.slack.com/services/...",
 *         },
 *     },
 * });
 * // Lists all notification desitnations
 * const _this = databricks.getNotificationDestinations({});
 * // List destinations of specific type and name
 * const filteredNotification = databricks.getNotificationDestinations({
 *     displayNameContains: "Destination",
 *     type: "EMAIL",
 * });
 * ```
 */
export declare function getNotificationDestinations(args?: GetNotificationDestinationsArgs, opts?: pulumi.InvokeOptions): Promise<GetNotificationDestinationsResult>;
/**
 * A collection of arguments for invoking getNotificationDestinations.
 */
export interface GetNotificationDestinationsArgs {
    /**
     * A **case-insensitive** substring to filter Notification Destinations by their display name.
     */
    displayNameContains?: string;
    /**
     * The type of the Notification Destination to filter by. Valid values are:
     * * `EMAIL` - Filters Notification Destinations of type Email.
     * * `MICROSOFT_TEAMS` - Filters Notification Destinations of type Microsoft Teams.
     * * `PAGERDUTY` - Filters Notification Destinations of type PagerDuty.
     * * `SLACK` - Filters Notification Destinations of type Slack.
     * * `WEBHOOK` - Filters Notification Destinations of type Webhook.
     */
    type?: string;
}
/**
 * A collection of values returned by getNotificationDestinations.
 */
export interface GetNotificationDestinationsResult {
    readonly displayNameContains?: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * A list of Notification Destinations matching the specified criteria. Each element contains the following attributes:
     */
    readonly notificationDestinations: outputs.GetNotificationDestinationsNotificationDestination[];
    readonly type?: string;
}
/**
 * This data source allows you to retrieve information about [Notification Destinations](https://docs.databricks.com/api/workspace/notificationdestinations). Notification Destinations are used to send notifications for query alerts and jobs to external systems such as email, Slack, Microsoft Teams, PagerDuty, or generic webhooks.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as databricks from "@pulumi/databricks";
 *
 * const email = new databricks.NotificationDestination("email", {
 *     displayName: "Email Destination",
 *     config: {
 *         email: {
 *             addresses: ["abc@gmail.com"],
 *         },
 *     },
 * });
 * const slack = new databricks.NotificationDestination("slack", {
 *     displayName: "Slack Destination",
 *     config: {
 *         slack: {
 *             url: "https://hooks.slack.com/services/...",
 *         },
 *     },
 * });
 * // Lists all notification desitnations
 * const _this = databricks.getNotificationDestinations({});
 * // List destinations of specific type and name
 * const filteredNotification = databricks.getNotificationDestinations({
 *     displayNameContains: "Destination",
 *     type: "EMAIL",
 * });
 * ```
 */
export declare function getNotificationDestinationsOutput(args?: GetNotificationDestinationsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetNotificationDestinationsResult>;
/**
 * A collection of arguments for invoking getNotificationDestinations.
 */
export interface GetNotificationDestinationsOutputArgs {
    /**
     * A **case-insensitive** substring to filter Notification Destinations by their display name.
     */
    displayNameContains?: pulumi.Input<string>;
    /**
     * The type of the Notification Destination to filter by. Valid values are:
     * * `EMAIL` - Filters Notification Destinations of type Email.
     * * `MICROSOFT_TEAMS` - Filters Notification Destinations of type Microsoft Teams.
     * * `PAGERDUTY` - Filters Notification Destinations of type PagerDuty.
     * * `SLACK` - Filters Notification Destinations of type Slack.
     * * `WEBHOOK` - Filters Notification Destinations of type Webhook.
     */
    type?: pulumi.Input<string>;
}
