1import type * as guardduty from "@distilled.cloud/aws/guardduty";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { Detector } from "./Detector.ts";
5
6/**
7 * Runtime binding for `guardduty:GetRemainingFreeTrialDays`.
8 *
9 * Reports the remaining free-trial days per data source for the given member account ids.
10 * The detector id is injected from the bound {@link Detector}.
11 * Provide the implementation with
12 * `Effect.provide(AWS.GuardDuty.GetRemainingFreeTrialDaysHttp)`.
13 * ### Usage & Coverage
14 * **Example:** Check Free-Trial Days
15 * ```typescript
16 * // init
17 * const getRemainingFreeTrialDays = yield* AWS.GuardDuty.GetRemainingFreeTrialDays(detector);
18 *
19 * // runtime
20 * const { Accounts } = yield* getRemainingFreeTrialDays({
21 * AccountIds: ["111122223333"],
22 * });
23 * ```
24 *
25 * @binding
26 */
27export interface GetRemainingFreeTrialDays extends Binding.Service<
28 GetRemainingFreeTrialDays,
29 "AWS.GuardDuty.GetRemainingFreeTrialDays",
30 (
31 detector: Detector,
32 ) => Effect.Effect<
33 (
34 request: Omit<guardduty.GetRemainingFreeTrialDaysRequest, "DetectorId">,
35 ) => Effect.Effect<
36 guardduty.GetRemainingFreeTrialDaysResponse,
37 guardduty.GetRemainingFreeTrialDaysError
38 >
39 >
40> {}
41export const GetRemainingFreeTrialDays =
42 Binding.Service<GetRemainingFreeTrialDays>(
43 "AWS.GuardDuty.GetRemainingFreeTrialDays",
44 );