import * as Schema from "effect/Schema";
import { API } from "../client";
import * as T from "../traits";
// Input Schema
export const PostInvoiceRenderingTemplatesTemplateArchiveInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    template: Schema.String.pipe(T.PathParam()),
    expand: Schema.optional(Schema.Array(Schema.String)),
}).pipe(T.Http({
    method: "POST",
    path: "/v1/invoice_rendering_templates/{template}/archive",
    contentType: "form-urlencoded",
}));
// Output Schema
export const PostInvoiceRenderingTemplatesTemplateArchiveOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    created: Schema.Number,
    id: Schema.String,
    livemode: Schema.Boolean,
    metadata: Schema.NullOr(Schema.Record(Schema.String, Schema.String)),
    nickname: Schema.NullOr(Schema.String),
    object: Schema.Literals(["invoice_rendering_template"]),
    status: Schema.Literals(["active", "archived"]),
    version: Schema.Number,
});
// The operation
/**
 * Archive an invoice rendering template
 *
 * <p>Updates the status of an invoice rendering template to ‘archived’ so no new Stripe objects (customers, invoices, etc.) can reference it. The template can also no longer be updated. However, if the template is already set on a Stripe object, it will continue to be applied on invoices generated by it.</p>
 */
export const PostInvoiceRenderingTemplatesTemplateArchive = 
/*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: PostInvoiceRenderingTemplatesTemplateArchiveInput,
    outputSchema: PostInvoiceRenderingTemplatesTemplateArchiveOutput,
}));
//# sourceMappingURL=PostInvoiceRenderingTemplatesTemplateArchive.js.map