import { Command } from '@oclif/core';
/**
 * TEACHING NOTE: This command starts a web server!
 *
 * What is Fastify?
 * - A web framework (like Express, but faster)
 * - Handles HTTP requests (GET /products, POST /products, etc.)
 * - Returns responses (JSON data)
 *
 * What is CORS?
 * - Cross-Origin Resource Sharing
 * - Allows your Angular app (http://localhost:4200) to talk to API (http://localhost:3000)
 * - Without CORS, browsers block these requests for security
 */
export default class Serve extends Command {
    static description: string;
    static examples: string[];
    static flags: {
        port: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
        host: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
    };
    run(): Promise<void>;
    private loadConfig;
    /**
     * TEACHING NOTE: Register plugins
     * Plugins add functionality to Fastify
     * - CORS: Allow cross-origin requests
     * - Prisma: Database connection (we'll create this)
     */
    private registerPlugins;
    /**
     * TEACHING NOTE: Auto-register all generated routes
     *
     * This finds all .ts files in the routes/ folder
     * and registers them with Fastify
     *
     * Each file exports a function like:
     * export default async function productRoutes(fastify) { ... }
     */
    private registerRoutes;
    /**
     * TEACHING NOTE: Create Prisma plugin
     * This creates a simple plugin that:
     * 1. Creates Prisma client instance
     * 2. Makes it available globally as "prisma"
     * 3. Handles cleanup on server shutdown
     */
    private createPrismaPlugin;
}
//# sourceMappingURL=serve.d.ts.map