1import type * as medicalimaging from "@distilled.cloud/aws/medical-imaging";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { Datastore } from "./Datastore.ts";
5
6/**
7 * `ListDICOMImportJobs` request with `datastoreId` injected from the bound
8 * data store.
9 */
10export interface ListDICOMImportJobsRequest extends Omit<
11 medicalimaging.ListDICOMImportJobsRequest,
12 "datastoreId"
13> {}
14
15/**
16 * Runtime binding for the `ListDICOMImportJobs` operation (IAM action
17 * `medical-imaging:ListDICOMImportJobs`), scoped to one {@link Datastore}.
18 *
19 * Lists the data store's DICOM import jobs, optionally filtered by
20 * `jobStatus`. Provide the implementation with
21 * `Effect.provide(AWS.MedicalImaging.ListDICOMImportJobsHttp)`.
22 *
23 * ### Importing DICOM Data
24 * **Example:** List In-Progress Import Jobs
25 * ```typescript
26 * const listImportJobs = yield* MedicalImaging.ListDICOMImportJobs(datastore);
27 *
28 * const jobs = yield* listImportJobs({ jobStatus: "IN_PROGRESS" });
29 * // jobs.jobSummaries[i].jobId
30 * ```
31 *
32 * @binding
33 */
34export interface ListDICOMImportJobs extends Binding.Service<
35 ListDICOMImportJobs,
36 "AWS.MedicalImaging.ListDICOMImportJobs",
37 (
38 datastore: Datastore,
39 ) => Effect.Effect<
40 (
41 request?: ListDICOMImportJobsRequest,
42 ) => Effect.Effect<
43 medicalimaging.ListDICOMImportJobsResponse,
44 medicalimaging.ListDICOMImportJobsError
45 >
46 >
47> {}
48export const ListDICOMImportJobs = Binding.Service<ListDICOMImportJobs>(
49 "AWS.MedicalImaging.ListDICOMImportJobs",
50);