1import type {
2 GetIssuingPersonalizationDesignError,
3 GetIssuingPersonalizationDesignRequest,
4 IssuingPersonalizationDesign as StripeIssuingPersonalizationDesign,
5} from "@distilled.cloud/stripe/stripe";
6import type * as Effect from "effect/Effect";
7import * as Binding from "../Binding.ts";
8import type { RuntimeContext } from "../RuntimeContext.ts";
9import type { IssuingPersonalizationDesign } from "./IssuingPersonalizationDesign.ts";
10
11export interface RetrieveIssuingPersonalizationDesignRequest extends Omit<
12 GetIssuingPersonalizationDesignRequest,
13 "personalization_design"
14> {}
15
16/**
17 * Retrieve a bound Stripe Issuing Personalization Design over HTTP.
18 *
19 * ### Reading a Personalization Design
20 * **Example:** Bind and retrieve
21 * ```typescript
22 * const retrieve = yield* Stripe.RetrieveIssuingPersonalizationDesign(design);
23 * const live = yield* retrieve();
24 * ```
25 *
26 * @binding
27 * @product Issuing
28 */
29export interface RetrieveIssuingPersonalizationDesign extends Binding.Service<
30 RetrieveIssuingPersonalizationDesign,
31 "Stripe.RetrieveIssuingPersonalizationDesign",
32 (
33 design: IssuingPersonalizationDesign,
34 ) => Effect.Effect<
35 (
36 request?: RetrieveIssuingPersonalizationDesignRequest,
37 ) => Effect.Effect<
38 StripeIssuingPersonalizationDesign,
39 GetIssuingPersonalizationDesignError,
40 RuntimeContext
41 >
42 >
43> {}
44
45export const RetrieveIssuingPersonalizationDesign =
46 Binding.Service<RetrieveIssuingPersonalizationDesign>(
47 "Stripe.RetrieveIssuingPersonalizationDesign",
48 );