1import type * as athena from "@distilled.cloud/aws/athena";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { WorkGroup } from "./WorkGroup.ts";
5
6/**
7 * Runtime binding for `athena:ListNamedQueries`.
8 *
9 * Lists the IDs of the saved (named) queries in the bound workgroup — the
10 * workgroup name is injected automatically. Provide the implementation with
11 * `Effect.provide(AWS.Athena.ListNamedQueriesHttp)`.
12 * ### Saved Queries
13 * **Example:** List the Workgroup's Named Queries
14 * ```typescript
15 * // init — bind the operation to the workgroup
16 * const listNamedQueries = yield* AWS.Athena.ListNamedQueries(workGroup);
17 *
18 * // runtime
19 * const res = yield* listNamedQueries({ MaxResults: 50 });
20 * console.log(res.NamedQueryIds);
21 * ```
22 *
23 * @binding
24 */
25export interface ListNamedQueries extends Binding.Service<
26 ListNamedQueries,
27 "AWS.Athena.ListNamedQueries",
28 (
29 workGroup: WorkGroup,
30 ) => Effect.Effect<
31 (
32 request: Omit<athena.ListNamedQueriesInput, "WorkGroup">,
33 ) => Effect.Effect<
34 athena.ListNamedQueriesOutput,
35 athena.ListNamedQueriesError
36 >
37 >
38> {}
39
40export const ListNamedQueries = Binding.Service<ListNamedQueries>(
41 "AWS.Athena.ListNamedQueries",
42);