import * as ag from "@distilled.cloud/aws/api-gateway"; import * as Effect from "effect/Effect"; /** * Wraps an API Gateway mutation so that recoverable 4xx responses are * retried with backoff: * * - `BadRequestException` with `apiStatus is UPDATING` or * `already an update in progress` (transient, clears in seconds) * * Drop-in usage: * * ```ts * yield* retryOnApiStatusUpdating( * ag.createDeployment({ ... }), * ); * ``` */ export declare const retryOnApiStatusUpdating: (effect: Effect.Effect) => Effect.Effect; declare const RestApiStillExists_base: new = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & { readonly _tag: "RestApiStillExists"; } & Readonly; declare class RestApiStillExists extends RestApiStillExists_base<{ readonly restApiId: string; }> { } /** * Idempotently delete a REST API and observe it disappear. * * Every provider/test cleanup path uses this helper so nuke, normal destroy, * and interrupted-run reapers all share the same bounded throttle handling. */ export declare const deleteRestApiAndWait: (restApiId: string) => Effect.Effect; export declare const restApiArn: (region: string, restApiId: string) => string; export declare const stageArn: (region: string, restApiId: string, stageName: string) => string; export declare const apiKeyArn: (region: string, apiKeyId: string) => string; export declare const usagePlanArn: (region: string, usagePlanId: string) => string; export declare const domainNameArn: (region: string, domainName: string) => string; export declare const vpcLinkArn: (region: string, vpcLinkId: string) => string; export declare const syncTags: (args_0: { resourceArn: string; oldTags: Record; newTags: Record; }) => Effect.Effect; export {}; //# sourceMappingURL=common.d.ts.map