import { Command } from '@oclif/core';
/**
 * TEACHING NOTE: This is an oclif Command class
 * - oclif automatically finds commands in src/commands/
 * - Each command extends Command base class
 * - Static properties define metadata (description, flags)
 * - run() method contains the actual logic
 */
export default class Init extends Command {
    static description: string;
    static examples: string[];
    static flags: {
        'skip-prompts': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
    };
    /**
     * Main command logic - runs when user types "databridge init"
     */
    run(): Promise<void>;
    /**
     * TEACHING NOTE: inquirer is a library for interactive CLI prompts
     * It shows questions and collects answers from the user
     */
    private promptUser;
    /**
     * TEACHING NOTE: fs-extra is like fs (Node's file system) but with extra features
     * - ensureDir: Creates directory if it doesn't exist (no error if exists)
     * - writeJSON: Writes JavaScript object as formatted JSON file
     */
    private createConfig;
    /**
     * Create package.json with required dependencies
     * This ensures the project has all needed packages with correct versions
     */
    private createPackageJson;
    /**
     * TEACHING NOTE: This creates the initial Prisma schema file
     * Prisma is an ORM (Object-Relational Mapping) tool
     * schema.prisma defines your database structure
     */
    private initPrismaSchema;
    /**
     * TEACHING NOTE: Generates a random secret for JWT tokens
     * - crypto is Node's built-in cryptography module
     * - randomBytes(32) generates 32 random bytes
     * - toString('hex') converts to hexadecimal string
     */
    private generateSecret;
    /**
     * Copy bundled dependencies from CLI package to project
     * This provides Prisma and other dependencies without npm install
     */
    private copyBundledDependencies;
}
//# sourceMappingURL=init.d.ts.map