1import type * as licensemanager from "@distilled.cloud/aws/license-manager";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Request for {@link DeleteGrant}.
7 */
8export interface DeleteGrantRequest extends licensemanager.DeleteGrantRequest {}
9
10/**
11 * Runtime binding for `license-manager:DeleteGrant` — retire a grant (e.g.
12 * when a customer's subscription lapses). The grant's current version must
13 * be passed as `Version`.
14 *
15 * Provide the implementation with
16 * `Effect.provide(AWS.LicenseManager.DeleteGrantHttp)`.
17 * ### Managing Grants
18 * **Example:** Delete a Grant
19 * ```typescript
20 * // init
21 * const deleteGrant = yield* AWS.LicenseManager.DeleteGrant();
22 *
23 * // runtime
24 * const { Grant } = yield* getGrant({ GrantArn: grantArn });
25 * yield* deleteGrant({ GrantArn: grantArn, Version: Grant!.Version! });
26 * ```
27 *
28 * @binding
29 */
30export interface DeleteGrant extends Binding.Service<
31 DeleteGrant,
32 "AWS.LicenseManager.DeleteGrant",
33 () => Effect.Effect<
34 (
35 request: DeleteGrantRequest,
36 ) => Effect.Effect<
37 licensemanager.DeleteGrantResponse,
38 licensemanager.DeleteGrantError
39 >
40 >
41> {}
42export const DeleteGrant = Binding.Service<DeleteGrant>(
43 "AWS.LicenseManager.DeleteGrant",
44);