"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.fmt = exports.Formatter = void 0;
const chalk_1 = __importDefault(require("chalk"));
class Formatter {
    success(message) {
        console.log(chalk_1.default.green(message));
    }
    error(message) {
        console.log(chalk_1.default.red(message));
    }
    warning(message) {
        console.log(chalk_1.default.yellow(message));
    }
    info(message) {
        console.log(chalk_1.default.white(message));
    }
    log(message) {
        console.log(chalk_1.default.gray(message));
    }
    // Icon helpers for explicit use
    checkmark() {
        return chalk_1.default.green('✓');
    }
    cross() {
        return chalk_1.default.red('✖');
    }
    warningIcon() {
        return chalk_1.default.yellow('⚠');
    }
    infoIcon() {
        return chalk_1.default.blue('ℹ');
    }
    section(title) {
        console.log();
        console.log(chalk_1.default.bold.blue(`${'═'.repeat(50)}`));
        console.log(chalk_1.default.bold.blue(`  ${title}`));
        console.log(chalk_1.default.bold.blue(`${'═'.repeat(50)}`));
        console.log();
    }
    step(stepNumber, title) {
        console.log();
        console.log(chalk_1.default.bold.blue(`┌─ Step ${stepNumber}: `) + chalk_1.default.bold.white(title));
    }
    stepComplete(message) {
        if (message) {
            console.log(chalk_1.default.green(`└─ ✓ ${message}`));
        }
        else {
            console.log(chalk_1.default.green(`└─ ✓ Complete`));
        }
    }
    highlight(text) {
        return chalk_1.default.bold.blue(text);
    }
    dim(text) {
        return chalk_1.default.dim(text);
    }
    bold(text) {
        return chalk_1.default.bold(text);
    }
    accent(text) {
        return chalk_1.default.hex('#FF6B6B')(text); // Codeforces red accent
    }
    primary(text) {
        return chalk_1.default.hex('#1E88E5')(text); // Codeforces blue
    }
    successBox(message) {
        console.log();
        console.log(chalk_1.default.bold.green('  ╔═══════════════════════════════════════════════╗'));
        console.log(chalk_1.default.bold.green(`    🎉  ${message.padEnd(41)}  `));
        console.log(chalk_1.default.bold.green('  ╚═══════════════════════════════════════════════╝'));
        console.log();
    }
    errorBox(message) {
        console.log();
        console.log(chalk_1.default.bold.red('  ╔═══════════════════════════════════════════╗'));
        console.log(chalk_1.default.bold.red(`   ❌  ${message.padEnd(35)}  `));
        console.log(chalk_1.default.bold.red('  ╚═══════════════════════════════════════════╝'));
        console.log();
    }
}
exports.Formatter = Formatter;
exports.fmt = new Formatter();
//# sourceMappingURL=logger.js.map