1import type * as location from "@distilled.cloud/aws/location";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Lists the account's Location batch metadata jobs (e.g. batch address validation jobs).
7 *
8 * Runtime binding for the `ListJobs` operation (IAM action
9 * `geo:ListJobs`), account-scoped — batch jobs are created at runtime so the
10 * grant is on `*`. Provide the implementation with
11 * `Effect.provide(AWS.Location.ListJobsHttp)`.
12 *
13 * ### Managing Batch Jobs
14 * **Example:** List Batch Jobs
15 * ```typescript
16 * const listJobs = yield* Location.ListJobs();
17 *
18 * const page = yield* listJobs();
19 * // page.Entries → [{ JobId, Status, Action }, …]
20 * ```
21 *
22 * @binding
23 */
24export interface ListJobs extends Binding.Service<
25 ListJobs,
26 "AWS.Location.ListJobs",
27 () => Effect.Effect<
28 (
29 request?: location.ListJobsRequest,
30 ) => Effect.Effect<location.ListJobsResponse, location.ListJobsError>
31 >
32> {}
33export const ListJobs = Binding.Service<ListJobs>("AWS.Location.ListJobs");