1import type * as dataexchange from "@distilled.cloud/aws/dataexchange";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { Revision } from "./Revision.ts";
5
6/**
7 * Runtime binding for `dataexchange:DeleteAsset`.
8 *
9 * Deletes an asset from the bound (not-yet-finalized) revision. The
10 * data set and revision ids are injected from the binding.
11 * Provide the implementation with
12 * `Effect.provide(AWS.DataExchange.DeleteAssetHttp)`.
13 * ### Managing Assets
14 * **Example:** Remove A Bad Import
15 * ```typescript
16 * const deleteAsset = yield* AWS.DataExchange.DeleteAsset(revision);
17 *
18 * // runtime
19 * yield* deleteAsset({ AssetId: assetId });
20 * ```
21 *
22 * @binding
23 */
24export interface DeleteAsset extends Binding.Service<
25 DeleteAsset,
26 "AWS.DataExchange.DeleteAsset",
27 (
28 revision: Revision,
29 ) => Effect.Effect<
30 (
31 request: Omit<
32 dataexchange.DeleteAssetRequest,
33 "DataSetId" | "RevisionId"
34 >,
35 ) => Effect.Effect<
36 dataexchange.DeleteAssetResponse,
37 dataexchange.DeleteAssetError
38 >
39 >
40> {}
41export const DeleteAsset = Binding.Service<DeleteAsset>(
42 "AWS.DataExchange.DeleteAsset",
43);