import type * as cloudfront from "@distilled.cloud/aws/cloudfront"; import type * as Effect from "effect/Effect"; import * as Binding from "../../Binding.ts"; import type { Distribution } from "./Distribution.ts"; export interface CreateInvalidationRequest extends Omit { } /** * Grants a Function permission to create CloudFront cache invalidations for a * distribution at runtime — the classic post-publish/CMS purge pattern. * ### Invalidating from a Function * **Example:** Purge Paths After a Content Update * ```typescript * const invalidate = yield* CloudFront.CreateInvalidation(distribution); * * const response = yield* invalidate({ * InvalidationBatch: { * CallerReference: crypto.randomUUID(), * Paths: { Quantity: 1, Items: ["/blog/*"] }, * }, * }); * // response.Invalidation?.Id * ``` * * @binding */ export interface CreateInvalidation extends Binding.Service Effect.Effect<(request: CreateInvalidationRequest) => Effect.Effect>> { } export declare const CreateInvalidation: CreateInvalidation; //# sourceMappingURL=CreateInvalidation.d.ts.map