1import type * as notifications from "@distilled.cloud/aws/notifications";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Request for {@link ListManagedNotificationConfigurations}.
7 */
8export interface ListManagedNotificationConfigurationsRequest
9 extends notifications.ListManagedNotificationConfigurationsRequest {}
10
11/**
12 * Runtime binding for `notifications:ListManagedNotificationConfigurations`.
13 *
14 * List the AWS-managed notification configurations (the AWS Health
15 * Security/Operations/Issue/Billing categories), optionally filtered by an
16 * associated channel. Provide the implementation with
17 * `Effect.provide(AWS.Notifications.ListManagedNotificationConfigurationsHttp)`.
18 * ### Reading AWS-Managed Notifications
19 * **Example:** List Managed Notification Configurations
20 * ```typescript
21 * // init — account-level binding takes no resource
22 * const listManagedNotificationConfigurations =
23 * yield* AWS.Notifications.ListManagedNotificationConfigurations();
24 *
25 * // runtime
26 * const result = yield* listManagedNotificationConfigurations();
27 * const names = result.managedNotificationConfigurations.map((c) => c.name);
28 * ```
29 *
30 * @binding
31 */
32export interface ListManagedNotificationConfigurations extends Binding.Service<
33 ListManagedNotificationConfigurations,
34 "AWS.Notifications.ListManagedNotificationConfigurations",
35 () => Effect.Effect<
36 (
37 request?: ListManagedNotificationConfigurationsRequest,
38 ) => Effect.Effect<
39 notifications.ListManagedNotificationConfigurationsResponse,
40 notifications.ListManagedNotificationConfigurationsError
41 >
42 >
43> {}
44
45export const ListManagedNotificationConfigurations =
46 Binding.Service<ListManagedNotificationConfigurations>(
47 "AWS.Notifications.ListManagedNotificationConfigurations",
48 );