import type * as cloudcontrol from "@distilled.cloud/aws/cloudcontrol"; import type * as Effect from "effect/Effect"; import * as Binding from "../../Binding.ts"; import type { CloudControlBindingOptions } from "./BindingOptions.ts"; /** * Runtime binding for `cloudformation:DeleteResource`. * * Deletes a Cloud Control-supported resource. The call is asynchronous: poll * the returned `RequestToken` with {@link GetResourceRequestStatus} until the * operation settles. Because Cloud Control invokes the resource type's delete * handler with the caller's credentials, pass the handler's underlying * permissions via * {@link CloudControlBindingOptions.handlerPolicyStatements}. * ### Provisioning Resources * **Example:** Delete an SSM Parameter at runtime * ```typescript * const deleteResource = yield* CloudControl.DeleteResource({ * handlerPolicyStatements: [ * { Effect: "Allow", Action: ["ssm:DeleteParameter"], Resource: ["*"] }, * ], * }); * * // runtime * const deleted = yield* deleteResource({ * TypeName: "AWS::SSM::Parameter", * Identifier: "/tenants/acme/greeting", * }); * ``` * * @binding */ export interface DeleteResource extends Binding.Service Effect.Effect<(request: cloudcontrol.DeleteResourceInput) => Effect.Effect>> { } export declare const DeleteResource: DeleteResource; //# sourceMappingURL=DeleteResource.d.ts.map