import * as mediapackagev2 from "@distilled.cloud/aws/mediapackagev2"; import * as Effect from "effect/Effect"; /** * Coerce a MediaPackage wire tag map (values are `string | undefined`) into a * plain `Record`, dropping any undefined values. */ export declare const toMpTagRecord: (tags: { [key: string]: string | undefined; } | undefined) => Record; /** * Sync tags on a MediaPackage resource: diff the OBSERVED cloud tags against * the desired set and apply only the delta. */ export declare const syncMpTags: (arn: string, observedTags: Record, desiredTags: Record) => Effect.Effect; /** * Explicitly-typed pipeable retry helper. Inlining `Effect.retry` in a * provider lifecycle op leaks `Retry.Return`'s conditional into declaration * emit and widens the provider layer to `unknown` R for every consumer of * `AWS.providers()`. * * MediaPackage rejects deleting a parent whose children are still being * cleaned up (and concurrent mutations of the same resource) with * `ConflictException`; both settle within seconds. */ export declare const retryWhileMpConflict: (self: Effect.Effect) => Effect.Effect; /** * Enumerate every channel group in the account/region. */ export declare const listAllChannelGroups: () => Effect.Effect; /** * Enumerate every channel in a channel group; a missing group yields `[]` * (the typed not-found), so callers can race against a concurrent delete. */ export declare const listGroupChannels: (channelGroupName: string) => Effect.Effect; /** * Enumerate every origin endpoint in a channel; a missing channel/group * yields `[]` (the typed not-found). */ export declare const listChannelEndpoints: (channelGroupName: string, channelName: string) => Effect.Effect; /** * Delete a channel after reaping its origin endpoints. MediaPackage refuses * to delete a channel that still has endpoints, so an orphan sweep that * targets a channel without enumerating its children would Conflict until * the retry budget ran out and leak the channel. A normal stack destroy * deletes the endpoints first, so the reap observes nothing and is free. * Every step is idempotent (deleting a missing endpoint/channel succeeds). */ export declare const deleteChannelWithEndpoints: (channelGroupName: string, channelName: string) => Effect.Effect; /** * Compare two IAM policy documents for semantic equality: parse both as JSON * and compare the normalized serialization, so whitespace/key-order changes * introduced by AWS never register as drift. Falls back to strict string * equality when either side is not valid JSON. */ export declare const policiesEqual: (a: string | undefined, b: string | undefined) => boolean; /** * Structural "desired is a subset of observed" comparison used for drift * detection. Only keys present (and defined) in `desired` are compared, so * server-side defaults on the observed state never register as drift. Arrays * must match pairwise and in length so removed/added items are detected. */ export declare const matchesDesired: (desired: unknown, observed: unknown) => boolean; //# sourceMappingURL=internal.d.ts.map