import * as Provider from "../../Provider.ts"; import { Resource } from "../../Resource.ts"; import { AWSEnvironment } from "../Environment.ts"; import type { Providers } from "../Providers.ts"; export interface LexiconProps { /** * Name of the lexicon — an alphanumeric string up to 20 characters * (`[0-9A-Za-z]{1,20}`). If omitted, a unique name is generated. Changing * this replaces the lexicon. */ lexiconName?: string; /** * The lexicon content, a W3C Pronunciation Lexicon Specification (PLS) * XML document. Updatable in place — `PutLexicon` is a true upsert. */ content: string; } export interface Lexicon extends Resource<"AWS.Polly.Lexicon", LexiconProps, { /** * Name of the lexicon (its identity within the region). Pass it as * `LexiconNames` to `SynthesizeSpeech` / `StartSpeechSynthesisTask`. */ lexiconName: string; /** * ARN of the lexicon, e.g. `arn:aws:polly:us-east-1:123456789012:lexicon/casing`. */ lexiconArn: string; /** * Phonetic alphabet declared by the PLS document (`ipa` or `x-sampa`). */ alphabet: string | undefined; /** * Language code declared by the PLS document, e.g. `en-US`. */ languageCode: string | undefined; /** * Number of lexemes in the lexicon. */ lexemesCount: number | undefined; }, never, Providers> { } /** * An Amazon Polly pronunciation lexicon — a W3C PLS document stored in a * region that customizes how `SynthesizeSpeech` pronounces specific words. * Identity is the region-scoped `lexiconName`; the PLS `content` is * updatable in place. * * ### Managing Lexicons * **Example:** Store a pronunciation lexicon * ```typescript * const lexicon = yield* AWS.Polly.Lexicon("Acronyms", { * lexiconName: "acronyms", * content: ` * * W3CWorld Wide Web Consortium * `, * }); * ``` * * **Example:** Synthesize speech with the lexicon applied * ```typescript * const synthesizeSpeech = yield* AWS.Polly.SynthesizeSpeech(); * const result = yield* synthesizeSpeech({ * OutputFormat: "mp3", * VoiceId: "Joanna", * Text: "The W3C maintains the PLS standard.", * LexiconNames: [lexicon.lexiconName], * }); * ``` * * @resource */ export declare const Lexicon: import("../../Resource.ts").ResourceClass; export declare const LexiconProvider: () => import("effect/Layer").Layer, never, AWSEnvironment | import("@distilled.cloud/aws/Credentials").Credentials | import("effect/unstable/http/HttpClient").HttpClient | import("../../Stack.ts").Stack | import("../../Stage.ts").Stage>; //# sourceMappingURL=Lexicon.d.ts.map