1import type * as mi from "@distilled.cloud/aws/iot-managed-integrations";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Request for {@link ListSchemaVersions}.
7 */
8export interface ListSchemaVersionsRequest
9 extends mi.ListSchemaVersionsRequest {}
10
11/**
12 * Runtime binding for `iotmanagedintegrations:ListSchemaVersions`
13 * (account-level).
14 *
15 * Lists capability or definition schema versions in the Managed
16 * integrations schema catalog, optionally filtered by namespace, schema id,
17 * visibility, or semantic version. Provide the implementation with
18 * `Effect.provide(AWS.IoTManagedIntegrations.ListSchemaVersionsHttp)`.
19 *
20 * ### Working with the Schema Catalog
21 * **Example:** List Matter Capability Schemas
22 * ```typescript
23 * const listSchemaVersions = yield* IoTManagedIntegrations.ListSchemaVersions();
24 *
25 * const { Items } = yield* listSchemaVersions({
26 * Type: "capability",
27 * Namespace: "matter",
28 * });
29 * ```
30 *
31 * @binding
32 */
33export interface ListSchemaVersions extends Binding.Service<
34 ListSchemaVersions,
35 "AWS.IoTManagedIntegrations.ListSchemaVersions",
36 () => Effect.Effect<
37 (
38 request: ListSchemaVersionsRequest,
39 ) => Effect.Effect<
40 mi.ListSchemaVersionsResponse,
41 mi.ListSchemaVersionsError
42 >
43 >
44> {}
45export const ListSchemaVersions = Binding.Service<ListSchemaVersions>(
46 "AWS.IoTManagedIntegrations.ListSchemaVersions",
47);