import * as lexm from "@distilled.cloud/aws/lex-models-v2"; import * as Effect from "effect/Effect"; declare const LexOperationFailed_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: "LexOperationFailed"; } & Readonly; /** A Lex V2 resource ended in a terminal `Failed` state (or never settled). */ export declare class LexOperationFailed extends LexOperationFailed_base<{ readonly resourceId: string; readonly status: string; readonly reasons: readonly string[]; }> { } /** * Coerce a generated physical name into Lex's name pattern * `^([0-9a-zA-Z][_-]?){1,100}$` — every `-`/`_` must be preceded by an * alphanumeric (no leading or consecutive separators). */ export declare const toLexName: (name: string) => string; /** Convert a Lex wire tag map (values may be undefined) into a plain record. */ export declare const toTagRecord: (tags: { [key: string]: string | undefined; } | undefined) => Record; /** * Retry `ConflictException`s on a bounded schedule. Lex serializes most * mutations per bot — a concurrent build/version/update surfaces as a * transient conflict. * * The explicit `Effect.Effect` return annotation is load-bearing: * inlining retry/repeat combinators in provider lifecycle code lets their * conditional return types survive into declaration emit and widen the * provider layer to `unknown` (see `../EC2/VolumeAttachment.ts`). */ export declare const retryWhileConflict: (self: Effect.Effect) => Effect.Effect; /** * Poll `describeBot` until the bot leaves its transient statuses * (`Creating`/`Versioning`/`Updating`/`Importing`). Fails typed on `Failed`. * Bot mutations settle in seconds — budget ~80s. */ export declare const waitForBotSettled: (botId: string) => Effect.Effect; /** * Poll `describeBotLocale` until the DRAFT locale leaves its create-time * transient statuses (settles at `NotBuilt`/`Built`/`ReadyExpressTesting`). * Fails typed on `Failed`. */ export declare const waitForLocaleSettled: (botId: string, localeId: string) => Effect.Effect; /** * Poll `describeBotLocale` until a triggered build lands on `Built`. * `Building` and `ReadyExpressTesting` are intermediate build states. A tiny * bot normally builds in under a minute; keep the poll bounded to ~90 seconds * so a stalled AWS build fails promptly. */ export declare const waitForLocaleBuilt: (botId: string, localeId: string) => Effect.Effect; /** * Poll `describeBotAlias` until the alias leaves `Creating`. Fails typed on * `Failed`. */ export declare const waitForAliasSettled: (botId: string, botAliasId: string) => Effect.Effect; /** * Read the observed tags of a Lex resource by ARN. Best-effort — a race with * deletion reports no tags. */ export declare const readLexTags: (arn: string) => Effect.Effect, never, import("@distilled.cloud/aws/Credentials").Credentials | import("effect/unstable/http/HttpClient").HttpClient>; /** * Sync tags on a Lex resource: diff OBSERVED cloud tags against the desired * set and apply only the delta. */ export declare const syncLexTags: (arn: string, observed: Record, desired: Record) => Effect.Effect; export {}; //# sourceMappingURL=internal.d.ts.map