import * as oam from "@distilled.cloud/aws/oam"; import * as Retry from "@distilled.cloud/aws/Retry"; import * as Effect from "effect/Effect"; /** One non-nested, bounded retry owner for OAM control-plane mutations. */ export declare const retryOamMutation: (effect: Effect.Effect, options?: { conflict?: boolean; }) => Effect.Effect>; declare const SinkLinksStillAttached_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: "SinkLinksStillAttached"; } & Readonly; declare class SinkLinksStillAttached extends SinkLinksStillAttached_base<{ readonly sinkArn: string; readonly count: number; }> { } declare const OamResourceStillExists_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: "OamResourceStillExists"; } & Readonly; declare class OamResourceStillExists extends OamResourceStillExists_base<{ readonly arn: string; }> { } /** * Delete a sink only after attached links have drained, then observe absence. */ export declare const deleteSinkAndWait: (sinkArn: string) => Effect.Effect; /** Idempotently delete a link and observe absence before its sink can delete. */ export declare const deleteLinkAndWait: (linkArn: string) => Effect.Effect; /** * Read the observed tags on an OAM sink or link, tolerating a * not-yet-visible resource (returns `{}`). */ export declare const readOamTags: (resourceArn: string) => Effect.Effect, import("@distilled.cloud/aws/Errors").AccessDeniedException | import("@distilled.cloud/aws/Errors").EndpointError | import("@distilled.cloud/aws/Errors").ExpiredTokenException | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/aws/Errors").IncompleteSignature | import("@distilled.cloud/aws/Errors").InternalFailure | import("@distilled.cloud/aws/Errors").MalformedHttpRequestException | import("@distilled.cloud/aws/Errors").NoMatchingRuleError | import("@distilled.cloud/aws/Errors").NotAuthorized | import("@distilled.cloud/aws/Errors").OperationAborted | import("@distilled.cloud/aws/Errors").OptInRequired | import("@distilled.cloud/aws/Errors").RequestAbortedException | import("@distilled.cloud/aws/Errors").RequestEntityTooLargeException | import("@distilled.cloud/aws/Errors").RequestExpired | import("@distilled.cloud/aws/Errors").RequestTimeoutException | import("@distilled.cloud/aws/Errors").ServiceUnavailable | import("@distilled.cloud/aws/Errors").ThrottlingException | oam.TooManyRequestsException | import("@distilled.cloud/aws/Errors").UnknownAwsError | import("@distilled.cloud/aws/Errors").UnknownOperationException | import("@distilled.cloud/aws/Errors").UnrecognizedClientException | import("@distilled.cloud/aws/Errors").ValidationError, import("@distilled.cloud/aws/Credentials").Credentials | import("effect/unstable/http/HttpClient").HttpClient>; /** * Converge the tags on an OAM sink or link to the desired user tags merged * with the internal Alchemy ownership tags, diffing against OBSERVED cloud * tags so adoption converges. */ export declare const syncOamTags: (resourceArn: string, id: string, userTags: Record | undefined) => Effect.Effect; export {}; //# sourceMappingURL=internal.d.ts.map