1import type * as qapps from "@distilled.cloud/aws/qapps";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { QApp } from "./QApp.ts";
5
6/**
7 * Request for {@link DisassociateLibraryItemReview} — `instanceId` is injected from the bound Q App.
8 */
9export interface DisassociateLibraryItemReviewRequest extends Omit<
10 qapps.DisassociateLibraryItemReviewInput,
11 "instanceId"
12> {}
13
14/**
15 * Runtime binding for `qapps:DisassociateLibraryItemReview`.
16 *
17 * Removes the calling identity's upvote from a library item. Provide the implementation with
18 * `Effect.provide(AWS.QApps.DisassociateLibraryItemReviewHttp)`.
19 * ### Library Items
20 * **Example:** Remove an Upvote
21 * ```typescript
22 * // init — bind the operation to the Q App
23 * const disassociateLibraryItemReview = yield* AWS.QApps.DisassociateLibraryItemReview(app);
24 *
25 * // runtime
26 * yield* disassociateLibraryItemReview({ libraryItemId });
27 * ```
28 *
29 * @binding
30 */
31export interface DisassociateLibraryItemReview extends Binding.Service<
32 DisassociateLibraryItemReview,
33 "AWS.QApps.DisassociateLibraryItemReview",
34 (
35 app: QApp,
36 ) => Effect.Effect<
37 (
38 request: DisassociateLibraryItemReviewRequest,
39 ) => Effect.Effect<
40 qapps.DisassociateLibraryItemReviewResponse,
41 qapps.DisassociateLibraryItemReviewError
42 >
43 >
44> {}
45
46export const DisassociateLibraryItemReview =
47 Binding.Service<DisassociateLibraryItemReview>(
48 "AWS.QApps.DisassociateLibraryItemReview",
49 );