1import type * as iotfleetwise from "@distilled.cloud/aws/iotfleetwise";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { DecoderManifest } from "./DecoderManifest.ts";
5
6/**
7 * `ListDecoderManifestSignals` request with `name` injected from the bound
8 * decoder manifest.
9 */
10export interface ListDecoderManifestSignalsRequest extends Omit<
11 iotfleetwise.ListDecoderManifestSignalsRequest,
12 "name"
13> {}
14
15/**
16 * Runtime binding for the `ListDecoderManifestSignals` operation (IAM
17 * action `iotfleetwise:ListDecoderManifestSignals`), scoped to one
18 * {@link DecoderManifest}.
19 *
20 * Lists the signal decoders (CAN/OBD/message decoding rules) defined in
21 * the bound decoder manifest. Provide the implementation with
22 * `Effect.provide(AWS.IoTFleetWise.ListDecoderManifestSignalsHttp)`.
23 *
24 * ### Inspecting Signal Definitions
25 * **Example:** List a Decoder's Signal Decoders
26 * ```typescript
27 * const listDecoderSignals =
28 * yield* IoTFleetWise.ListDecoderManifestSignals(decoder);
29 *
30 * const { signalDecoders } = yield* listDecoderSignals();
31 * ```
32 *
33 * @binding
34 */
35export interface ListDecoderManifestSignals extends Binding.Service<
36 ListDecoderManifestSignals,
37 "AWS.IoTFleetWise.ListDecoderManifestSignals",
38 (
39 decoder: DecoderManifest,
40 ) => Effect.Effect<
41 (
42 request?: ListDecoderManifestSignalsRequest,
43 ) => Effect.Effect<
44 iotfleetwise.ListDecoderManifestSignalsResponse,
45 iotfleetwise.ListDecoderManifestSignalsError
46 >
47 >
48> {}
49export const ListDecoderManifestSignals =
50 Binding.Service<ListDecoderManifestSignals>(
51 "AWS.IoTFleetWise.ListDecoderManifestSignals",
52 );