import { FastifyReply } from "fastify"; import { StripeProductPostDTO, StripeProductPutDTO } from "../dtos/stripe-product.dto"; import { StripeProductAdminService } from "../services/stripe-product-admin.service"; /** * StripeProductController * * Administrative REST API controller for managing Stripe products. * All endpoints require administrator authentication. * * Provides CRUD operations for products: * - List products with optional active filter * - Get individual product by ID * - Create new products (creates both Stripe product and local DB record) * - Update existing products (updates both Stripe and local DB) * - Archive products (sets active=false in both systems) * * All responses follow JSON:API specification format. * * @example * ``` * GET /billing/products?active=true * GET /billing/products/:id * POST /billing/products * PUT /billing/products/:id * POST /billing/products/:id/archive * ``` */ export declare class StripeProductController { private readonly stripeProductAdminService; constructor(stripeProductAdminService: StripeProductAdminService); listProducts(reply: FastifyReply, query: any, active?: string): Promise; getProduct(reply: FastifyReply, id: string): Promise; createProduct(reply: FastifyReply, body: StripeProductPostDTO): Promise; updateProduct(reply: FastifyReply, id: string, body: StripeProductPutDTO): Promise; archiveProduct(reply: FastifyReply, id: string): Promise; reactivateProduct(reply: FastifyReply, id: string): Promise; } //# sourceMappingURL=stripe-product.controller.d.ts.map