1import type * as sesv2 from "@distilled.cloud/aws/sesv2";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `sesv2:GetDomainStatisticsReport`.
7 *
8 * Retrieves inbox-placement and engagement statistics for a domain identity
9 * over a date range — the data behind the SES deliverability dashboard.
10 * Requires the deliverability dashboard subscription; an unknown domain
11 * surfaces the typed `NotFoundException`. Account-level operation. Provide the
12 * implementation with `Effect.provide(AWS.SES.GetDomainStatisticsReportHttp)`.
13 * ### Deliverability Insights
14 * **Example:** Read a Domain's Deliverability Report
15 * ```typescript
16 * // init — account-level binding, no resource argument
17 * const getReport = yield* SES.GetDomainStatisticsReport();
18 *
19 * // runtime
20 * const report = yield* getReport({
21 * Domain: "example.com",
22 * StartDate: new Date(Date.now() - 7 * 24 * 3600 * 1000),
23 * EndDate: new Date(),
24 * });
25 * ```
26 *
27 * @binding
28 */
29export interface GetDomainStatisticsReport extends Binding.Service<
30 GetDomainStatisticsReport,
31 "AWS.SES.GetDomainStatisticsReport",
32 () => Effect.Effect<
33 (
34 request: sesv2.GetDomainStatisticsReportRequest,
35 ) => Effect.Effect<
36 sesv2.GetDomainStatisticsReportResponse,
37 sesv2.GetDomainStatisticsReportError
38 >
39 >
40> {}
41export const GetDomainStatisticsReport =
42 Binding.Service<GetDomainStatisticsReport>(
43 "AWS.SES.GetDomainStatisticsReport",
44 );